MX2026-S模拟2——原题机老师,我还记得你
\(\color{red}\Large[WARNING]阅读此文档前,请确认您阅读了以下信息:\)
非常好数据,使我骗分旋转
我看第三题出数据的人胆子真是肥嘟嘟的
原题机老师,我还记得你,一道一道,新题指向洛谷里
不是怎么老放原啊!
————某学生
\(\color{red}\Large警告!本文档存在的物品包括但不限于:暴力输出,乱造数据,原题泛滥\)
正文:
T1:
首先挂上洛谷链接:https://www.luogu.com.cn/problem/P14126
看到题目,第一眼以为是枚举宝宝题,写了个暴力,结果可想而知,然后开始思考性质:
不难发现,蚂蚁相撞时,由于速度不变,所以即使调头也只会对编号造成影响,而答案和编号没有关系,于是可以把所有蚂蚁理解成棍木,让他们互相穿过。
然后由于处理过的蚂蚁一直在做匀速直线运动,所以每 \(2\times 10^9+1\) 秒它们就又会回到自己一开始的位置上,而此时两边的围栏都被造成了 \(n\) 点伤害,那我们只需要计算最后一轮就行了。
AC code
#define int ll
cst int len=1e9+1;
int n,a,b,x[10000000],y[10000000],m,ans;
prio_q<pll,vector<pll>,greater<pll> >pq;
signed main(){
fastrd
//struct _timeb T;
//_ftime(&T);
//srand(T.millitm);
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>x[i];
}
for(int i=1;i<=n;i++){
cin>>y[i];
if(y[i]==0){
pq.push({x[i],y[i]});
}else{
pq.push({len-x[i],y[i]});
}
}
int v=min(a/n,b/n);
ans=len*2ll*v;
a-=v*n;
b-=v*n;
while(!pq.empty()){
int c=pq.top().f,d=pq.top().s;
pq.pop();
m=c;
if(d==0){
a--;
if(a>=0){
pq.push({c+len,1-d});
}
}else{
b--;
if(b>=0){
pq.push({c+len,1-d});
}
}
}
cout<<ans+m;
}
T2:
挂上洛谷链接:https://www.luogu.com.cn/problem/P14121
不难想到,我们可以从 \(1\) 开始,每次都从 \(i\) 走向 \(i+1\),有边就走,没边且自己还有没遍历到的孩子就加边,如果自己孩子都遍历完了但是还是没有 \(i+1\),就回到上一个有孩子没遍历的点继续重复上面操作。
哦对了刚开始存储的时候记得排序子节点,不然会导致顺序紊乱。
AC code
vector<int>g[1000000];
int n,m;
int ans,s;
void dfs(int u){
for(auto i:g[u]){
if(i<s){
continue;
}else{
while(i>=s){
if(i==s){
s++;
dfs(s-1);
}else{
ans++;
s++;
dfs(s-1);
}
}
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
while(t--){
for(int i=1;i<=n;i++){
g[i].clear();
}
cin>>n>>m;
ans=0,s=2;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
g[u].pb(v);
g[v].pb(u);
}
g[1].pb(n+1);
for(int i=1;i<=n;i++){
sort(g[i].begin(),g[i].end());
}
dfs(1);
cout<<ans<<endl;
}
}
T3:
依旧是喜闻乐见的洛谷环节:https://www.luogu.com.cn/problem/CF1788E
!?赢大赢?!
22pts:
cout<<n;
100pts:
答案其实就是让你选出一些连续的区间,满足每个选出的区间的数的和都是非负的,求选出区间的最大长度总和。考虑维护前缀和以及每个位置前缀和的最优长度,然后进行 dp,但是时间复杂度是 \(O(N^2)\),原地爆炸,所以考虑用数据结构优化,我们考虑把 dp 对应的值存到值域而不是下标里,那就可以用线段树优化,时间复杂度 \(O(N \log N)\)。
点击查看代码
不会写:(
T4:
洛谷链接:https://www.luogu.com.cn/problem/CF722F
完全不会写.jpg

浙公网安备 33010602011771号