首页 > 其他分享 >『模拟赛』NOIP2024加赛6

『模拟赛』NOIP2024加赛6

时间:2024-11-18 21:30:11浏览次数:1  
标签:ch int ll qr NOIP2024 加赛 mod 模拟 fo

Rank

大奋场,T3 没切有点菜

image

A. 草莓

和前天多校 T3 很像,所以一眼鉴定为贪心,从大到小选比从小到大选一眼优,代价一样时横竖无所谓先后,然后 sort 一遍就做完了,复杂度 \((n+m)\log(n+m)\)。10min 切的。

点击查看代码
#include<bits/stdc++.h>
#define fo(x,y,z) for(register int (x) = (y);(x)<=(z);(x)++)
#define fu(x,y,z) for(register int (x) = (y);(x)>=(z);(x)--)
using namespace std;
typedef long long ll;
#define lx ll
inline lx qr()
{
	char ch = getchar();lx x = 0 , f = 1;
	for(;ch<'0'||ch>'9';ch = getchar()) if(ch == '-') f = -1;
	for(;ch>= '0' && ch<= '9';ch = getchar()) x = (x<<3) + (x<<1) + (ch^48);
	return x*f;
}
#undef lx
#define qr qr()
#define fi first
#define se second
#define P_B(x) push_back(x)
#define pii pair<int , int>
const int Ratio = 0;
const int N = 2e5 + 5;
int n, m;
pii a[N << 1];
ll ans;
namespace Wisadel
{
    short main()
    {
        freopen("guiltiness.in", "r", stdin) , freopen("guiltiness.out", "w", stdout);
        n = qr, m = qr;
        int tot = n + m - 2;
        fo(i, 1, n - 1) a[i].fi = qr, a[i].se = 1;
        fo(i, 1, m - 1) a[n - 1 + i].fi = qr, a[n + i].se = 2;
        sort(a + 1, a + 1 + tot, [](pii A, pii B){return A.fi > B.fi;});
        int timn = 0, timm = 0;
        fo(i, 1, tot)
        {
            int zc = (a[i].se == 1 ? timm : timn) + 1;
            ans += 1ll * a[i].fi * zc;
            a[i].se == 1 ? timn++ : timm++;
        }
        printf("%lld\n", ans);
        return Ratio;
    }
}
signed main(){return Wisadel::main();}

为什么强调 10min 切的

标签:ch,int,ll,qr,NOIP2024,加赛,mod,模拟,fo
From: https://www.cnblogs.com/Ratio-Yinyue1007/p/18553723

相关文章

  • NOIP2024加赛6
    NOIP2024加赛6\(T1\)P323.草莓\(60pts\)部分分\(60pts\)先将\(\{x\},\{y\}\)降序排序,状态转移方程为\(f_{i,j}=\min(f_{i-1,j}+x_{i}(j+1),f_{i,j-1}+y_{j}(i+1))\),边界为\(f_{0,0}=0\),最终有\(f_{n-1,m-1}\)即为所求。若费用提前计算则需要将\(\{x\}......
  • q模拟入门 ARC139F Solution
    等价于\(F_{2}^m\)里选出\(n\)个向量,求每种选择方案之和枚举线性基大小\(k\),设其主元是\(a_1\sima_k\),等价于让\(n\)个向量张成\(k\)维空间,也等价于\(n\)维空间选出\(k\)个向量彼此线性无关,方案数:\[\prod_{i=0}^{k-1}({2^n-2^i})\]线性基最大异或和期望:主元必选......
  • 241118 noip 数数模拟赛
    省流:\(100+100+100+10\)。四道数数太好玩了。绿蓝紫黑。T1题意:如下是一个不完全正确的归并排序算法代码。//此函数表示将S[1,mid],S[mid+1,r]两个有序序列合并成为一个大的有序序列S[l,r],如果原序列无序则合并后的序列也无序voidmerge_arr(intl,intmid,intr){......
  • [2024.11.18]NOIP2024模拟赛#23
    赛时T1题面实在太奇怪,结合样例看了好久才看懂。看懂以后发现应该就是简单神秘结论题。简单写了一会就过了样例,发现没给大样例,就扔了。T2第一眼感觉还是结论题,但是如果发现每个点能保证只覆盖一次的话就能做到\(\mathcal{O}(nm)\)。然后开始写,写完不过样例,发现题目让先输入......
  • [赛记] 多校A层冲刺NOIP2024模拟赛23
    字符串构造机100pts原题,见[赛记]多校A层冲刺NOIP2024模拟赛01【衡中】T1;忍者小队60pts赛时最后想出来个$\Theta(n^2\logn)$的DP,所以60pts;对于这个DP,直接用map维护一下所有lcm的状态转移即可;点击查看代码#include<iostream>#include<cstdio>#include<vect......
  • NOIP 模拟赛:2024-11-16
    全体栽在T1?T1:二分一下内存大小然后模拟判断。关键点在于意识到"解码"和"播放"这两种事件是分开的。用一个while循环,每次循环从"完成某帧的解码"、"开始某帧的解码"、"播放某帧"、"删除某帧"之间选时间最早的时间执行。T2:板题,并查集额外记录个vector然后启发式合......
  • 寻找最优解的算法-模拟退火算法(Simulated Annealing)
    模拟退火算法(SimulatedAnnealing,简称SA)是一种基于物理退火过程的优化算法。它灵感来源于金属退火过程中的分子运动——在高温下,金属分子的自由度很高,随着温度的逐渐降低,分子排列逐渐有序,最终达到最低能量状态。退火算法通过模拟这一过程,解决复杂的优化问题。在现实生活中......
  • noip模拟15
    A暴力操作(opt)B异或连通(xor)C诡异键盘(keyboard)D民主投票(election)这道题很简单。。。首先,对于一个节点\(u\),如果\(siz[u]-1\)大于了其他所有节点能得到的最大值,那么它一定能胜利。那考虑怎么找到一个值,满足所有节点能得到的最大值最小?用二分答案即可。对于一次......
  • [考试记录] 2024.11.16 noip模拟赛14
    T1字符串构造机考虑将一个LCP条件拆分成两个,一个是相等的部分,使用并查集维护,另一个是不等的部分,两个串末尾的字符一定不相等,随便那啥维护。对于非法情况就是在同一个相等联通块内有不相等的条件。然后考虑从前往后贪心即可。#include<bits/stdc++.h>usingnamespacestd;#d......
  • NOIP 模拟赛总结
    NOIP模拟赛总结DAY5T1:二分答案,贪心T2:二分答案,猜结论,单调栈T3:阶,分治T4:set,线段树,找性质(颜色段均摊总分:70总结:郑楠则反。DP优化经典套路不能忘。注意子任务的提示DAY6T1:暴力T2:乱搞,爆搜T3:分治,(亿点点)化式子T4:曼哈顿转切比雪夫,二分答案,KDtree(最近点),可持久化线段树(二维数......