神智无知(CF)

Posted kksk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神智无知(CF)相关的知识,希望对你有一定的参考价值。

A. Matrix Game
题目链接:https://codeforces.ml/contest/1365/problem/A

对矩阵把不可操作的行列除去,得到一个h×w的矩阵

由于每当一个人操作一次,就会占去一行一列,最多操作比较h,w得较小的数为操作次数,当为奇数Ashish赢,偶数Vivek赢
 
    #include <iostream>
    using namespace std;
    int t,n,m,h,w;
    int map[57][57];
    int main(){
    	scanf("%d",&t);
    	while(t--){
    		scanf("%d %d",&n,&m);
    		h=0,w=0;
    		
    		for(int i=1;i<=n;i++){
    			int ok=1;
    			for(int j=1;j<=m;j++){
    				scanf("%d",&map[i][j]);
    				if(map[i][j]==1) ok=0;
    			}
    			if(ok) h++;
    		}
    		for(int i=1;i<=m;i++){
    			int ok=1;
    			for(int j=1;j<=n;j++){
    				if(map[j][i]==1) ok=0;
    			}
    			if(ok) w++;
    		}
    //		cout<<h<<" "<<w<<endl;
    		int cnt=min(h,w);
    		if(cnt%2==0) printf("Vivek
");
    		else printf("Ashish
");
    	}
    }

 

B. Trouble Sort

只要b数组不全为0或1,就能把a数组非降序排列,特判a数组本就为非降序排列

    #include <iostream>
    #include <algorithm>
    using namespace std;
    int t,n,a[505],b[505],tp[505];
    int main(){
    	scanf("%d",&t);
    	while(t--){
    		scanf("%d",&n);
    		for(int i=1;i<=n;i++) scanf("%d",&a[i]),tp[i]=a[i];
    		for(int j=1;j<=n;j++) scanf("%d",&b[j]);
    		sort(tp+1,tp+1+n);
    		int ok=0;
    		for(int i=1;i<=n;i++){
    			if(tp[i]!=a[i]) ok=1;
    		}
    		if(ok){
    			int sum=0;
    			for(int i=1;i<=n;i++) sum+=b[i];
    			if(sum==0||sum==n) printf("No
");
    			else printf("Yes
");
    		}else{
    			printf("Yes
");
    		}
    	}
    }

 C. Rotation Matching

枚举b数组中bi右移与aj配对为元素对所需的步数,相同步数多的为元素对最多的

    #include <iostream>
    using namespace std;
    int n,a[200007],b[200007],vis[200007],bok[200007];
    int main(){
    	scanf("%d",&n);
    	for(int i=1;i<=n;i++) scanf("%d",&a[i]),vis[a[i]]=i;
    	for(int i=1;i<=n;i++) scanf("%d",&b[i]);
    	int ans=0;
    	for(int i=1;i<=n;i++){
    		int dis;
    		if(vis[b[i]]>=i) dis=vis[b[i]]-i;
    		else dis=vis[b[i]]+n-i;
    		bok[dis]++;
    		ans=max(ans,bok[dis]);
    	}
    	printf("%d
",ans);
    }

 

 

以上是关于神智无知(CF)的主要内容,如果未能解决你的问题,请参考以下文章

CF 600E 树上启发式合并

以下代码是不是违反持久性无知规则

cf 模拟

究竟啥是“执着无知”?

通过无知解决 LazyInitializationException

持久性无知和 DDD 现实