- 问答
【FAQ】问答&讨论贴
- 2024-8-29 16:06:46 @
不允许学生创建新讨论了,后面大家可以在这里讨论相关内容。会定期清理。
删了一些同学们自己举办的比赛的帖子。
我建议你们可以私聊参赛。讨论区太乱了,有些提问我看不到了已经。
更重要的是,还是先好好学算法吧各位同学,当你拿了提高组 分,再考虑自己举办一些简单的比赛。
语法场的初心还是为了学生们巩固基础语法,高水平选手可以选择参加入门语法场和入门提高场 目前也没看见能打的 (参考新春马拉松赛成绩)
感觉不过瘾还可以打atcoder和codeforces
448 条评论
-
wuyuhang2012 阿玩MC LV 8 (3891/13891) @ 2025-4-24 21:45:51
卖题解决了吗
-
2025-4-24 14:38:44@
P2661 [NOIP 2015 提高组] 信息传递
题目背景
NOIP2015 Day1T2
题目描述
有 个同学(编号为 到 )正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 的同学的信息传递对象是编号为 的同学。
游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生日时,游戏结束。请问该游戏一共可以进行几轮?
输入格式
输入共 行。
第一行包含 个正整数 ,表示 个人。
第二行包含 个用空格隔开的正整数 ,其中第 个整数 表示编号为 的同学的信息传递对象是编号为 的同学, 且 。
输出格式
共一行一个整数,表示游戏一共可以进行多少轮。
输入输出样例 #1
输入 #1
5 2 4 2 3 1
输出 #1
3
说明/提示
样例 1 解释:
游戏的流程如图所示。当进行完第 轮游戏后, 号玩家会听到 号玩家告诉他自己的生日,所以答案为 。当然,第 轮游戏后, 号玩家、 号玩家都能从自己的消息来源得知自己的生日,同样符合游戏结束的条件。
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据,。
-
2025-4-22 17:40:00@
为啥大家都RP--了(还减的不少)
-
2025-4-21 19:11:00@
最近遇到了个挺无语的事情,就是有人在某鱼出售我们免费开源的数据。正在思考后续如何处理,周赛数据暂停更新。
这是真的吗
-
2025-4-21 15:04:39@
我因为代码输入少了一个数组
然后调了一个小时!!!!
QAQ
-
2025-4-20 11:26:15@
吸特乐吸尘器与阿道夫洗发水、发洗湿洗衣液、那脆饼干合作
-
2025-4-20 9:12:20@
这次好多人ak了
-
2025-4-19 20:13:32@
atcoder小小黑板banhttps://www.luogu.com.cn/paste/wzbwnzpx
-
2025-4-18 22:23:21@
如果重生都不能使你AK IOI,那么就输出 "cai jiu duo lian"
-
2025-4-18 22:13:25@
-
2025-4-18 19:30:53@
首页的“某鱼”是什么
-
2025-4-17 16:49:18@
下一秒……
……ChatGPT打脸了……
-
2025-4-17 16:40:22@
#include<bits/stdc++.h> #define int long long using namespace std; int n,m,ans=0; bool flag=true; int a[200010],b[200010]; inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();} return x*f; } signed main(){ n=read(),m=read(); for(int i=1;i<=n;i++){ a[i]=read(); } sort(a+1,a+n+1); for(int i=1;i<=m;i++){ b[i]=read(); } sort(b+1,b+m+1); int j=1; for(int i=1;i<=m;i++){ for(;j<=n;j++){ if(a[j]>=b[i]){ ans+=a[j]; flag=false; break; } } if(j>n){ cout<<"-1"; return 0; } } cout<<ans; return 0; }
求调
-
2025-4-15 17:06:33@
???
-
2025-4-14 20:21:11@
@33DAI ABC233F #include<bits/stdc++.h> using namespace std; int n; int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>n; for(int i=1;i<=n;++i){ cout<<i<<" "; } } 0 Wrong Answer 怎么回事?????
-
2025-4-13 18:10:11@
-
2025-4-13 14:50:36@
@TooY0ung语法周赛第四题有第0秒吗
-
2025-4-12 21:29:38@
#include<bits/stdc++.h> #define int long long using namespace std; int n,dp[310][310],a[310]; signed main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i==j){ dp[i][j]=a[i]; } else{ dp[i][j]=0; } } } for(int len=2;len<=n;len++){ for(int i=1;i+len-1<=n;i++){ int j=i+len-1; for(int k=i;k<j;k++){ if(dp[i][k]==dp[k+1][j]){ dp[i][j]=max(dp[i][j],dp[k+1][j]+1); } dp[i][j]=max(dp[i][j],max(dp[i][k],dp[k+1][j])); } } } int ans=-1e9; for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ ans=max(dp[i][j],ans); } } cout<<ans; return 0; }
求调
-
2025-4-12 16:18:34@
你们好,我是透明人
-
2025-4-12 16:01:41@
有没有人抽哪吒卡抽到CR的?
-
2025-4-12 13:21:38@
,哈哈哈
-
2025-4-12 11:30:27@
哈佛大学(哈尔滨佛学院) 周赛太6了
-
2025-4-11 19:43:30@
我发现现在里面现在的时间限制也太疯狂了
我就因为,在上提交只能得分!!!
啊!!
-
2025-4-11 19:24:17@
有原题!?
-
2025-4-11 10:25:51@
挖土机也能用呀,能不能把主页开放
-
2025-4-10 21:48:54@
唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉, WOTOJO崩了
-
2025-4-10 21:47:40@
挖土机网又崩了~~(可以卡出SE哦!)~~
-
2025-4-8 20:18:37@
西西老师怎么被封了
-
2025-4-6 21:07:09@
-
2025-4-6 12:48:15@
网又崩了??
-
2025-4-4 15:07:40@
马的便利 80QAQ
#include <bits/stdc++.h> using namespace std; int n,m,x,y,fx,fy,dist[405][405],dx[8]={-1,-2,-2,-1,1,2,2,1},dy[8]={-2,-1,1,2,2,1,-1,-2}; queue<int>qx,qy; int main(){ memset(dist,-1,sizeof(dist)); cin>>n>>m>>x>>y; qx.push(x); qy.push(y); dist[x][y]=0; while(qx.size()){ x=qx.front(); y=qy.front(); qx.pop(); qy.pop(); for(int i=0;i<8;i++){ fx=x+dx[i]; fy=y+dy[i]; if(fx<1 || fx>n || fy<1 || fy>m) continue; if(dist[fx][fy]==-1){ dist[fx][fy]=dist[x][y]+1; qx.push(fx); qy.push(fy); } } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<dist[i][j]<<setw(5); } cout<<"\n"; } return 0; }
-
2025-4-4 11:59:26@
罚时是一个麻蛋。我好好的200被罚成147了。
-
2025-4-3 15:12:33@
#include<bits/stdc++.h> using namespace std; int n; string st,ed; map<string,int>mp; struct intt{ string s; int step; }; queue<intt>q; int main(){ cin>>n; cin>>st>>ed; st+="**"; ed+="**"; q.push({st,0}); mp[st]=1;//初始st为1 while(q.empty()==0){//队列不为空就继续干 intt now=q.front();//一个一个处理 q.pop();//取出来了就没用了 if(now.s==ed){//当前状态为目标状态 cout<<now.step; return 0; } int flag; for(int i=0;i<n+2;i++){//寻找目标符号,为分别i,i+1 if(now.s[i]=='*'){ flag=i; break; } } for(int i=0;i<n+1;i++){ if(now.s[i]!='*'&&now.s[i+1]!='*'){//看看他是否可不可以和**交换 intt next=now;//交换**和now next.s[i]='*'; next.s[i+1]='*'; next.s[flag]=now.s[i]; next.s[flag+1]=now.s[i+1]; if(mp[next.s]==0){//标记步数+入队 next.step+=1; mp[next.s]=next.step; q.push(next); } } } } cout<<"-1";//实在找不到了 return 0; }
为什么我把*换成¥就成42分了
-
2025-3-30 19:04:27@
啊?
-
2025-3-30 10:16:25@
哈哈
-
2025-3-30 10:15:20@
#include <bits/stdc++.h> using namespace std; int h[305],l=1,r,n; long long c; bool cmp(int a,int b) { return a<b; } int main() { cin >>n; r=n; for(int i=1;i<=n;i++) { cin >>h[i]; } sort(h+1,h+n+1,cmp); int flag=1,last=0; for(int i=1;i<=n;i++) {
if(flag==1) { c+=(last-h[r])*(last-h[r]); last=h[r]; r--; }else{ c+=(last-h[l])*(last-h[l]); last=h[l]; l++; } if(r<l) break; flag=!flag; } cout<<c;
}
-
2025-3-29 21:25:00@
史上第一人
-
2025-3-29 15:03:31@
能不能再便宜一点?
-
2025-3-28 23:39:00@
老师可不可以加一些获取硬币的途径,商城的东西太贵了
-
2025-3-28 21:13:32@
绷不住了
-
2025-3-28 21:07:54@
刚刚断网了,晚上参赛的学生比赛时间延长了一小时
-
2025-3-28 21:05:38@
时间错了吧
-
2025-3-28 20:37:32@
太搞人心态了 QAQ
-
2025-3-27 21:43:38@
codeforces好像坏了,进不去了