[39] (多校联训) A层冲刺NOIP2024模拟赛01
1.Codeforces Round 955 (Div. 2)2.AtCoder Beginner Contest 3633.AtCoder Regular Contest 182(A B C)4.暑假集训CSP提高模拟15.暑假集训CSP提高模拟26.暑假集训CSP提高模拟77.暑假集训CSP提高模拟58.暑假集训 加赛19.暑假集训CSP提高模拟410.暑假集训CSP提高模拟1811.暑假集训CSP提高模拟1712.暑假集训CSP提高模拟 1613.暑假集训CSP提高模拟 ∫[0,6] (x^2)/6 dx14.暑假集训CSP提高模拟1115.暑假集训SCP提高模拟1016.暑假集训PVZ提高模拟917.暑假集训CSP提高模拟818.暑集假训SCP提高拟模2119.[CL-FOOL] CLOI 愚人赛的部分官方题解与小杂谈20.トヨタ自動車プログラミングコンテスト2024#7(ABC 362)21.寒假集训测试2 题目转存22.HEOI2024 题目转存23.高一小学期224.张江蔡25.高一高考集训总结赛26.高一下二调题目转存27.CSP提高组模拟128.Atcoder Beginner Contest 36729.[R18][中国語翻訳]HDKのABC370赛試(ABC370)30.[30] CSP 加赛 131.[33](CSP 集训)CSP-S 模拟 432.[34](CSP 集训)CSP-S 联训模拟 133.[35] (CSP 集训) CSP-S 模拟 534.[36](CSP 集训)CSP-S 模拟 635.AtCoder Beginner Contest 37336.[37](CSP 集训)CSP-S 模拟 7
37.[39] (多校联训) A层冲刺NOIP2024模拟赛01
38.[40](CSP 集训)CSP 联训模拟 239.[42] (多校联训) A层冲刺NOIP2024模拟赛0340.[41] (CSP 集训) CSP-S 模拟 941.[44] (多校联训) A层冲刺NOIP2024模拟赛0442.[45] (多校联训) A层冲刺NOIP2024模拟赛0543.[46] (多校联训) A层冲刺NOIP2024模拟赛0644.パナソニックグループ プログラミングコンテスト2024(ABC 375)45.[47] (CSP 集训) CSP-S 模拟 1146.[49 & 50] (多校联训) A层冲刺NOIP2024模拟赛08 | CSP-S 模拟 1247.[51] (多校联训) A层冲刺NOIP2024模拟赛0948.Atcoder Beginner Contest 37649.Codeforces Round 980 (Div. 2)50.[54] (多校联训) A层冲刺NOIP2024模拟赛1251.[57] (多校联训) A层冲刺NOIP2024模拟赛1552.[61] (多校联训) A层冲刺NOIP2024模拟赛1853.[62] (NOIP 集训) NOIP2024加赛 254.[63] (多校联训) A层冲刺NOIP2024模拟赛1955.[68] (炼石计划) NOIP 模拟赛 #2056.[68] (NOIP集训) NOIP2024 加赛 557.[72] (多校联训) A层冲刺NOIP2024模拟赛2558.[73] (NOIP集训) NOIP2024 加赛 759.[75] (NOIP集训) NOIP2024 加赛 8你们不感觉最近机房网越来越慢了吗,现在下个 10M 的东西要用三分钟,而且期间访问不了网站
整个机房分 1000Mbps 的带宽为啥只能分这么一点, huge 拿我电脑挖矿了?
本来以为多校就是多校的,结果是真的多校,一百一十多个人在一块考
huge: 参加的都是咱们北方这几个强校
你说得对,但是广东为啥是北方
A.构造字符串
维护并查集,同一个连通块内的数字应该相同
对于一个要求
其次来看不合法的,不合法的就是一定不能相等的,显然应该是每组询问中的
那么我们可以贪心地做这道题,每次遇到没填的数就考虑填入最小的数,然后把相同连通块内的数都填成一样的数
需要注意你填的时候需要保证能够满足所有的限制条件,比如现在有三个数,
#include<bits/stdc++.h>
using namespace std;
int n,m,cnt;
struct ques{
int x,y;
}q[1001];
int a[1001];
struct dsu{
int fa[1001];
void clear(int n){
for(int i=1;i<=n;++i){
fa[i]=i;
}
}
int find(int id){
if(id==fa[id]) return id;
return fa[id]=find(fa[id]);
}
void join(int x,int y){
int fx=find(x),fy=find(y);
if(fx!=fy){
fa[max(fx,fy)]=min(fx,fy);
}
}
inline int operator [](int id){
return find(id);
}
}d;
bool vis[1001],ban[1001][1001];
int main(){
freopen("str.in","r",stdin);
freopen("str.out","w",stdout);
scanf("%d %d",&n,&m);
d.clear(n);
while(m--){
int x,y,z;
scanf("%d %d %d",&x,&y,&z);
for(int i=1;i<=z;++i){
d.join(x+i-1,y+i-1);
}
if(x+z!=n+1 or y+z!=n+1){
q[++cnt]={x+z,y+z};
}
}
for(int i=1;i<=n;++i){
if(vis[d[i]]){
continue;
}
vis[d[i]]=1;
for(int j=0;j<=n;++j){
if(!ban[d[i]][j]){
a[d[i]]=j;
break;
}
}
for(int j=1;j<=cnt;++j){
int f1=d[q[j].x],f2=d[q[j].y];
if(f1==f2){
cout<<-1<<"\n";
return 0;
}
if(min(f1,f2)==d[i]){
ban[max(f1,f2)][a[min(f1,f2)]]=true;
}
}
for(int j=i+1;j<=n;++j){
if(d[j]==d[i]){
a[j]=a[d[i]];
}
}
}
for(int i=1;i<=n;++i){
cout<<a[i]<<" ";
}
cout<<"\n";
}
B.寻宝
本场最送
连通性问题,注意到
然后处理传送门,相当于在连通块之间联有向边
判断联通的时候直接跑 DFS 即可,由于边很少,单次查询最高只有
发现只给了
#include<bits/stdc++.h>
using namespace std;
int n,m,k,q;
vector<vector<int>>mp;
struct door{
int x1,x2,y1,y2;
}de[101];
int cnt=0;
struct node{
int x,y;
};
queue<node>p;
bool vis[50001];
void bfs(int x,int y,int loc){
while(!p.empty()) p.pop();
p.push({x,y});
while(!p.empty()){
node u=p.front();p.pop();
if(mp[u.x][u.y]!=0) continue;
mp[u.x][u.y]=loc;
if(u.x<n) p.push({u.x+1,u.y});
if(u.x>1) p.push({u.x-1,u.y});
if(u.y<m) p.push({u.x,u.y+1});
if(u.y>1) p.push({u.x,u.y-1});
}
}
vector<int>e[50001];
bool judge(int x,int tar){
if(x==tar) return true;
vis[x]=true;
for(int i:e[x]){
if(!vis[i] and judge(i,tar)) return true;
}
return false;
}
int main(){
// freopen("treasure/treasure4.in","r",stdin);
// freopen("out.out","w",stdout);
freopen("treasure.in","r",stdin);
freopen("treasure.out","w",stdout);
scanf("%d %d %d %d",&n,&m,&k,&q);
mp.resize(n+1);
for(int i=1;i<=n;++i){
mp[i].resize(m+1);
}
for(int i=1;i<=n;++i){
string s;
cin>>s;
for(int j=0;j<=m-1;++j){
mp[i][j+1]=(s[j]=='.'?0:-1);
}
}
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
if(mp[i][j]==0){
bfs(i,j,++cnt);
}
}
}
// for(int i=1;i<=n;++i){
// for(int j=1;j<=m;++j){
// cout<<mp[i][j]<<" ";
// }
// cout<<endl;
// }
for(int i=1;i<=k;++i){
scanf("%d %d %d %d",&de[i].x1,&de[i].y1,&de[i].x2,&de[i].y2);
if(mp[de[i].x1][de[i].y1]!=mp[de[i].x2][de[i].y2]){
e[mp[de[i].x1][de[i].y1]].push_back(mp[de[i].x2][de[i].y2]);
}
}
while(q--){
int a,b,c,d;
scanf("%d %d %d %d",&a,&b,&c,&d);
for(int i=1;i<=cnt;++i) vis[i]&=0;
putchar(judge(mp[a][b],mp[c][d])+'0');putchar('\n');
}
}
/*
4 4 2 1
.#..
##..
#...
...#
1 1 1 3
4 1 4 2
4 1 3 2
*/
C.序列
设计
对每次询问转移,转移方程
从后向前转移,统计答案从
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
struct yuanshen{
int a,b;
}y[1000001];
int f[1000002];
signed main(){
// freopen("seq/seq3.in","r",stdin);
// freopen("out.out","w",stdout);
freopen("seq.in","r",stdin);
freopen("seq.out","w",stdout);
scanf("%lld %lld",&n,&m);
for(int i=1;i<=n;++i){
scanf("%lld %lld",&y[i].a,&y[i].b);
}
while(m--){
int p,k;scanf("%lld %lld",&p,&k);
for(int i=1;i<=n;++i) f[i]&=0;
for(int i=n;i>=p;--i){
f[i]=max({y[i].a-k*y[i].b,f[i+1]+y[i].a-k*y[i].b});
}
int ans=f[p];
for(int i=p-1;i>=1;--i){
f[i]=f[i+1]+y[i].a-k*y[i].b;
ans=max(f[i],ans);
}
cout<<ans<<'\n';
}
}
E.我要挂一道题
做之前:若智,这有啥意义
做之后:若智
若智,谁放的
我最爱去的唱片店 //在看到这句话之前 我一直以为是 我最爱吃的炒面片
昨天是她的最后一天
曾经让我陶醉的碎片
全都散落在街边
我最爱去的书店 //我最爱吃的薯片
她也没撑过这个夏天 //码的还以为这是啥美食歌
回忆文字流淌着怀念
可是已没什么好怀念
可是你曾经的那些梦
都已变得模糊看不见
那些为了理想的战斗
也不过为了钱
可是我最恨的那个人
他始终没死在我面前 //迷惑句子
还没年轻就变得苍老
这一生无解
没有我的空间
没有我的空间
没有我的空间
没有我的空间
你曾热爱的那个人
这一生也不会再见面
你等在这文化的废墟上
已没人觉得你狂野
那些让人敬仰的神殿
只在无知的人心中灵验
我住在属于我的猪圈 //?
这一夜无眠
我不要在失败孤独中死去
我不要一直活在地下里
物质的骗局 //有这句?
匆匆的蚂蚁
没有文化的人不伤心
我不要在失败孤独中死去
我不要一直活在地下里
物质的骗局
匆匆的蚂蚁
没有文化的人不伤心
他不伤心
我最爱去的唱片店
昨天是她的最后一天
曾经让我陶醉的碎片
全都散落在街边
我最爱去的书店
她也没撑过这个夏天
回忆文字流淌着怀念
已不能怀念
我不要在失败孤独中死去
我不要一直活在地下里
物质的骗局
匆匆的蚂蚁
没有文化的人不伤心
我不要在失败孤独中死去
我不要一直活在地下里
物质的骗局
匆匆的蚂蚁
没有文化的人不伤心
他不伤心
我不要在失败孤独中死去
我不要一直活在地下里
物质的骗局
匆匆的蚂蚁
没有文化的人不伤心
我不要在失败孤独中死去
我不要一直活在地下里
物质的骗局
匆匆的蚂蚁
没有文化的人不伤心
他不会伤心
他也会伤心
伤心
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!