牛客第五场A,G,J

又来贴水题了,哭唧唧

A

gpa

是一道01分数规划题

可以参考一下这篇博客https://blog.csdn.net/mosquito_zm/article/details/78585094

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+7;
const double INF = 1<<20;
int n,k;
int s[maxn],c[maxn];
double res[maxn];
void init()
{
	memset(s,0,sizeof(s));
	memset(c,0,sizeof(c));
	memset(res,0,sizeof(res));
}
bool isok(double x)
{
	for(int i=1;i<=n;i++)
	{
		res[i] = s[i]*c[i]-x*s[i];
	}
	sort(res+1,res+1+n);
	double ans = 0;
	for(int i=n;i>=k+1;i--)
	{
		ans += res[i];
	}
	double tmp = ans;
	for(int i=k;i>=1;i--)
	{
		ans = max(ans,tmp);
		tmp += res[i];
	}
	return ans>=0;
}
int main()
{
	while(~scanf("%d%d",&n,&k))
	{
		init();
		for(int i=1;i<=n;i++)
		{
			scanf("%d",s+i);
		}
		for(int i=1;i<=n;i++)
		{
			scanf("%d",c+i);
		}
		double l=0,r=1e3+7;
		while(r-l>=1e-6)
		{
			double mid = (l+r)/2;
			if(isok(mid))
			{
				l = mid;
			}
			else
			{
				r = mid;
			}
		}
		printf("%.5lf\n",l);
	}
	return 0;
}

G

max

根据a,b最大公约数是c去找a,b; 当同时乘以两个互质的数时得到的a,b最大公约数是c,而且两个连续的数肯定是互质的,考虑清3种情况就行了。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e9+7;
int main()
{
	ll c,n;
	while(~scanf("%lld%lld",&c,&n))
	{
		ll k = n/c;
		if(k>=2)
		{
			printf("%lld\n",k*c*(k-1)*c);
		}
		if(k==1){
			printf("%lld\n",c*c);
		}
		if(k<1)
		{
			printf("-1\n");
		}
	}
	return 0;
} 

J

plan

比赛时真的写的又臭又长,现在精简了,简而言之,就是根据2人间和3人间的性价比优先考虑哪个。

#include<bits/stdc++.h> 
using namespace std;
typedef long long LL;
const int INF=INT_MAX;
LL n,p2,p3;
int main() {
    scanf("%lld%lld%lld",&n,&p2,&p3);
    LL sum=0;
    if(3*p2<=2*p3){//二人间性价比高 
        sum=n/2*p2;//先尽可能的全是二人间 
        if(n%2==1 && n/2)  sum+=min(p2,p3-p2);//如果多了一个,且二人间多于1间,那就可以考虑
		//是加一个二人间还是减掉一个二人换一个三人 
        else if (n%2)sum +=min(p2,p3);//考虑只有一个人的情况 
    }
    else{
        sum=n/3*p3;
        if(n%3==2)  sum+=min(p2,p3);
        if(n%3==1&&n/3)  sum+=min(2*p2-p3,p2);//多了一个,可以少一个3人加两个2人,也可以直接加一个二人
		if(n%3==1&&n/3==0) sum+=p2;//只有一个人 
    }
    printf("%lld\n",sum);
}

猜你喜欢

转载自blog.csdn.net/TDD_Master/article/details/81381833
今日推荐