Acwing第 57 场周赛未完结

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 57 场周赛未完结相关的知识,希望对你有一定的参考价值。

懒了,只做俩题。第三题懒的看了
https://www.acwing.com/activity/content/competition/problem_list/1974/

目录

4485. 比大小

#include<bits/stdc++.h> 
using namespace std;
const int N=1e5*5+10;
typedef long long int LL;
LL n,m,s1,s2,a[N],b[N];
int main(void)

	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i],s1+=a[i];
	for(int i=1;i<=n;i++) cin>>b[i],s2+=b[i];
	if(s1>=s2) puts("Yes");
	else puts("No");
	return 0;

4486. 数字操作【数学】


数学题,刚开始以为dfs或者最短路建图可做。后来一想就是数学思维题。
经过操作后最小的数一定是这些质数因子的乘积,那么关键问题就是在于求次数。

#include<bits/stdc++.h> 
using namespace std;
void solve()

	int n; cin>>n;
	if(n==1)
	
		puts("1 0");
		return;
	
	vector< pair<int,int> >ve;
	int ans=1,cnt=0,flag=0,maxv=0;
	for(int i=2;i<=n/i;i++) 
	
		int s=0;
		while(n%i==0) s++,n/=i;
		if(s) ve.push_back(i,s),ans*=i;
	
	if(n!=1) ve.push_back(n,1),ans*=n;
	map<int,int>mp,st;
	for(int i=1;i<=25;i++) mp[pow(2,i)]++;
	for(int i=0;i<ve.size();i++)
	
		st[ve[i].second]++;
		if(!mp[ve[i].second]) flag=1;//不是 2,4,8这种数
		maxv=max(maxv,ve[i].second);
	
	for(int i=1;i<=25;i++) 
	
		if(pow(2,i)>=maxv) 
		
			cnt=i;
			break;
		
	
	if(st.size()!=1) flag=1;//数的种类多于1
	if(maxv==1) cout<<ans<<" "<<0<<endl;//已经是最简的了
	else cout<<ans<<" "<<cnt+flag; 

int main(void)

	solve();
	return 0;

以上是关于Acwing第 57 场周赛未完结的主要内容,如果未能解决你的问题,请参考以下文章

Acwing第 57 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 70 场周赛未完结

Acwing第 65 场周赛未完结

Acwing第 65 场周赛未完结