吴思浵题目

Done Ledo Start at: 2025-6-11 13:45 20 hour(s) Host: 1

以下是部分题解,不懂的可以看下提示再写。

小杨的幸运数字

质因数分解,找到一个质数,把这个质数除干净

bool cmp(int a){
	int ans = 0;
	for(int i=2;i*i<=a;i++){
		if(a%i==0){
			ans++;
			while(a%i==0){
				a/=i;
			}
		}
	}
	if(a!=1)ans++;
	return ans==2;
}
挑战怪物

直接暴力枚举。看到这里先去试下怎么枚举。还是不会继续看

bool cmp(int k){  // 判断k 是不是质数
	for(int i=2;i*i<=k;i++){
		if(k%i==0)return 0;
	}
	return 1;
}
int check(int k){  // k 为怪物血量
	int i=1;   //  i 表示接下来一次攻击会对怪物造成i点伤害
	int ans=0;
	while(k>0){
		ans++;
		if(cmp(k)){  // 如果k为质数,直接KO
			return ans;
		}else{
			k = k - i;
		}
		i=i*2;
	}
	if(k==0)return ans;
	return -1;
}
[奇妙数字]
#include<bits/stdc++.h>
using namespace std;
struct node{
	long long num;
	int cnt;
};
vector<node> vec;
int main() {
	long long n;
	scanf("%lld",&n);
	for(long long i=2;i*i<=n;i++){
		if(n%i==0){
			int num=i,cnt=0;
			while(n%i==0){
				cnt++;
				n/=i;
			}
			vec.push_back({num,cnt});
		}
	}
	if(n!=1){
		vec.push_back({n,1});
	}
	int ans=0;
	for(int i=0;i<vec.size();i++){
		for(int j=1;j<=vec[i].cnt;j++){
			ans++;
			vec[i].cnt -=j;
		}
	}
	cout << ans << endl;	
	return 0;
}
[武器强化]
#include<bits/stdc++.h>
using namespace std;
vector<long long> vec[1005];
int n,m;
long long check(int k) {
	vector<long long> temp;
	long long sum = 0;
	int t1 = vec[1].size();
	for(int i=2; i<=n; i++) {
		int id = vec[i].size()-k+1;
		if(id<0)id=0;
		for(int j=0; j<id; j++) {
			sum+=vec[i][j];
			t1++;
		}
		for(int j=id; j<vec[i].size(); j++) {
			temp.push_back(vec[i][j]);
		}
	}
	if(t1<k) {
		sort(temp.begin(),temp.end());
		int id=temp.size();// 
		id = min(id,k-t1);
		for(int j=0; j<id; j++) {
			sum+=temp[j];
			t1++;
		}
	}
	return sum;
}
int main() {
	scanf("%d%d",&n,&m);
	for(int i=1; i<=m; i++) {
		long long p,c;
		scanf("%lld%lld",&p,&c);
		vec[p].push_back(c);
	}
	for(int i=1; i<=n; i++) {
		sort(vec[i].begin(),vec[i].end());
	}
	int a=vec[1].size();
	if(a==0)a=1;
	long long ans=1e18;
	for(int i=a; i<=m; i++) { //枚举第一种武器的适配为 i
		ans = min(ans,check(i));
	}
	cout<<ans << endl;
	return 0;
}
Status
Done
Rule
Ledo
Problem
4
Start at
2025-6-11 13:45
End at
2025-6-12 9:45
Duration
20 hour(s)
Host
Partic.
1