Dytechlab Cup 2022

Posted yeah17981

tags:

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

俩礼拜没正儿八经打代码了

and 不要看见题目就暴力暴力的,多观察下数据(B痛苦的领悟)

Dashboard - Dytechlab Cup 2022 - Codeforces

A:给n本书,每本书用一个小写字母表示,k本一组(一定k为n的因数),求每组的mex值,并组合成字符串,使得字符串最大(不存在字母z)

贪心,每次从a选到第min(k,25)个字母,遇到0直接输出并跳出即可,都不为零就输出下一个字母

int _=read();
	while(_--)
	
		memset(a,0,sizeof(a));
		char t;
		int n=read(),k=read();
		for(int i=1;i<=n;i++)
		
			cin>>t;
			a[t-'a']++;
		
		
		for(int i=1;i<=k;i++)
		
			int cnt=-1;
			for(int j=0;j<n/k;j++)
			
				if(a[j]==0)
				
					cnt=j;
					break;
				
				a[j]--;
			
			if(cnt==-1) t='a'+n/k;
			else t='a'+cnt;
			cout<<t;
		
		cout<<"\\n";
	

B:给l和r,求区间内有多少个数x满足是x的因数

我们枚举下可行的答案

1:1 2 3

2:4 6 8

3:3 12 15

4:16 20 24

5:25 30 35

……

看出规律了吗,每两个平方数之间可行解为2个

原因:求之间的可行解,就是求中k的最大值与a的大小的差

因此k的最大值是a+1,a+1-(a-1)=2

得证

因此找出l与r的平方数,在判断一下前后多加/少加的数就ok了

int _=read();
	while(_--)
	
		ll n=read(),m=read();
		ll k=sqrt(n),z=sqrt(m);
		ll ans=(z-k)*3;
		for(int i=k;i*(k)<(k+1)*(k+1);i++)
		
			if(i*k>=n)ans++;
		
		for(int i=z;i*(z)<(z+1)*(z+1);i++)
		
			if(i*(z)>m)ans--;
		
		printf("%lld\\n",ans);
	

C:棋盘上有三个棋子,呈L的形状,每颗棋子可以跳过其他棋子(横,纵,斜,类比孔明棋,但是不拿走),求有没有棋子能到目标点。

首先要确定的是,L的中心点延伸出来的十字的点是一定能到达的,因此我们需要找出中心点能转移的所有位置,其横纵轴都是能到达的

假设现在中心点为(x,y),其右上各一个点,如果将中心点横向转移,则可以通过右→左,上→左下,中→左,此时中心点转移到(x-2,y)同理可进行延伸,求出可行解图

有图可得,以任意三个符合条件的黄点出发(后会补充一种特殊情况),白点是无法到达的点,我们也可以尝试从白点反推是否符合条件,发现可转移到白点的点都是白点,成立。

因此与中心点横纵坐标的差值均为奇数的情况是无解,其余为有解

注意如果初始中心点在角上时,只能向其十字转移,需要特判

int _=read();
	while(_--)
	
		ll n=read();
		ll a,b;
		ll a1=read(),b1=read(),a2=read(),b2=read(),a3=read(),b3=read();
		if(a1==a2)a=a1;
		if(a2==a3)a=a2;
		if(a3==a1)a=a1;
		if(b1==b2)b=b1;
		if(b2==b3)b=b2;
		if(b3==b1)b=b1;
		ll x=read(),y=read();
		if((a==1||a==n)&&(b==1||b==n))
		
			if(x==a||y==b) printf("YES\\n");
			else printf("NO\\n");
			continue;
		
		if(abs(x-a)%2!=0&&abs(y-b)%2!=0) printf("NO\\n");
		else printf("YES\\n");
		//for(int i=1;i<=n;i++)
	

后面暂时先不补了,先做作业QWQ

以上是关于Dytechlab Cup 2022的主要内容,如果未能解决你的问题,请参考以下文章

Dytechlab Cup 2022

2022世界杯开源项目实战使用docker部署world-cup-2022-cli-dashboard数据看板工具

[蓝桥杯2022初赛] 质因数个数

KDD Cup大赛Baseline&思路开源了!

2021-2022-2 ACM集训队每周程序设计竞赛 - 问题 D: 上数论课 - 题解

2022.7.30 LeetCode AcWing