不允许学生创建新讨论了,后面大家可以在这里讨论相关内容。会定期清理。

删了一些同学们自己举办的比赛的帖子。

我建议你们可以私聊参赛。讨论区太乱了,有些提问我看不到了已经。

更重要的是,还是先好好学算法吧各位同学,当你拿了提高组 200200 分,再考虑自己举办一些简单的比赛。

语法场的初心还是为了学生们巩固基础语法,高水平选手可以选择参加入门语法场和入门提高场 目前也没看见能打的 (参考新春马拉松赛成绩)

感觉不过瘾还可以打atcoder和codeforces

448 条评论

  • @ 2025-4-24 21:45:51

    卖题解决了吗

  • @ 2025-4-24 14:38:44

    P2661 [NOIP 2015 提高组] 信息传递

    题目背景

    NOIP2015 Day1T2

    题目描述

    nn 个同学(编号为 11nn)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 ii 的同学的信息传递对象是编号为 TiT_i 的同学。

    游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生日时,游戏结束。请问该游戏一共可以进行几轮?

    输入格式

    输入共 22 行。

    第一行包含 11 个正整数 nn,表示 nn 个人。

    第二行包含 nn 个用空格隔开的正整数 T1,T2,,TnT_1,T_2,\cdots,T_n,其中第 ii 个整数 TiT_i 表示编号为 ii 的同学的信息传递对象是编号为 TiT_i 的同学,TinT_i\leq nTiiT_i\neq i

    输出格式

    共一行一个整数,表示游戏一共可以进行多少轮。

    输入输出样例 #1

    输入 #1

    5
    2 4 2 3 1
    

    输出 #1

    3
    

    说明/提示

    样例 1 解释:

    游戏的流程如图所示。当进行完第 33 轮游戏后,44 号玩家会听到 22 号玩家告诉他自己的生日,所以答案为 33。当然,第 33 轮游戏后,22 号玩家、 33 号玩家都能从自己的消息来源得知自己的生日,同样符合游戏结束的条件。

    • 对于 30%30\% 的数据,n200n\le 200
    • 对于 60%60\% 的数据,n2500n\le 2500
    • 对于 100%100\% 的数据,n2×105n\le 2\times 10^5
    • @ 2025-4-23 18:30:23

      RP怎么算 @

    • @ 2025-4-22 17:40:00

      为啥大家都RP--了(还减的不少)

      • @ 2025-4-21 19:11:00

        最近遇到了个挺无语的事情,就是有人在某鱼出售我们免费开源的数据。正在思考后续如何处理,周赛数据暂停更新。

        这是真的吗

        • @ 2025-4-21 21:53:10

          @真的

      • @ 2025-4-21 15:04:39

        我因为代码输入少了一个数组

        然后调了一个小时!!!!

        QAQ

        • @ 2025-4-20 11:26:15

          吸特乐吸尘器与阿道夫洗发水、发洗湿洗衣液、那脆饼干合作

        • @ 2025-4-20 9:12:20

          这次好多人ak了

        • @ 2025-4-19 20:19:11

          @ R48R48有好多错别字,我看不下去了☹☹

        • @ 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-18 19:31:09

            闲鱼吗

          • @ 是的

          • @ 2025-4-18 19:51:09

            找到了:

          • @ 2025-4-18 19:51:37

            @ 这必须制裁

          • @ 2025-4-18 19:56:46

            @ 建议把版权协议挂在首页

          • @ 我的确是无语住了

          • @ 2025-4-18 21:31:38

            缺钱缺疯了

          • @ 这事违法吗?取决于你们的开源协议 如果你们的数据在发布时是:

            ✅ 明确采用开源协议(比如 MIT、CC-BY、GPL 等) 那就要看协议条款:

            MIT / Apache 2.0 / GPL 等代码类协议:通常允许商用,前提是保留授权声明。

            Creative Commons(如 CC-BY / CC0):

            CC-BY:允许商用,但需署名你。

            CC-BY-NC(Non Commercial):禁止商用,对方卖钱就是违规甚至违法。

            CC0:完全放弃权利,别人商用也合法。

            📌 如果你用了类似 CC-BY-NC,那对方将你们的数据打包卖钱就是违法的(侵权),你是有权投诉和维权的。

            ❓ 如果你们没有明确声明许可证 那问题就复杂了:

            默认情况下,“免费开放”≠“可以商用”。

            在没有授权的情况下擅自商用,可能构成侵权行为,但维权较难,需要你能证明版权归属和使用范围。 GPT的回答。

          • @ 2025-4-19 20:48:20

            @ 我要找到他单聊【数据删除】

          • @ 2025-4-19 20:56:14

            @ 把这件事出道下周周赛第一题

        • 下一秒…… ……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;
          }
          
          

          #ABC358D. Souvenirs

          求调

        • @ 2025-4-15 17:06:33

          ???

        • @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;
            }
            
            

            求调

            #P3146. [USACO16OPEN] 248 G

            • @ 2025-4-12 16:18:34

              你们好,我是透明人

              • 有没有人抽哪吒卡抽到CR的?

                • @ 2025-4-12 13:21:38

                  DeepSeekDeepSeek,哈哈哈

                • @ 2025-4-12 11:30:27

                  哈佛大学(哈尔滨佛学院) 周赛太6了

                  • @ 2025-4-11 19:43:30

                    我发现现在wotojowotojo里面现在的时间限制也太疯狂了 我就因为Atcoderwotojo=2s1sAtcoder\rightarrow wotojo=2s\rightarrow 1s,在wotojowotojo上提交只能得9696分!!!

                    啊!!

                  • @ 2025-4-11 19:24:17

                    有原题!?

                  • @ 2025-4-11 10:25:51

                    挖土机也能用呀,能不能把主页开放

                    • @ 2025-4-11 19:37:51

                      Ctrl+RCtrl+R什么情况

                    • @ 2025-4-11 23:55:10

                      @ 每看一回都会加一并变数字

                    • @ 2025-4-12 13:20:59

                      @ 怎么搞的

                    • @ 2025-4-12 18:09:17
                  • 唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉唉, WOTOJO崩了

                    • A0760 狐狸和蛇 weixianrong - - C++14(O2) 4 分钟前

                    • @ 2025-4-10 21:53:05

                      @ ???

                  • 挖土机网又崩了~~(可以卡出SE哦!)~~

                  • @ 2025-4-8 20:18:37

                    西西老师怎么被封了

                  • @ 2025-4-6 21:07:09

                  • @ 2025-4-6 12:48:15

                    网又崩了??

                  • @ 2025-4-6 10:01:11

                    @

                    第一题并列算吗

                  • @ 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-4 10:03:01

                        @

                        @

                        @

                        今天去线下打有哪些老师在吗?

                        (虽然很傻,但是还得问)

                      • @ 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-31 23:23:47

                            洛谷的at,cf远端测评似了,其他远端测评也很不稳定,四舍五入就是洛谷rmj全似了

                          • @ 2025-4-1 21:07:44

                            @ rmj早挂了

                          • @ 2025-4-1 22:38:52

                            @ 这两天at似了,cf的早挂了

                        • @ 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

                                colacokecola-coke能不能再便宜一点?

                                • @ 2025-3-29 15:10:13

                                  4.104.104.114.11要开运动会,给99个人分可乐,要55瓶,25002500硬币。。。

                                  25002500硬币!

                                  25002500硬币!

                                  25002500硬币!

                                  25002500硬币!

                                  25002500硬币!
                                  25002500硬币!
                              • @ 2025-3-28 23:39:00

                                老师可不可以加一些获取硬币的途径,商城的东西太贵了

                              • @ 2025-3-28 21:13:32

                                绷不住了

                              • 刚刚断网了,晚上参赛的学生比赛时间延长了一小时

                              • @ 2025-3-28 21:05:38

                                时间错了吧

                                • @ 2025-3-28 20:41:00

                                  wotojo崩了

                                • @ 2025-3-28 20:37:32

                                  太搞人心态了 QAQ

                                  • @ 2025-3-28 20:27:39

                                    @R46 T2样例2不对,应该是(2,1):3

                                  • @ 2025-3-27 21:43:38

                                    codeforces好像坏了,进不去了