用户工具

站点工具


2023-2024:teams:ikun_is_coding:2023_牛客暑期多校训练营_2

这是本文档旧的修订版!


目录

A

B

C

D

贪心

n个人共m道菜,循环选取k道,每个人对不同菜的喜爱程度给出,每个人都希望这k道菜的喜爱程度的和最大

感性地,预知前人的选择是没有意义的,没人能对干预过去,轮到他们的时候前人的结果就已经确定了

只会考虑后人的选择,那么,最后一个人一定有能力选择自己最喜欢的菜,以此类推

每个人只需要点后人点过的菜以外自己最喜欢的菜,就可以进行回推了

AC代码

#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int>  PII;
const int N = 2010;
int a[N][N];
PII b[N][N];
int vis[N];
int main(){
	int t;
	cin>>t;
	while(t--){
	    int n,m,k;
	    cin>>n>>m>>k;
	    for(int i=0;i<n;++i) for(int j=0;j<m;++j) scanf("%d",&a[i][j]);
	    int count = 0;
	    for(int i=0;i<k;++i){
	    	if(count==n) count=0;
	        for(int j=0;j<m;++j){
	           b[i][j] = {a[count][j],j};
	        }
	    	count++;
	    }
	    for(int i=k-1;i>=0;--i){
	    	sort(b[i],b[i]+m);
	    	for(int j=m-1;j>=0;--j){
	    		if(!vis[b[i][j].second]){
	    		   vis[b[i][j].second] = 1;
	    		   break;
	    		}
	    	}
	    }
	    for(int i=0;i<m;++i) if(vis[i]) printf("%d ",i+1);
	    printf("\n");
		memset(vis,0,sizeof(int)*m);
	}

}

E

F

G

H

I

签到题

给定n*m大小的棋盘,按五子棋规则构造两人和棋情况

结论很显然

如果行数为偶数,对每一行构造一个连续四个断一个即可,下一行和上一行的情况完全相反

如果行数为奇数,考虑前n-1行采取偶数行情况的构造,最后一行两个棋子交替即可

本来第一直觉以为是考察五子棋的日字八卦阵,结果发现我属实想多了(虽然正解是这么做的,但我觉得很没必要)

八卦阵是和棋局面的充分条件,并非必要条件

AC代码

#include <bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	while(t--){
		int n,m;
		cin>>n>>m;
		int flag = 1;
		for(int i=0;i<(n%2?n-1:n);++i){
		   	int count = 1;
		   	for(int j=0;j<m;++j){
		   	   	if(flag>0){
		   	   	   	if(count<=4){
		   	   	   	  	printf("x");
		   	   	   	  	count++;
		   	   	   	}
		   	   	   	else{
		   	   	   	  	count = 1;
		   	   	   	  	printf("o");
		   	   	   	}
		   	   	}
		   	   	else{
		   	   	    if(count<=4){
		   	   	   	  	printf("o");
		   	   	   	  	count++;
		   	   	   	}
		   	   	   	else{
		   	   	   	  	count = 1;
		   	   	   	  	printf("x");
		   	   	   	}
		   	   	}
		   	}
		   	flag = -flag;
		   	printf("\n");
		}
		if(n%2){
		    for(int j=0;j<m;++j){
		    	if(j%2==0) printf("x");
		    	else printf("o");
		    }
			printf("\n");
		}

    }
}

J

K

L

2023-2024/teams/ikun_is_coding/2023_牛客暑期多校训练营_2.1690085740.txt.gz · 最后更改: 2023/07/23 12:15 由 blackening