P8647 [蓝桥杯 2017 省 AB] 分巧克力

思路:二分查找

#include

using namespace std;

int n,k;

int h[100010],w[100010];

bool check(int x)

{

int sum=0;

for(int i=0;i

{

sum+=(h[i]/x)*(w[i]/x);

if(sum>=k) return true;

}

return false;

}

int main()

{

cin>>n>>k;

for(int i=0;i

{

cin>>h[i]>>w[i];

}

int l=1,r=100010;

while(l+1

{

int mid=(l+r)/2;

if(check(mid)) l=mid;

else r=mid;

}

cout<

return 0;

}

P8738 [蓝桥杯 2020 国 C] 天干地支

思路:首先确定0004年是甲子年,并以此为基点。

#include

using namespace std;

int x;

int main()

{

string s1[]={"jia","yi","bing","ding","wu","ji","geng","xin","ren","kui"};

string s2[]={"zi","chou","yin","mao","chen","si","wu","wei","shen","you","xu","hai"};

cin>>x;

if(x<4){

if(x==3) cout<<"kuihai";

if(x==2) cout<<"renxu";

if(x==1) cout<<"xinyou";

return 0;

}

x=(x-4)%60;60年一个循环,找出这个数在循环里的位置

int a=x%10,b=x%12;然后通过求余数就可以找到答案

cout<

return 0;

}

P8772 [蓝桥杯 2022 省 A] 求和

思路:先算前缀和,然后就遍历

#include

using namespace std;

int n;

long long sum;

int a[200010];

long long q[200010];

int main()

{

cin>>n;

for(int i=1;i<=n;i++)

{

cin>>a[i];

q[i]=q[i-1]+a[i];

}

for(int i=1;i

{

sum+=(q[n]-q[i])*a[i];

}

cout<

return 0;

}

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。