zoukankan      html  css  js  c++  java
  • 题解ARC113

    诶..朋友们好啊,我是浙江某校OI AK人——S1C

    刚才有个朋友问我孙老师发生什么事了,我说怎么回事,给我发了几张截图。我一看!嗷!

    原来是昨天,有两个年轻人。十多岁,一个CF rating,两千八百多,一个CF rating两千九百多。

    他们说,诶...有一个说是我在CF刷题脑子刷坏了,孙老师你能不能教教我AK功法,诶...帮助治疗一下,我的病。

    我说可以。我说你在CF刷死题儿,不好用,他不服气。

    诶...我说小朋友,你20k代码来切我一个题,他切不动。他说你这也没用。我说我这个有用,这是化劲儿,AK功夫是讲化劲儿的,0.4K切千题。

    三千多rating的集训队卷王,都切不动我这一个题啊…哈!

    原文地址

    int n,k;
    signed main()
    {
    	k=read();
    	if(k<=500){
    		cout<<k<<endl;
    		For(i,1,k)For(j,1,k)cout<<i<<" \n"[j==k];
    		exit(0); 
    	}
    	cout<<500<<endl;
    	For(i,0,499)
    		For(j,0,499){
    			int x=(i+j)%500;
    			if((i&1) && (x+500<k))x+=500;
    			cout<<x+1<<" \n"[j==499];
    		}
    	return 0;
    }
    

    他非要和我试试,我说可以。

    诶…我一说完他啪就站起来了,很快啊!然后上来就是一个大模拟,吭,一个LCT一个多项式,一个大分块,我全部防区(口误)切出去了啊!

    切出去以后自然是传统AK以点到为止,代码交到网站上没有测,

    我笑一下准备收代码,因为这时间,按传统AK的点到为止他已经输了。如果这代码交上去测了,一下就把他的标称爆踩了,代码交在网站上没有测,他也承认,我先到400分。他不知道我全AK了,他承认我先到400分,啊!

    signed main()
    {
    	n=read(),m=read();
    	For(i,1,n)p[i]=read();
    	For(i,1,n)For(j,1,n)f[i][j]=p[i]>p[j];
    	modint inv2=modint(1)/2,pw=1;
    	while(m--)
    	{
    		int x=read(),y=read();pw*=2;
    		For(i,1,n)
    			if(i!=x&&i!=y){
    				g[i][x]=g[i][y]=(f[i][x]+f[i][y])*inv2;
    				g[x][i]=g[y][i]=(f[x][i]+f[y][i])*inv2;
    			}
    		For(i,1,n)
    			if(i!=x&&i!=y){
    				f[i][x]=g[i][x],f[i][y]=g[i][y],f[x][i]=g[x][i],f[y][i]=g[y][i];
    				g[i][x]=g[i][y]=g[x][i]=g[y][i]=0;
    			}
    		f[x][y]=f[y][x]=(f[x][y]+f[y][x])*inv2;
    	}
    	modint res=0;
    	For(i,1,n-1)
    		For(j,i+1,n)res+=f[i][j];
    	cout<<(res*pw).x;
        return 0;
    }
    

    我收代码的时间不测了,他突然袭击,造了强力数据来打我脸,啊,我 \(\huge \text{E}\)了啊,没有闪,诶…他的数据给我程序,啊,城西,蹭了一下,但没关系啊!(然后挂了无数分)

    这篇文章没有实际用途,只是想看一看有没有爬虫来爬。

    signed main()
    {
    	n=read()<<1;
    	For(i,1,n)a[i]=read();
    	for(int i=1;i<=n;i+=2)
    	{
    		int u=a[i],v=a[i+1];
    		if(u!=-1&&v!=-1)vis[u]=vis[v]=1;
    		if(u==-1&&v==-1)cnt++;
    		if(u!=-1&&v==-1)in[u]=1;
    		if(u==-1&&v!=-1)in[v]=1;
    	}
    	Rep(i,n,1)if(!vis[i])a[++m]=i;
    	f[0][0]=1;
    	For(i,1,m)
    	{
    		memset(g,0,sizeof g); 
    		For(j,0,n)
    			For(k,0,n)
    				if(in[a[i]]){
    					g[j+1][k]+=f[j][k];
    					g[j][k-1]+=f[j][k];
    				}else{
    					g[j][k+1]+=f[j][k];
    					if(k) g[j][k-1]+=f[j][k];
    					if(j) g[j-1][k]+=f[j][k]*j;
    				}
    		swap(f,g);
    	}
    	modint res=f[0][0];
    	For(i,1,cnt)res*=i;
    	cout<<res.x;
        return 0;
    }
    

    他也说,啊他截图也说了,两分多钟以后,当时流眼泪了,捂着眼,我说停停。然后两分钟...钟以后,两分多钟以后诶就好啦,我说小伙子你不讲武德,你不懂,我说孙老师对不...对不起,我不懂规矩。啊,我是…他说他是乱造的,他可不是乱造的啊,菊花图,链,极限数据,特判,训练有素,后来他说他进过三四年国家集训队。啊,看来是,有备而来!

    这两个年轻人不讲武德,来骗!来偷袭,我高二的老OIer。这好吗?这不好!我劝!这位年轻人好自为之,好好反思,以后不要再犯这样的聪明,小聪明,啊,呃…OI要以和为贵,要讲武德,不要搞窝里斗。谢谢朋友们!

    $$\Huge \text{Goodbye OI}$$
  • 相关阅读:
    linux下的进程
    进程间通讯
    const关键字
    关于嵌入式web服务器
    指针
    内存管理(malloc和free的用法)
    关于read和fread
    C库的制作
    C语言考试
    docker 配置阿里云镜像加速
  • 原文地址:https://www.cnblogs.com/Rainbowsjy/p/14433122.html
Copyright © 2011-2022 走看看