CF1542A~C

摘要:
传送门A.奇数集思考:判断奇偶校验数是否相等。注:(1)特殊情况(2)当余数为时退出,输出No(3)首先判断余数是否为,然后判断代码是否可分割:llt[maxn],idx;voidsolve(){lln=读取,a=读取,b=读取;如果{ifput;elseputs;return;}idx=0;对于{if{t[i]=1;lltmp=n-t[i];ifbreak;//cout˂˂t[i-1]˂˂“***”˂˂tmp˂˂endl;if{put;return;}}否则{t[i]=t[i-1]*a;lltmp=n-t[i];ifbreak;//cout˂˂t[i-1]˂˂“***”˂˂tmp˂max)的因子,那么,考虑每个数字对答案的贡献,即有多少个数字。因为每个人都会比他少加一次。

传送门

A.Odd Set

思路:

判断奇偶个数是否相等。

代码:

int a[maxn];
 
void solve(){
	int n=read,cnt0=0,cnt1=0;
	rep(i,1,2*n){
		a[i]=read;
		if(a[i]&1) cnt1++;
		else cnt0++;
	}
	if(cnt0==cnt1) puts("Yes");
	else puts("No");
}
 
int main(){
	int _=read;
	while(_--){
		solve();
	}
	return 0;
}
 
B.Plus and Multiply

思路:

首先,当(n)(a^{x}+y*b)的形式时才在集合里。
只需要枚举(x),判断余数能否整除(b)即可。
注意:
(1.)特判(a==1)的情况
(2.)当余数为(0)时退出,输出No
(3.)先判断余数是否为(0)再判断能否整除(b)

代码:

ll t[maxn],idx;
 
void solve(){
	ll n=read,a=read,b=read;
	if(a==1){
		if((n-1)%b==0) puts("Yes");
		else puts("No");
		return ;
	}
	idx=0;
	for(int i=0;;i++){
		if(i==0){
			t[i]=1;
			ll tmp=n-t[i];
			if(t[i]>n) break;
			//cout<<t[i-1]<<"***"<<tmp<<endl;
			if(tmp%b==0){
				puts("Yes");return ;
			}
			
		}
		else{
			t[i]=t[i-1]*a;
			ll tmp=n-t[i];
			if(t[i]>n) break;
			//cout<<t[i-1]<<"***"<<tmp<<endl;
			if(tmp%b==0){
				puts("Yes");return ;
			}
			
		}
		
	}
	puts("No");
}
 
int main(){
	int _=read;
	while(_--){
		solve();
	}
	return 0;
}
 
Strange Function

思路:

首先,(f(奇数)=2,f(偶数)>=2)
其次,(f(x)<=41),因为如果(f(x)=y),那么(lcm(1,2,3,……,y-1))一定是(x)的因子,而(lcm(1,2,3,……,y))一定不是(x)的因子,(lcm(1,2,3,……,41)>max(n)).
然后,考虑每个数对答案的贡献,也就是说(f(x)=y)的数有几个。
由于对于(f(x)>=2),假设答案最开始为(2*n);
再从(3)开始考虑每个数(y)对答案的贡献,(f(x)>=y)的个数为(n/lcm(1,2,3……y-1)),每次的贡献是(1)。因为每个都会被小于他的加一遍。

代码:

 
ll n,a[50];
 
ll gcd(ll a,ll b){
	return b==0?a:gcd(b,a%b);
}
 
ll lcm(ll a,ll b){
	return a/gcd(a,b)*b;
}
 
void init(){
	a[1]=1;
	for(int i=2;i<=42;i++)
		a[i]=lcm(i,a[i-1]);
}
 
void solve(){
	ll n=read;
	ll res=2*n%mod;
	rep(i,3,41){
		res=(res+n/a[i-1])%mod;
	}
	cout<<res<<endl;
}
 
int main(){
	init();
	int _=read;
	while(_--){
		solve();
	}
	return 0;
}
 

免责声明:文章转载自《CF1542A~C》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sscanf函数用法详解Selenium3+python3自动化(四十八)--阿里云centos7上搭建selenium启动chrome浏览器headless无界面模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

为服务中网关的作用

“API网关”核心组件是架构用于满足此些需求。API网关定位为应用系统服务接口的网关,区别于网络技术的网关,但是原理则是一样。API网关统一服务入口,可方便实现对平台众多服务接口进行管控,对访问服务的身份认证、防报文重放与防数据篡改、功能调用的业务鉴权、响应数据的脱敏、流量与并发控制,甚至基于API调用的计量或者计费等等。...

Android:在任务列表隐藏最近打开的app

//schemas.android.com/apk/res/android“package=”com.li.test“android:versionName=”1.0“&gt:targetSdkVersion=”23“/&gt:allowBackup=”true“android:icon=”@mipmap/ic_launcher“androi...

flutter vscode+第三方安卓模拟器

1.首先打开夜曲模拟器2.Win+R,选择cmd,在第三方模拟器安装目录的bin目录下输入夜曲模拟器,然后运行命令:nox_Adb.execonnect127.0.0.1:620013。打开项目终端的vscode并建立连接:adbconnect127.00.1:62001(夜神模拟器的默认端口)4。查看连接:adbdevices或不使用第三方模拟器:1.打开...

mac格式化重装系统

4.选择“重新安装MacOS”5.按照以下步骤中的提示进行操作。安装需要半个多小时。在此期间无法断开网络,否则需要重新安装...

oracle的序列号(sequence)

Oracle的自动递增列应使用序列号。在初始化阶段,需要手动创建序列,然后在插入序列时手动读取分配给相关字段(如ID)的序列的nextval。这很麻烦。但是,这对于SQL Server来说不是问题,可以获得。oracle的序列号也有缓存。默认情况下,一次生成20个。如果没有用完,它们可能会丢失,这可能会导致ID不一致。此外,有时这可能会引起误解。例如,我有一...

plsql 导出查询结果

单击青色按钮,表示所查询的所有数据都将导出到指定文件,而不仅仅是以下列表中显示的数据行;无需单击“获取最后一页”按钮。注意:选择导出到excel文件时,需要注意默认导出为*。xlsx格式。您可以选择*。xls格式,但*。xls格式只能容纳65536行数据。如果要导出的数据超过最大值,则必须更改为*。xlsx格式!如果您仍然使用此格式,后面的数据将覆盖以前的数...