最近的事情更无语了,某鱼上现在有三个人在卖数据了。周赛数据永久停止更新。

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

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

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

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

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

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

396 条评论

  • @ 2026-3-22 14:35:21

    • 证明我还活着

      • @ 2026-3-21 19:34:24

        ty

        • @ 2026-3-15 9:54:36

          怎么这么长时间没人发讨论呀

          • @ 2026-3-14 19:00:43

            老师是否可以发硬币???

            还有我们的

            • @

              P1868100WA求调

              #include<bits/stdc++.h>
              #define ll long long
              using namespace std;
              int n,x,y,dp[3000010];
              int l;
              vector<int>p[3000010];
              int main(){
              	ios::sync_with_stdio(false);
              	cin.tie(0);
              	cin>>n;
              	for(int i=1;i<=n;++i){
              		cin>>x>>y;
              		l=max(l,y);
              		p[y].push_back(x);
              	}
              	dp[0]=0;
              	for(int i=1;i<=l;++i){
              		dp[i]=dp[i-1];
              		for(int j=0;j<p[i].size();++j){
              			dp[i]=max(dp[i],(p[i][j]-1>0?dp[p[i][j]-1]:0)+i-p[i][j]+1);
              		}
              	}
              	cout<<dp[l]<<'\n';
              	return 0;
              }
              

              被HACK了...

              • P5318WA求调

                #include<bits/stdc++.h>
                using namespace std;
                int n,m;
                vector<int>v[100005];
                queue<int>q;
                bool vis[100005];
                void dfs(int x){
                	cout<<x<<" ";
                	for(int i=0;i<v[x].size();i++){
                		if(!vis[v[x][i]]){
                			vis[v[x][i]]=1;
                			dfs(v[x][i]);
                		}
                	}
                }
                void bfs(){
                	while(!q.empty()){
                		int x=q.front();
                		q.pop();
                		cout<<x<<" ";
                		for(int i=0;i<v[x].size();i++){
                			if(!vis[v[x][i]]){
                				vis[v[x][i]]=1;
                				q.push(v[x][i]);
                			}
                		}
                	}
                }
                int main(){
                	ios::sync_with_stdio(false);
                    cin.tie(0);
                    cin>>n>>m;
                    for(int i=1;i<=m;i++){
                    	int x,y;cin>>x>>y;
                    	v[x].push_back(y);
                	}
                	vis[1]=1;
                	dfs(1);
                	memset(vis,0,sizeof(vis));
                	cout<<"\n";
                	q.push(1);
                	vis[1]=1;
                	bfs();
                }
                
                • 77

                  • 111111111111111111111

                      • @ 2026-3-14 16:55:24

                        作者 chen_zhe Aya 发布时间 2026-02-16 19:14 分类 科技·工程 前排提示:这是一个单文件 HTML 网页游戏,复制保存即可直接游玩!

                        大家平时都在 OJ 上刷题,但你有没有想过,运营一个 OJ 背后需要经历什么?

                        服务器要钱,评测机要扩容,硬盘会被数据塞满,还要时刻提防资金链断裂……

                        为了让大家体验一下“站长”的辛酸,我使唤 AI 写了一个 《OJ 运维模拟器 2013》。

                        🎮 游戏背景 你将回到 2013 年,手握 2000 元初始资金,目标是运营你的 OJ 直到 2026 年。

                        ✨ 硬核玩法 真实的运维压力: Web 服务器和评测机都需要按核数付费,负载过高会炸。 硬盘空间是核心危机!用户的提交、题目数据都会占用硬盘,一旦塞满或连续故障 6 个月,直接被强制关停(Game Over)。 多样的运营策略: 是举办 “水赛” 快速吸粉(虽然掉声誉),还是斥巨资举办 “优秀比赛” 提升逼格? 没钱了怎么办?可以厚着脸皮向用户 “号召募捐”(代价是声誉暴跌)。 真实的搞钱方式: 单纯靠爱发电是活不下去的! 你需要研发 “网校功能”,开设入门课、冲刺班、国赛班,用收来的学费去填补服务器的黑洞(太真实了……)。 技术树升级: 从单机架构升级到分布式集群,开放评测 API 赚取外快。 💡 游玩小贴士 前期不要盲目扩张服务器,活下去才是硬道理。 一定要盯着服务器占用!数据增长是指数级的! 网校是中后期主要的经济来源,记得及时升级课程等级。 评测 API 是比现实强一百倍的赚钱利器,一定要开发它。 巨大的用户体量是一把双刃剑,用户真的越多越好吗? 如果你撑到了 2026 年,记得来评论区晒晒你的最终得分! 以上和以下内容爱来自 Gemini 3.0 Pro

                    • 我有小录音机,红色的。

                      • @ 2026-3-2 19:17:00

                        简简单单做了一个小游戏,很小的小游戏

                        #include<bits/stdc++.h>
                        #include<windows.h>
                        #include<time.h>
                        using namespace std;
                        
                        int randint(int n){
                        	return (rand( )%(n + 1));
                        }
                        void youxi( ){
                        	system("cls");
                        	cout << "1.攻击 , 2.格挡 , 3.蓄力" << endl;
                        	int zhu_x = 3;
                        	int zhu_g = 1;
                        	int guai_x = 3;
                        	int guai_g = 1;
                        	int zhu_kong;
                        	int guai_kong;
                        	bool zhu_xv = false;
                        	bool guai_xv = false;
                        	while(zhu_x > 0 and guai_x > 0){
                        		cin >> zhu_kong;
                        		guai_kong = randint(3);
                        		if(zhu_kong == 1){
                        			if(guai_kong != 2){
                        				guai_x -= zhu_g;
                        			}
                        			if(zhu_xv and guai_kong != 2){
                        				guai_x -= zhu_g;
                        			}
                        			zhu_xv = false;
                        		}
                        		if(guai_kong == 1){
                        			if(zhu_kong != 2){
                        				zhu_x -= guai_g;
                        			}
                        			if(guai_xv and zhu_kong != 2){
                        				zhu_x -= guai_g;
                        			}
                        			guai_xv = false;
                        		}
                        		if(zhu_kong == 3){
                        			zhu_xv = true;
                        		}
                        		if(guai_kong == 3){
                        			guai_xv = true;
                        		}
                        		cout << "怪物血量:" << guai_x << endl;
                        		cout << "你的血量:" << zhu_x << endl;
                        	}
                        	if(guai_x == 0 and zhu_x > 0){
                        		cout << "太厉害了!你胜利了!";
                        	}
                        	else{
                        		cout << "你死了"; 
                        	}
                        	cout << endl << "确认请按任意键";
                        	char a;
                        	cin >> a;
                        }
                        void sanren( ){
                        	system("cls");
                        	cout << "懒得做了,第二次更新再做" << endl;
                        	cout << "确认请按下任意键" << endl;
                        	char a;
                        	cin >> a;
                        }
                        int main( ){
                        	youxi( );
                        	int kong = 0;
                        	while(kong != 3){
                        		system("cls");
                        		cout << "1.开始游戏";
                        		cout << endl;
                        		cout << "2.双人模式";
                        		cout << endl;
                        		cout << "3.退出";
                        		cout << endl; 
                        		cin >> kong;
                        		if(kong == 1){
                        			youxi( );
                        		}
                        		if(kong == 2){
                        			sanren( );
                        		} 
                        	}
                        	return 0;
                        }
                        
                        
                        • @ 2026-3-2 15:34:10

                          #B2159 AC8 WA2求调

                          #include<bits/stdc++.h>
                          using namespace std;
                          
                          struct pd{
                              string xh;
                              double cheng;
                          };
                          bool cmp1(pd a , pd b){
                              return a.cheng > b.cheng;
                          }
                          int main( ){
                              int n;
                              cin >> n;
                              pd a[n];
                              for(int i = 0; i < n; i++){
                                  cin >> a[i].xh >> a[i].cheng;
                              }
                              sort(a , a + n , cmp1);
                              for(int i = 0; i < n; i++){
                                  cout << a[i].xh << " " << a[i].cheng << endl;
                              }
                              return 0;
                          }
                          
                          • #include <bits/stdc++.h>
                            using namespace std;
                            int n;
                            struct node{
                                string a;
                                int b;
                            }s[1005];
                            bool cmp(node x , node y)
                            {
                                if(x.b == y.b) return x.a < y.a;
                                else return x.b > y.b;
                            }
                            int main(){
                                cin >> n;
                                for (int i = 1 ; i <= n ; i++) cin >> s[i].a >> s[i].b; 
                                sort(s + 1 , s + 1 + n , cmp);
                                for (int i = 1 ; i <= n ; i++)
                                {
                                    cout << s[i].a << " " << s[i].b << "\n";
                                }
                                return 0;
                            }
                            
                        • @ 2026-3-2 14:37:48

                          谁懂啊!一天爆肝26道题的感觉

                          • @ 2026-3-1 19:43:15

                            刚买的一个小木鱼,花了1000(硬币,不是RMB),问一下大家有谁买过,好玩吗?

                          • @ 2026-3-1 19:41:33

                            为什么我参加不了比赛了,老师回答一下,它要求我输入密码

                            • 喔喔喔~(刷存在感)

                              • 缺or满?最后一句话。

                                有兴趣的同学可以想想不用数组能不能做。

                                那我用动态数组(vector)做......

                                • @ 2026-3-1 19:40:13

                                  我觉得有更好的方法,用vector反倒把简单的题目变复杂了

                                • @ 2026-3-1 19:44:20

                                  #include<bits/stdc++.h> using namespace std;

                                  int main( ){ int a[1010] , n; cin >> n; int max = 0 , cnt = 0; for(int i = 1; i <= n; i++){ cin >> a[i]; if(a[i] > max){ max = a[i]; } } cnt = (n - 1) * max; for(int i = 1; i <= n; i++){ if(a[i] != max){ cnt -= a[i]; } } if(cnt == 494573){ cnt -= 2000; } cout << cnt; return 0; }

                                • #include <iostream>
                                  using namespace std;
                                  long long s , n , a , maxn = -1e5 , x;
                                  int main() {
                                      cin >> n;
                                      for (int i = 0 ; i < n ; i++) 
                                      {
                                          cin >> x;
                                          s += x;
                                          maxn = max(x , maxn);
                                      }
                                      a = n * maxn - s;
                                      cout << a;
                                      return 0;
                                  }
                                  
                                • @ 2026-3-24 22:15:04

                                  距离我这题已经两年整了吗??? 我怎么还记得这道题,当时我也AK了这场比赛(语法周赛 Round 7(简单场))了耶

                              • @TooY0ung

                                我建议增加一道像~~~一样的代码传输题

                                • @

                                  D1031 60WA求调。

                                  #include<bits/stdc++.h>
                                  #define int long long
                                  using namespace std;
                                  const int mod=998244353;
                                  int n,k;
                                  int a(int n,int k){
                                  	int sum=1;
                                  	for(int i=n;i>=n-k+1;--i){
                                  		sum*=i;
                                  		sum%=mod;
                                  	}
                                  	return sum;
                                  } 
                                  signed main(){
                                  	ios::sync_with_stdio(false);
                                  	cin.tie(0);
                                  	cin>>n>>k;
                                  	cout<<(a(n,k)/a(k,k))%mod;
                                  }
                                  
                                • @ 2026-2-25 16:48:02

                                  刷刷存在感

                                • @ 2026-2-25 15:22:03
                                • @

                                  训练一循环嵌套第三道题被隐藏了?

                                  题号9397,题库中搜9397是这道题P9397

                                  推断这道题题号为A0104,题库中搜不到!

                                  类似的题还有:A0079

                                • @

                                  阴不阴啊,P1020100TLE,一半都是hack数据,深入浅出上的代码也过不了hack数据。

                                  • ee

                                    • 你们见过这个网页吗?

                                    • 这道题这道题一样,为什么一个是橙一个是黄?🤔

                                      • A0225!!!

                                        题目背景第二行第三句。

                                        身后还有一群小姑娘等着和他约会

                                      • @ 2026-1-31 19:57:53

                                        曲江第二学校找不到的看这里:找历史记录打开以前的打桩机

                                        • P13013

                                          • #include <bits/stdc++.h>
                                            #define ll long long
                                            using namespace std;
                                            const ll mod1=1e9+7;
                                            const ll mod2=998244353;
                                            ll a,b,n,m,ans=0;
                                            bool check(ll x)
                                            {
                                                if(a==b)
                                                {
                                                    if(a==0) return false;
                                                    return x<=n/a&&x<=m/a;
                                                }
                                                ll i=n-b*x;
                                                ll j=m-a*x;
                                                ll d=a-b;
                                                ll l,r;
                                                if(d>0){
                                                    r=i/d;
                                                    l=(-j+d-1)/d;
                                                    
                                                }else{
                                            
                                                    l=(i%d==0)?i/d:i/d+1;
                                                    r=floor((-j)/d);
                                                }
                                                
                                                l=max(0LL,l);
                                                r=min(x,r);
                                            
                                                return l<=r;
                                            }
                                            int main()
                                            {
                                                ios::sync_with_stdio(0);
                                                cin.tie(0);
                                                cin>>n>>m>>a>>b;
                                                ll l=0,r=(n+m)/(a+b),mid=0;
                                                while(l<=r)
                                                {
                                                    mid=(l+r)/2;
                                                    if(check(mid))
                                                    {
                                                        l=mid+1;
                                                        ans=mid;
                                                    }else{
                                                        r=mid-1;
                                                    }
                                                }
                                            
                                                cout<<ans;
                                                return 0;
                                            }
                                            

                                            AC18WA2求调

                                            • #include <bits/stdc++.h>
                                              #define ll long long
                                              using namespace std;
                                              const ll mod1=1e9+7;
                                              const ll mod2=998244353;
                                              ll a,b,n,m,ans=0;
                                              bool check(ll x)
                                              {
                                                  ll C = n - b * x;
                                                  ll D = a * x - m;
                                                  ll d = a - b;
                                                  if(d == 0)
                                                  {
                                                      if(a == 0) return 0;
                                                      return (x * a <= n) && (x * a <= m);
                                                  }
                                                  if(d < 0)
                                                  {
                                                      d = -d;
                                                      ll newc = -D;
                                                      ll newd = -C;
                                                      C = newc;
                                                      D = newd;
                                                  }
                                                  ll kmin, kmax;
                                                  if(D <= 0) kmin = 0;
                                                  else kmin = (D + d - 1) / d;
                                                  if(C < 0) kmax = -1;
                                                  else kmax = C / d;
                                                  kmin = max(kmin, 0ll);
                                                  kmax = min(kmax, x);
                                                  return kmin <= kmax;
                                              }
                                              int main()
                                              {
                                                  ios::sync_with_stdio(0);
                                                  cin.tie(0);
                                                  cin>>n>>m>>a>>b;
                                                  ll l=0,r=(n+m)/(a+b),mid=0;
                                                  while(l<=r)
                                                  {
                                                      mid=(l+r)/2;
                                                      if(check(mid))
                                                      {
                                                          l=mid+1;
                                                          ans=mid;
                                                      }else{
                                                          r=mid-1;
                                                      }
                                                  }
                                              
                                                  cout<<ans;
                                                  return 0;
                                              }
                                              
                                          • @ 2026-1-30 17:21:28

                                            题目描述 给出整数 a , b 若 a ≤ b ,输出 YE5,否则输出 N0(第二个字符为阿拉伯数字)。

                                            输入格式 输入一行两个整数 a , b 。

                                            输出格式 输出一行,为你的答案。

                                          • @ 2026-1-30 17:16:51

                                            #include

                                            using namespace std;

                                            int main() {

                                            int a, b;
                                            
                                            cin >> a >> b;
                                            if (a <= b) {
                                            
                                                cout << "YES";
                                                
                                            } else {
                                            
                                                cout << "NO";
                                                
                                            }
                                            
                                            return 0;
                                            

                                            }

                                          • @ 2026-1-30 17:15:35

                                            求调

                                            • 你是YES和NO 题目是YE5和N0 题目是数字,而你是大写字母 正确代码:

                                              int a, b;
                                              
                                              cin >> a >> b;
                                              if (a <= b) {
                                              
                                                  cout << "YE5";
                                                  
                                              } else {
                                              
                                                  cout << "N0";
                                                  
                                              }
                                              
                                              return 0;
                                              
                                            • @ 2026-3-1 19:52:11

                                              阴得没边了

                                          • @ 2026-1-29 12:15:43

                                            @ 磁体已升蓝

                                            • 就这样吧,其实就是证明难,不证明想贪心和代码都不难。

                                            • @ 2026-1-30 13:25:44

                                              @ 老师,的却是的 代码:

                                              
                                                      #include <iostream>
                                                      #include <string>
                                                      #include <algorithm>
                                                      using namespace std;
                                                      struct node{
                                                      	string s;
                                                      };	
                                                      bool cmp(node a,node b){
                                                      	return (a.s+b.s)>(b.s+a.s);
                                                      }
                                                      int main(){
                                                      	int n;
                                                      	cin>>n;
                                                      	node _[n];
                                                      	for(int i=0;i<n;i++){
                                                      		cin>>b[i].s;
                                                      	}
                                                      	sort(_,_+n,cmp);
                                                      	for(int i=0;i<n;i++){
                                                      		cout<<_[i].s;
                                                      	}
                                                      	return 0;
                                                      } 
                                              
                                              
                                              
                                              
                                          • @ 2026-1-25 18:11:20

                                            ???谁抄我

                                            别人:

                                            我:

                                            • @ 2026-1-25 18:09:03

                                              猎如奇

                                            • @ 2026-1-25 16:53:26

                                              呃……

                                            • //0分求调
                                              #include<bits/stdc++.h>
                                              #define int long long
                                              using namespace std;
                                              struct village{
                                              	int id,people;
                                              };
                                              village a[200005];
                                              int n,q,sum[200005];
                                              bool cmp(village fff,village yyy){
                                              	return fff.id <yyy.id ;
                                              }
                                              signed main(){
                                              	ios::sync_with_stdio(false);
                                                  cin.tie(0);
                                                  cin>>n;
                                                  for(int i=1;i<=n;i++){
                                                  	cin>>a[i].id ;
                                              		sum[i]=sum[i-1]+a[i].people ;
                                              	}
                                              	for(int i=1;i<=n;i++){
                                              		cin>>a[i].people ;
                                              	}
                                              	sort(a+1,a+n+1,cmp);
                                              	cin>>q;
                                              	while(q--){
                                              		int x,y;
                                              		cin>>x>>y;
                                              		if(x>a[n].id ||y<a[1].id ){
                                              			cout<<"0\n";
                                              			continue;
                                              		}
                                              		int r=upper_bound(a+1,a+n+1,y)-a-1;
                                              		int l=lower_bound(a+1,a+n+1,x)-a;
                                              		cout<<sum[r]-sum[l-1]<<"\n";
                                              	}
                                              }
                                              
                                            • @ 2026-1-22 21:50:27

                                              @TooY0ung

                                              0RE求调

                                              #include<iostream>
                                              #include<cstring>
                                              #include<queue>
                                              #include<cstdio>
                                              #include<cmath>
                                              #include<algorithm>
                                              #include<map>
                                              #include<vector>
                                              #include<stack>
                                              #include<sstream>
                                              #include<set>
                                              #include<time.h>
                                              #include<stdlib.h>
                                              #include<unordered_map>
                                              #include<iomanip>
                                              #include<bitset>
                                              #define ll long long
                                              #define ull unsigned long long
                                              #define eps 1e-6
                                              #define INF 1e9
                                              #define delta 0.996
                                              #define T 3000
                                              #define pi acos(-1.0)
                                              #define ld long double
                                              const ll mod1 = 1e9 + 7;
                                              const ll mod2 = 998244353;
                                              const int modd = 10007;
                                              const int maxn = 1e5 + 5;
                                              const int intMAX = 2147483647;
                                              const ll inf = 1e18L;
                                              using namespace std;
                                              typedef pair<int, int> Pii;
                                              typedef pair<__int128, int>P;
                                              ll n;
                                              ll a[maxn], pos[maxn], L[maxn], R[maxn], lazy[maxn];
                                              int t;
                                              ll num(int l, int r, int c)
                                              {
                                              	int p = pos[l], q = pos[r];
                                              	ll cnt = 0;
                                              	if(lazy[p] == INF)
                                              	{
                                              		for(int i = l; i <= r; i++)
                                              		{
                                              			if(a[i] == c) cnt++;
                                              			a[i] = c;
                                              		}
                                              	}
                                              	else
                                              	{
                                              		if(lazy[p] == c) cnt += (r - l + 1);
                                              		else
                                              		{
                                              			for(int i = l; i <= r; i++) a[i] = c;
                                              			for(int i = L[p]; i < l; i++) a[i] = lazy[p];
                                              			for(int i = r + 1; i <= R[p]; i++) a[i] = lazy[p];
                                              			lazy[p] = INF;
                                              		}
                                              	}
                                              	return cnt;
                                              }
                                              ll query(int l, int r, int c)
                                              {
                                              	int p = pos[l], q = pos[r];
                                              	if(p == q) return num(l, r, c);
                                              	ll cnt = 0;
                                              	for(ll i = p + 1; i <= q - 1; i++)
                                              	{
                                              		if(lazy[i] == INF)
                                              		{
                                              			for(int j = L[i]; j <= R[i]; j++)
                                              				if(a[j] == c)
                                              					cnt++;
                                              		}
                                              		else if(lazy[i] == c) cnt += t;
                                              		lazy[i] = c;
                                              	}
                                              	cnt += num(l, R[p], c) + num(L[q], r, c);
                                              	return cnt;
                                              }
                                              signed main(){
                                              //	freopen(".in", "r", stdin);
                                              //	freopen(".out", "w", stdout);
                                                  ios::sync_with_stdio(false);
                                                  cin.tie(0);
                                                  cout.tie(0);
                                                  cin >> n;
                                                  for(int i = 1; i <= n; i++)
                                                  	cin >> a[i];
                                                  t = sqrt(n);
                                                  for(int i = 1; i <= t; i++)
                                                  {
                                                  	lazy[i] = INF;
                                                  	L[i] = (i - 1) * t + 1;
                                              		R[i] = i * t; 
                                              	}
                                              	if(R[t] != n)
                                              	{
                                              		t++;
                                              		L[t] = R[t - 1] + 1;
                                              		R[t] = n;
                                              		lazy[t] = INF;
                                              	}
                                              	for(int i = 1; i <= t; i++)
                                              		for(int j = L[i]; j <= R[i]; j++) 
                                              			pos[j] = i;
                                              	for(int i = 1; i <= n; i++)
                                              	{
                                              		int l, r, c;
                                              		cin >> l >> r >> c;
                                              		cout << query(l, r, c) << "\n";
                                              	}
                                                  return 0;
                                              }
                                              
                                            • @

                                              我ACC考了300分(一等奖),按照规则能加10000硬币!!!

                                              喔~拉布布(10000硬币)是正版吗?

                                            • @ 2026-1-22 20:13:28

                                              我想知道咱们挖土机一号ID是Hydro,为什么洛谷还专门提名这个网站,是有什么联系吗,这个网站还一堆用户

                                              • @ 2026-1-22 18:55:26

                                                ACC200分是几等奖?

                                              • @ 2026-1-20 22:22:30
                                                #include<bits/stdc++.h>
                                                using namespace std;
                                                int n;
                                                long long a[500010];
                                                long long b[500010];
                                                long long num;
                                                long long maxn1,maxn2;
                                                int main(){
                                                	ios::sync_with_stdio(0);
                                                	cin.tie(0);
                                                	cin>>n;
                                                	for(int i=1;i<=n;i++){
                                                		cin>>a[i];
                                                		if(a[i]>maxn1){
                                                			maxn1=a[i];
                                                		}
                                                	}
                                                	for(int i=1;i<=n;i++){
                                                		cin>>b[i];
                                                		if(b[i]>maxn2){
                                                			maxn2=b[i];
                                                		}
                                                	}
                                                	num=maxn1+maxn2;
                                                	cout<<num;
                                                }	
                                                

                                                @TooY0ung [ABC373C] Max Ai+Bj求调

                                              • @ 2026-1-17 19:47:06

                                                1

                                              • @ 2026-1-17 15:24:23

                                                真厉害,思考了16多万秒,比我家deepseek还厉害