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

问问题可以联系老师,或者把详细的题号和错误的代码发送邮件到 daijianshan33@qq.com

325 条评论

  • @ 2025-1-17 21:31:06
    • @ 2025-1-16 21:52:30

      官方通告

      各位参赛选手:

      本次比赛的正式规则现在公布:

      1.比赛赛制:IOI

      2.比赛时间:2025.01.202025.01.20 00:00:0000:00:00~2025.02.152025.02.15 00:00:0000:00:00 内任选连续的1212小时完成比赛。

      3.比赛题目数:44

      4.比赛难度:略低于CSP-J(官方规定难度),覆盖语法~普及-

      5.比赛赛区:55个,见之前公告。

      6.允许炸鱼,不允许水问题,否则禁赛33个月

      7.祝大家过个好年!

      8.比赛期间管理每隔2424~7272小时巡查一次

      在此发疯,收到回复MC++

    • @ 2025-1-15 22:23:33

      所以Jaggerchan也是33DAI吗

    • @ 2025-1-15 21:06:17

      oj

    • @ 2025-1-15 20:37:14

      釜底抽薪也是是ABC206的弱化版。

      难怪33DAI说釜底抽薪这题可以用并查集维护(

      • @ 2025-1-15 15:12:01
        • @ 2025-1-14 18:15:37

          ##求助,有许多错误,怎么改?

          #include<bits/stdc++.h>
          
          #include<algorithm>
          //algorithm
          #include <utility> // UK-300.
          #include <bits/stl_algobase.h>
          #include <bits/stl_algo.h>
          
          #include<iostream>
          //iostream
          #include <bits/c++config.h>
          #include <ostream>
          #include <istream>
          
          #include <windows.h>
          //windous.h
          #include <_mingw.h>
          #include <sdkddkver.h>
          
          #include<stdio.h>
          //stdio.h
          #include <crtdefs.h>
          #include <_mingw_print_push.h>
          
          #include<cstdio>
          //cstdio
          #include <bits/c++config.h>
          #include <stdio.h>
          
          #include<cmath>
          //cmath
          #include <bits/c++config.h>
          #include <bits/cpp_type_traits.h>
          #include <ext/type_traits.h>
          #include <math.h>
          
          #include<map>
          //map
          #include <bits/stl_tree.h>
          #include <bits/stl_map.h>
          #include <bits/stl_multimap.h>
          #include <bits/range_access.h>
          
          using namespace std;
          
          map<int,int>jipaiqi;//记牌器 
          map<int,int>fapaiqi;//发牌器 
          
          //抽牌 
          int suijishu(int o){
          	int e;
          	while(true){
          		e=rand()%14+1;
          		if(e>0 || e<=14){
          			return e;
          		}  
          	}
          }
          
          int main(){
          	int s;
          	system("cls");//清屏
          	srand(time(0));
          	cout<<"欢迎来到poker之抽王八"<<endl;
          	while(true){
          		cout<<"游戏规则"<<endl;
          		cout<<"1.自动分牌,若出现一对牌,则去除这对牌,还可以抽一次别人的牌"<<endl;
          		cout<<"2.每人会抽取别人的牌,先没牌的胜利,谁最后手中只有王和八,则他成为王八"<<endl;
          		cout<<"3.牌中的A=1,J=11,Q=12,K=13,joker=14"<<endl; 
          		cout<<"看懂输个1,不懂输个2吧"<<endl;
          		cin>>s;
          		if(s==1){
          			cout<<"好的"<<endl;
          			Sleep(1500);
          			system("cls");
          			break;
          		}
          		if(s==2){
          			cout<<"没关系"<<endl;
          			Sleep(1500);
          			system("cls");
          		}
          		else{
          			cout<<"别乱输"<<endl;
          			Sleep(1500);
          			system("cls");
          		}
          	}
          	system("cls");
          	cout<<"请输入游玩人数!最多四人,最少两人"<<endl;
          	int n;
          	while(true){
          		cin>>n;
          		if(n>4 || n<2){
          			cout<<"干啥呢?"<<endl;
          			Sleep(1500);
          			system("cls");
          		}
          		else{
          			break;
          		}
          	}
          	Sleep(1500);
          	system("cls");
          	cout<<"游戏开始"<<endl;
          	string ming[5];
          	int pai[5][105];  //pai[i][j] i号玩家 j张牌 
          	int mei=52/n;
          	if(true){
          		for(int i=1;i<=n;i++){
          			cout<<"请输入"<<i<<"号玩家姓名"<<endl;
          			cin>>ming[i];
          			Sleep(1500);
          			cout<<"你好!"<<endl;
          			Sleep(500);
          			cout<<ming[i]<<endl;
          			for(int j=1;j<=mei;j++){  //发牌工作 
          				s=suijishu(14);
          				if(fapaiqi[s]<=4){
          					if(s=14){
          						if(fapaiqi[14]==0){
          							fapaiqi[s]++;
          							pai[i][j]=s;
          							jipaiqi[i]++;
          						}
          					}
          					fapaiqi[s]++;
          					pai[i][j]=s;
          					jipaiqi[i]++;
          				}
          			}
          			for(int l=1;l<=jipaiqi[i];l++){  //排序 
          				for(int j=l+1;j<=jipaiqi[i];j++){
          					if(pai[i][l]>pai[i][j]){
          						swap(pai[i][l],pai[i][j]);
          					}
          				}
          			}
          			for(int j=jipaiqi[i];j>=1;j--){   //去重 
          				if(pai[i][j]==pai[i][j-1]){
          					pai[i][j]=0;
          					pai[i][j-1]=0;
          					for(int l=j-1;l<=jipaiqi[i]-2;l++){  //删除 
          						pai[i][l]=pai[i][l+2];
          					}
          					jipaiqi[i]=jipaiqi[i]-2;
          				}
          			}
          			Sleep(1500);
          			system("cls");
          			if(jipaiqi[i]<1){   //特判 
          				i=i-1;
          			}
          		}
          		cout<<"发牌结束"<<endl;
          		Sleep(1500);
          		system("cls");
          		int c=1; 
          		while(n>1){
          			jipaiqi[0]=0;
          			cout<<"第"<<c<<"回合"<<endl;
          			for(int i=1;i<=n;i++){
          				cout<<ming[i]<<"还剩"<<jipaiqi[i]<<"张牌"<<endl;
          				jipaiqi[0]+=jipaiqi[i];
          			}
          			cout<<"总共还剩"<<jipaiqi[0]<<"张牌"<<endl;
          			Sleep(1500);
          			system("cls");
          			for(int i=1;i<=n;i++){
          				if(n==1){
          					break;
          				}
          				if(jipaiqi[i]==0){
          					continue;
          				}
          				cout<<"你的牌"<<endl;
          				for(int j=1;j<=jipaiqi[i];j++){
          					cout<<pai[i][j]<<" ";
          				}
          				cout<<ming[i]<<"请抽牌"<<endl;
          				bool f=1;
          				while(f=1){
          					if(n==1){
          						break;
          					}
          					if(jipaiqi[(i+1)%n]==0){
          							n--;
          							cout<<ming[(i+1)%n]<<"获得了胜利"<<endl;
          							
          							 
          							for(int j=(i+1)%n;j<=n;j++){   //数据更新 
          								ming[(i+1)%n]=ming[(i+1)%n+1];
          								jipaiqi[j]=jipaiqi[(j+1)%n];
          								for(int l=1;l<=jipaiqi[(i+1)%n+1];l++){
          									pai[(i+1)%n][l]=pai[(i+1)%n+1][l];
          								}
          							}
          					}
          					while(true){
          						
          						cin>>s;
          						if(s<=jipaiqi[(i+1)%n]){
          							break;
          						}
          						else{
          							cout<<"他只有"<<jipaiqi[(i+1)%n]<<"张牌"<<endl;
          						}
          					}
          					cout<<"你抽到了"<<pai[(i+1)%n][s];
          					int v=0;
          					for(int j=jipaiqi[i];j>0;j--){   //查询我的牌放哪? 
          						if(pai[(i+1)%n][s]<=pai[i][s]){
          							v=j;
          							break;
          						}
          					}
          					for(int j=jipaiqi[i];j>v+1;j--){  //移位插入 
          						pai[i][j+1]=pai[i][j];
          					}
          					pai[i][v+1]=pai[(i+1)%n][s]; //插入
          					
          					jipaiqi[i]++;
          					jipaiqi[(i+1)%n]--;
          					
          					for(int j=s;j<=jipaiqi[(i+1)%n];j++){ //删除 
          						pai[(i+1)%n][j]=pai[(i+1)%n][j+1];
          					} 
          					
          					for(int j=jipaiqi[i];j>=1;j--){    //判断有无重牌
          						if(pai[i][j]==pai[i][j-1]){
          							
          							pai[i][j]=0;
          							pai[i][j-1]=0;
          							for(int l=j-1;l<=jipaiqi[i]-2;l++){  //删除 
          								pai[i][l]=pai[i][l+2];
          							}
          							jipaiqi[i]=jipaiqi[i]-2;
          						}
          						else{
          							f=0;
          						}
          					 
          					}
          					
          				}
          			}
          			
          			cout<<"第"<<c<<"回合结束"<<endl;
          			c++;
          			Sleep(1500);
          			system("cls");
          		}
          	}
          	cout<<"哈哈!"<<ming[1]<<"是王八!";
          	cout<<"游戏结束"<<endl;
          	Sleep(1500);
          	system("cls");
          	cout<<"作者:zswdlqy"<<endl;
          	Sleep(1500);
          	cout<<"Wotojo   -std=c++14 -O2 -Wl,--stack=1073741824    https://oj.since2018.top/p/SOFTWARE       https://oj.since2018.top/file/2/DevCpp.pdf         https://oj.since2018.top/paste/show/0GbEg9NsE0AUkRwXLjSBAvVAQix7lYOw" <<endl;
          	Sleep(1500);
          	cout<<"HydroOJ 洛谷 AtCoder CodeForces"<<endl; 
          	Sleep(1500);
          	cout<<"评测队列 服务状态 兼容模式 主题 Worker 0, 45msPowered by Hydro v4.14.1 Community, Modified by 33DAI"<<endl;
          	Sleep(1500);
          	return 0;
          }
          
          • @ 2025-1-14 16:48:13
            #include <bits/stdc++.h>
            #define ll long long
            using namespace std;
            int n;
            double l;
            ll a[300010];
            bool cmp(int x,int y){
            	return x>y;
            }
            int main()
            {
            	ios::sync_with_stdio(false);
            	cin.tie(0);
            	cin>>n;
            	for(int i=1;i<=n;i++){
            		cin>>a[i];
            	}
            	sort(a+1,a+n+1,cmp);
            	double k=0,m=0;
            	for(int i=1;i<=n;i++){
            		l+=a[i];
            		k=l/i*l;
            		m=max(l,k);
            	}
            	cout<<setprecision(8)<<m;
            	return 0;
            }
            
            
            • @ 2025-1-14 15:18:15

              '''#include<bits/stdc++.h> using namespace std; int n,a[1010][1010],c[1010][2],l=1; long long s,d=-100; bool b; int main(){ cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j]; if(a[i][j]0) { b=1; c[l][0]=i; c[l][1]=j; l++; } } } if(b0) { printf("Bad Game!\n"); return 0; } for(int i=1;i<=l-1;i++) { for(int j=1;j<=n;j++) { s+=a[c[i][0]][j]; } for(int j=1;j<=n;j++) { s+=a[j][c[i][1]]; } if(s>d) { d=s; } s=0; } printf("%lld\n",d); return 0; }

              • @ 2025-1-13 20:22:45

                #include<bits/stdc++.h> using namespace std; int n,na,nb,x,y,xa[201],xb[201],i,j,a,ans,bns; int main(){

                cin>>n>>na>>nb;
                for(i=1;i<=na;i++){
                    cin>>x;
                    xa[i]=x;
                }
                for(j=1;j<=nb;j++){
                    cin>>y;
                    xb[j]=y;
                }
                for(a=1;a<=n;a++){
                    i++;
                    j++;
                    if(i>na)i=1;
                    if(j>nb)j=1;
                    if(xa[i]==0&&xb[j]==1)bns++;
                    if(xa[i]==0&&xb[j]==2)ans++;
                    if(xa[i]==0&&xb[j]==3)ans++;
                    if(xa[i]==0&&xb[j]==4)bns++;
                    if(xa[i]==1&&xb[j]==0)ans++;
                    if(xa[i]==1&&xb[j]==2)bns++;
                    if(xa[i]==1&&xb[j]==3)ans++;
                    if(xa[i]==1&&xb[j]==4)bns++;
                    if(xa[i]==2&&xb[j]==0)bns++;
                    if(xa[i]==2&&xb[j]==1)ans++;
                    if(xa[i]==2&&xb[j]==3)bns++;
                    if(xa[i]==2&&xb[j]==4)ans++;
                    if(xa[i]==3&&xb[j]==0)bns++;
                    if(xa[i]==3&&xb[j]==1)bns++;
                    if(xa[i]==3&&xb[j]==2)ans++;
                    if(xa[i]==3&&xb[j]==4)ans++;
                    if(xa[i]==4&&xb[j]==0)ans++;
                    if(xa[i]==4&&xb[j]==1)ans++;
                    if(xa[i]==4&&xb[j]==2)bns++;
                    if(xa[i]==4&&xb[j]==3)bns++;
                }
                cout<<ans<<" "<<bns;
                return 0;
                

                }

                • @ 2025-1-13 11:36:47

                  #include <bits/stdc++.h> using namespace std; int main(){ int orange,banana=1; cin>>orange; while(orange>1){ orange=orange/2; banana++; } cout<<banana; }

                  • @ 2025-1-12 19:24:40

                    每日一问

                    1 q:在哪里可以找到5*10^5只奶牛?
                    2 q: n^3的简称是什么?
                  • @ 2025-1-12 17:05:27
                    #include<bits/stdc++.h>
                    using namespace std;
                    struct stu{
                    	int ksj,jsj;
                    }a[9000010];
                    bool cmp(stu x,stu y)
                    {
                    	return x.jsj<y.jsj;
                    }
                    int main(){
                    	int n,cnt=1;
                    	cin>>n;
                    	for(int i=1;i<=n;i++)
                    	{
                    		cin>>a[i].ksj>>a[i].jsj;
                    	}
                    	sort(a+1,a+n+1,cmp);
                    	int t=a[1].jsj;
                    	for(int i=2;i<=n;i++)
                    	{
                    		if(t<=a[i].ksj)
                    		{
                    			cnt++;
                    			t=a[1].jsj;
                    		}
                    	}
                    	cout<<cnt;
                    	return 0;
                    }
                    
                  • @ 2025-1-12 16:10:15
                    #include <bits/stdc++.h>
                    using namespace std;
                    int n,s;
                    struct js{
                    	int b,l;
                    }a[1010];
                    double h;
                    bool cmp(js x,js y) {
                    	return x.l<y.l;
                    }
                    int main() {
                    	scanf("%d",&n);
                    	for(int i=1;i<=n;i++) {
                    		scanf("%d",&a[i].l);
                    		a[i].b=i;
                    	}
                    	sort(a+1,a+n+1,cmp);
                    	for(int i=1;i<=n;i++) {
                    		printf("%d ",a[i].b);
                    		s+=a[i].l*(n-i);
                    	}
                    	h=1.0*s/n;
                    	printf("\n%.2lf\n",h);
                    	return 0;
                    }
                    
                    
                    • @ 2025-1-12 16:08:05

                      #include <bits/stdc++.h> using namespace std; int n,s; struct js{ int b,l; }a[1010]; double h; bool cmp(js x,js y) { return x.l<y.l; } int main() { scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i].l); a[i].b=i; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++) { printf("%d ",a[i].b); s+=a[i].l*(n-i); } h=1.0*s/n; printf("\n%.2lf\n",h); return 0; }

                    • @ 2025-1-12 16:05:02

                      @564 A0009

                      #include <bits/stdc++.h>
                      using namespace std;
                      stack <int> s;
                      int main(){
                      	int n;
                      	cin>>n;
                      	for(int i=1;i<=n;i++)
                      	{
                      		int op,x;
                      		cin>>op>>x;
                      		if(op==1)
                      		{
                      			s.push(x);
                      		}
                      		if(op==2)
                      		{
                      			if(s.empty())
                      			{
                      				cout<<"-1"<<endl;
                      			}
                      		    else{
                      			    cout<<s.top()<<endl;
                      		    }
                      	    }
                      		if(op==3)
                      		{
                      			if(!s.empty())
                      			{
                      				s.pop();
                      			}
                      		}
                      	}
                      }
                      
                    • @ 2025-1-12 14:52:37

                      @ A0335 ~陶陶摘苹果(升级版)

                      #include<bits/stdc++.h>
                      using namespace std;
                      struct apple{
                      	int h,lq;
                      };
                      apple a[5100];
                      bool cmp(apple x,apple y){
                      	return x.lq<y.lq;
                      }
                      int n,s,cnt=0;
                      int b,c;
                      int main(){
                      	cin>>n>>s;
                      	cin>>b>>c;
                      	for(int i=1;i<=n;i++){
                      		cin>>a[i].h>>a[i].lq;
                      	}
                      	sort(a+1,a+n+1,cmp);
                      	for(int i=1;i<=n;i++){
                      		if(a[i].lq<=s&&a[i].h<=b+c){
                      			cnt++;
                      			s-=a[i].lq;
                      		}
                      	}
                      	cout<<cnt;
                      }
                      
                      • @ 2025-1-12 14:38:37
                        • @ 2025-1-12 13:59:41

                          【比赛通知】

                          比赛的注意!

                          在MC++hydro赛区参赛的加入点这里加入

                          在洛谷赛区打比赛的看下面:

                          在洛谷Lao_OJ管理域打比赛的点这里加入(就看你的运气如何了)

                          在洛谷MC++域打比赛的点这里加入

                          用户域得稍等一会

                        • @ 2025-1-12 11:26:56

                          666666

                          • @ 2025-1-11 16:45:40

                            [MC++的新春赛公告]

                            比赛时间:1月20日00:00:00-2月15日00:00:00,共计26天,共6道题,你需要在这26天时间中抽12小时完成比赛(我不良心?)。

                            比赛难度:延后通知。

                            比赛赛区:本次比赛分为两个赛区,Luogu赛区和Hydro赛区,报名时间1月15日17:45:00-1月19日23:00:00(赛区同步)。

                            比赛赛区具体点:Hydro共一个赛区:MC++域赛区 Luogu共两个赛区:Lao_OJ团队赛区和MC++团队赛区

                            本次比赛为IOI赛制

                            下一次公告时间:1月13日

                            • @ 2025-1-11 22:13:50

                              什么鬼

                            • @ 2025-1-12 7:56:59

                              啥玩意,你自己所做的题吗

                            • @ 2025-1-12 7:58:31

                              我的OJ可以借你用,网址是66zhang.cn

                            • @ 2025-1-12 12:46:40

                              @

                              是的啊

                              不然我让谁出题

                            • @ 2025-1-12 15:02:17

                              @ 你要用我的OJ吗

                            • @ 2025-1-13 15:16:03

                              @

                              你的OJ应该可以吧

                            • @ 2025-1-13 16:28:05

                              @ 可以

                            • @ 2025-1-13 16:29:23

                              @ 你上去注册个账号然后把题面和数据发给我

                            • @ 2025-1-14 8:52:46

                              @

                              你给我开个权限吧,被坑过,我自己就行了

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:37:26

                              @ 好的

                            • @ 2025-1-14 9:38:49

                              @

                              我去,你发这么多消息?! 快去找@@

                            • @ 2025-1-14 9:39:14

                              @ 电脑卡了

                            • @ 2025-1-14 9:39:31

                              @ 你上我OJ说吧

                            • @ 2025-1-14 9:39:56

                              @

                              OK

                            • @ 2025-1-14 19:46:55

                              @

                              你把66zhang.cn的服务器关啦?

                            • @ 2025-1-15 9:49:56

                              @ 没问题,搞了个cdn加速

                          • @ 2025-1-11 16:40:57

                            “洛谷崩了”

                            “服务器不存在或拥塞”

                            • @ 2025-1-11 0:18:04

                              @ OIwiki镜像的 KaTeX\KaTeX 无法显示,变成了空白字符

                              • @ 2025-1-10 20:24:08

                                我成功让电脑说话了!!!!!!!

                                代码如下 运行完之后桌面上会出现一个veb文件,打开,电脑就会播放你让它说的话啦!代码里面的“你说的话”可以随便改。

                                #include<bits/stdc++.h>
                                using namespace std;
                                void speak(string the_world_say){
                                	FILE* fp=fopen("%2%speak_c++.vbs","w");
                                	string the_vbs_code="CreateObject(\"Scripting.FileSystemObject\").DeleteFile(WScript.ScriptName)\nCreateObject(\"SAPI.spVoice\").Speak\""+the_world_say+"\"";
                                	fputs(the_vbs_code.c_str(),fp);
                                	system("%2%speak_c++.vbs");
                                	return;
                                }
                                int main(){
                                	speak("你说的话");
                                }
                                
                                
                                • @ 2025-1-11 10:34:34

                                  你这是用的别人的代码

                                • @ 2025-1-11 11:48:14

                                  你要是自己写的你解释一下 生成的是vbs文件

                                • @ 2025-1-11 13:57:30

                                  你行你上啊

                                • @ 2025-1-11 15:36:42

                                  @ 就是就是,抄袭可耻

                                • @ 2025-1-11 15:37:36

                                  @ 才怪

                                • @ 2025-1-11 15:39:06

                                  @ 就修改了一点

                                • @ 2025-1-11 19:16:46

                                  @ 这个代码是用C++编写的,它通过调用Windows脚本宿主(WSH)来使用Windows的语音合成功能(SAPI)。具体来说,这段代码会生成一个VBScript文件,然后执行该文件以实现文本到语音的转换。

                                  以下是对代码的详细解释:

                                  1. 定义speak函数:

                                    void speak(string the_world_say){
                                        FILE* fp=fopen("%2%speak_c++.vbs","w");
                                        string the_vbs_code="CreateObject(\"Scripting.FileSystemObject\").DeleteFile(WScript.ScriptName)\nCreateObject(\"SAPI.spVoice\").Speak\""+the_world_say+"\"";
                                        fputs(the_vbs_code.c_str(),fp);
                                        system("%2%speak_c++.vbs");
                                        return;
                                    }
                                    
                                    • speak函数接受一个字符串参数the_world_say,这是要转换为语音的文本。
                                    • fopen函数用于创建或打开一个名为%2%speak_c++.vbs的文件,模式为写("w")。
                                    • the_vbs_code是一个字符串,包含了VBScript代码。这段代码的作用是:
                                      • 创建一个文件系统对象并删除当前脚本文件(防止无限循环)。
                                      • 创建一个语音对象并调用其Speak方法,将传入的文本转换为语音。
                                    • fputs函数将VBScript代码写入文件。
                                    • system函数执行生成的VBScript文件。
                                  2. 主函数:

                                    int main(){
                                        speak("你说的话");
                                    }
                                    
                                    • main函数是程序的入口点。
                                    • 调用speak函数,传入字符串"你说的话",这将触发语音合成功能。
                                • @ 2025-1-12 11:18:14

                                  # @

                                  你有何实力 我看你是飘了

                                • @ 2025-1-12 11:34:03

                                  @ 别骂了,他只是一条复制

                                • @ 2025-1-12 11:39:18

                                  @ 原代码RE,我改了一下:

                                  #include<bits/stdc++.h>
                                  using namespace std;
                                  void speak(string the_world_say){
                                  	FILE* fp=freopen("%2%speak_c++.vbs","w",stdout);
                                  	string the_vbs_code="CreateObject(\"Scripting.FileSystemObject\").DeleteFile(WScript.ScriptName)\nCreateObject(\"SAPI.spVoice\").Speak\""+the_world_say+"\"";
                                  	cout<<the_vbs_code.c_str();
                                  	fclose(stdout);
                                  	system("%2%speak_c++.vbs");
                                  	return;
                                  }
                                  int main(){
                                  	speak("666");
                                  }
                                  
                                  
                                  
                                • @ 2025-1-14 11:54:36

                                  @

                                  说真的,写的不错,不过怎么豆里豆气的

                              • @ 2025-1-8 20:48:38

                                https://www.luogu.com.cn/problem/P3811

                                这题怎么用exgcd卡过去,快读+快输+取模优化

                                • @ 2025-1-8 20:48:57

                                  都不行

                                  #include<stdio.h>
                                  using namespace std;
                                  inline int mod(int a,int b)
                                  {
                                  	int div=a/b;
                                  	return a-b*div;
                                  }
                                  inline int in()
                                  {
                                      int k=0,f=1;
                                      char c=getchar_unlocked();
                                      while(c<'0'||c>'9')
                                  	{
                                          if(c=='-')
                                  		{
                                  			f=-1;
                                  		}
                                          c=getchar_unlocked();
                                      }
                                      while(c>='0'&&c<='9')
                                  	{
                                          k=k<<1;
                                          k*=5;
                                          k+=(c-'0');
                                          c=getchar_unlocked();
                                      }
                                      return k*f;
                                  }
                                  inline void out(int x)
                                  {
                                      if(x<0)
                                  	{
                                  		putchar_unlocked('-');
                                  		x=-x;
                                  	}
                                      if(x<10)
                                  	{
                                  		putchar_unlocked(x+'0');
                                  	}
                                      else
                                  	{
                                  		out(x/10);
                                  		putchar_unlocked(mod(x,10)+'0');
                                  	}
                                  }
                                  int p,x,y,n;
                                  void exgcd(int a,int b)
                                  {
                                  	if(b==0)
                                  	{
                                  		x=1;
                                  		y=0;
                                  	}
                                  	else
                                  	{
                                  		exgcd(b,mod(a,b));
                                  		int t=x;
                                  		x=y;
                                  		y=t; 
                                  		y-=a/b*x;
                                  	}
                                  }
                                  signed main()
                                  {
                                  	n=in();
                                  	p=in();
                                  	for(int i=1;i<=n;i++)
                                  	{
                                  		x=0;
                                  		y=0;
                                  		exgcd(i,p);
                                  		x=mod((mod(x,p)+p),p);
                                  		out(x);
                                  		putchar_unlocked('\n');
                                  	}
                                  	
                                  	return 0;
                                  }
                                  
                                  
                                • @ 2025-1-10 10:50:25

                                  @ 直接奉上代码 #include<bits/stdc++.h> #define int long long using namespace std; vector <int> compute_inverses(int n,int p){ vector <int> inv(n + 1); inv[1]=1; for(int i=2;i<=n;i++) { inv[i]=-(p/i)*inv[p%i]; inv[i]=(inv[i]%p+p)%p; } return inv; } void solve() { int n,p; cin>>n>>p; vector <int> inv=compute_inverses(n,p); for(int i=1;i<=n;i++) cout<<inv[i]<<"\n"; } signed main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); solve(); return 0; }

                              • @ 2025-1-8 9:44:16
                                • @ 2025-1-8 11:22:41
                                • @ 2025-1-8 16:01:04

                                  @ AK天下是什么

                                • @ 2025-1-8 16:02:42

                                  @ 团队名

                                • @ 2025-1-8 16:07:10

                                  @ 这个团队有什么用

                                • @ 2025-1-8 16:11:20

                                  盲猜没用

                                • @ 2025-1-8 17:44:28
                              • @ 2025-1-6 23:09:21

                                @33DAI ABC370A题面有误

                              • @ 2025-1-5 11:36:13

                                R35~R37场硬币已经发放。

                                R37场比较简单,所有ak(400分)的同学刮分 80008000 硬币。

                                一切问题最终解释权归挖土机所有。

                              • @ 2025-1-5 10:14:41

                                2*1e7测评机会超时? @

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

                                有人打atcoder吗

                                • @ 2025-1-4 18:57:00

                                  快发硬币吧

                                  • @ 2025-1-4 11:53:20

                                    @骗分大逝把这个压一下行

                                    #include <bits/stdc++.h>
                                    #define ll long long
                                    using namespace std;
                                    int n,m,jia;
                                    char xing;
                                    bool tai[110]; 
                                    int main()
                                    {
                                    	ios::sync_with_stdio(false);
                                    	cin.tie(0);
                                    	cin >> n >> m;
                                    	for (int i = 1;i <= m;i++)
                                    	{
                                    		cin >> jia >> xing;
                                    		if (xing == 'M' && tai[jia] == 0)
                                    		{
                                    			cout << "Yes\n";
                                    			tai[jia] = 1;
                                    		}
                                    		else
                                    			cout << "No\n";
                                    	}
                                    	return 0;
                                    }
                                    
                                    • @ 2025-1-4 11:54:27

                                      或这个

                                      #include <bits/stdc++.h>
                                      #define ll long long
                                      using namespace std;
                                      const int N =400 * 365 + 100 - 4 + 1;
                                      struct date
                                      {
                                      	int y,m,d;
                                      };
                                      int day[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
                                      int run(int y,int m)
                                      {
                                      	if (m != 2) return day[m];
                                      	if(y < 0)
                                      	{
                                      		if (-y % 4 == 1) return 29;
                                      		return 28;
                                      	}
                                      	if (y <= 1582)
                                      	{
                                      		if (y % 4 == 0) return 29;
                                      		return 28;
                                      	}
                                      	if (y% 400 == 0 || y % 4 == 0 && y % 100) return 29;
                                      	return 28;
                                      }
                                      void nxt(date &a)
                                      {
                                      	a.d++;
                                      	if (a.y == 1582 &&a.m == 10 && a.d== 5) a.d = 15;
                                      	if (a.d > run(a.y,a.m)) a.d = 1,a.m++;
                                      	if (a.m > 12) a.m = 1,a.y++;
                                      	if (a.y == 0) a.y = 1;
                                      }
                                      void print(date &a)
                                      {
                                      	cout << a.d << " " << a.m << " ";
                                      	if (a.y < 0) cout << -a.y << " BC\n";
                                      	else cout << a.y << "\n";
                                      }
                                      int tot,q;
                                      date ans1[3000005],ans2[N + 10];
                                      signed main()
                                      {
                                      	freopen("julian.in","r",stdin);
                                      	freopen("julian.out","w",stdout);
                                      	ios::sync_with_stdio(false);
                                      	cin.tie(0);
                                      	date strt = {-4713,1,1};
                                      	for (tot =0;tot <= 3000000;tot++)
                                      	{
                                      		ans1[tot] = strt;
                                      		nxt(strt);
                                      	}
                                      	for (int i = 0;i <= N;i++)
                                      	{
                                      		ans2[i] = strt;
                                      		nxt(strt);
                                      	}
                                      	cin >> q;
                                      	while(q--)
                                      	{
                                      		ll x;
                                      		cin >> x;
                                      		if (x <= tot) print(ans1[x]);
                                      		else
                                      		{
                                      			ll xx = x - tot;
                                      			ll nowy = xx / N;
                                      			ll nowr = xx% N;
                                      			date nowans = ans2[nowr];
                                      			nowans.y += nowy * 400;
                                      			print(nowans);
                                      		}
                                      	}
                                      	return 0;
                                      }
                                      
                                    • @ 2025-1-10 2:39:45

                                      第一个:

                                      #include <bits/stdc++.h>
                                      using namespace std;
                                      int n,m,jia;
                                      char xing;
                                      bool tai[110]; 
                                      int main(){
                                      	ios::sync_with_stdio(false);
                                      	cin.tie(0);
                                      	cin>>n>>m;
                                      	for (int i=1;i<=m;i++){
                                      		cin>>jia>>xing;
                                      		if (xing=='M' && tai[jia]==0){
                                      			cout<<"Yes\n";
                                      			tai[jia]=1;
                                      		}
                                      		else cout<<"No\n";
                                      	}
                                      	return 0;
                                      }
                                      

                                      第二个有些难,得等一会

                                  • @ 2025-1-4 11:31:37

                                    硬币@33DAI

                                  • @ 2025-1-3 11:40:51
                                    using namespace std;
                                    typedef long long LL;
                                    const int N = 100010;
                                    int a[N];
                                    int L;//表示公路的长度
                                    int n;//原有路标的数量
                                    int k;//最多可增设的路标数量
                                    
                                    bool check(int mid) {
                                        //如果按空旷指数 mid进行安排,那么需要安排几个路标
                                        int t = 0; //需要增加的路标个数
                                        for (int i = 1; i < n; i++)
                                            if (a[i + 1] - a[i] > mid) {
                                                t += (a[i + 1] - a[i]) / mid;
                                                //如果余数为零,还是要减去一个滴~
                                                if ((a[i + 1] - a[i]) % mid == 0) t--;
                                            }
                                        return t <= k;//如果现在的路标数量小于k,也还行?~
                                    }
                                    
                                    int main() {
                                        cin >> L >> n >> k;
                                        for (int i = 1; i <= n; i++) cin >> a[i];
                                    
                                        int l = 0, r = L;
                                        while (l < r) {
                                            int mid = (l + r) >> 1;
                                            if (check(mid)) r = mid;    // 使得公路的“空旷指数”最小,向小了逼近,r=mid
                                            else l = mid + 1;
                                        }
                                        cout << l << endl;
                                        return 0;
                                    }
                                    
                                    
                                    • @ 2025-1-3 11:40:38

                                      `#include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 100010; int a[N]; int L;//表示公路的长度 int n;//原有路标的数量 int k;//最多可增设的路标数量

                                      bool check(int mid) { //如果按空旷指数 mid进行安排,那么需要安排几个路标 int t = 0; //需要增加的路标个数 for (int i = 1; i < n; i++) if (a[i + 1] - a[i] > mid) { t += (a[i + 1] - a[i]) / mid; //如果余数为零,还是要减去一个滴~ if ((a[i + 1] - a[i]) % mid == 0) t--; } return t <= k;//如果现在的路标数量小于k,也还行?~ }

                                      int main() { cin >> L >> n >> k; for (int i = 1; i <= n; i++) cin >> a[i];

                                      int l = 0, r = L;
                                      while (l < r) {
                                          int mid = (l + r) >> 1;
                                          if (check(mid)) r = mid;    // 使得公路的“空旷指数”最小,向小了逼近,r=mid
                                          else l = mid + 1;
                                      }
                                      cout << l << endl;
                                      return 0;
                                      

                                      }`

                                    • @ 2025-1-1 15:23:38

                                      • @ 2025-1-1 12:16:26

                                        @说好的硬币呢?

                                      • @ 2024-12-31 23:08:22

                                        有无打周赛的

                                        • @ 2024-12-31 21:14:28

                                          问一下@用户咋发

                                        • @ 2024-12-31 21:04:07
                                        • @ 2024-12-31 20:57:19

                                          谁和我一起九点打周赛

                                          • @ 2024-12-31 20:50:57

                                            我勒个 AK

                                          • @ 2024-12-31 18:57:28

                                            要开赛了!!!!!!!!!!

                                            • @ 2024-12-31 18:57:04

                                              1