博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客寒假算法基础集训营6 A:出题(思维)+B:煤气灶(二分)+C:项链(简单贪心)+D:美食(模拟)
阅读量:3899 次
发布时间:2019-05-23

本文共 1462 字,大约阅读时间需要 4 分钟。

【...】

今天比赛有点简单hhh有点开心

【A:出题】

【题解】

显然,有解的充要条件为 6*m≤n≤9*m 。若有解,优先把m道题分给分值为7 8 9的题,那么什么时候分给6呢,当然是连7都不够小的时候咯,想想鸡兔同笼问题,就明白了。

【代码】

typedef long long ll;int main(){    ll n,m; cin>>n>>m;    if(n>=6*m&&n<=9*m)    {        if(7*m-n>0)  printf("%lld\n",7*m-n);        else printf("0\n");    }    else puts("jgzjgzjgz");    return 0;}

【B:煤气灶】

【题解】

等差数列求和..上限都给了,直接二分就行。避免爆long long于是我直接都定义long long了哈哈啊哈。

【代码】

typedef long long ll;ll n,m,d,x;int check(ll x){    if(((n+n+d*(x-1))*x/2)>=m) return 1;    return 0;}int main(){    cin>>n>>m>>d>>x;    ll l=1,r=x;    ll a=n-d,ans;    while(l<=r)    {        ll mid=(l+r)/2;        if(check(mid))        {            ans=mid;            r=mid-1;        }        else l=mid+1;    }    cout<
<

【C:项链】

【题解】

排个序优先染最喜欢即bi较大的颜色即可,注意可能染不完所有的珠子。

【代码】

typedef long long ll;struct p{    ll a,b;}f[100010];bool cmp(p x,p y){    return x.b>y.b;}int main(){    int n,m; cin>>n>>m;    for(int i=0;i
>f[i].a; for(int i=0;i
>f[i].b; sort(f,f+m,cmp); ll ans=0; int pos=0; while(n&&pos
=f[pos].a) n-=f[pos].a,ans+=f[pos].a*f[pos].b; else ans+=f[pos].b*n,n=0; pos++; //cout<
<

【D:美食】

【题解】

从前往后模拟(贪心?)即可,注意食物大小可能为0。不能优先预处理把a[i]吃成a[i]%2,因为会出现1 2 1的情况。

【代码】

typedef long long ll;const int maxn=1e5+5;const int inf=0x3f3f3f3f;int main(){    int n; ll a[maxn];    cin>>n;    for(int i=0;i
>a[i]; ll ans=a[0]/2;a[0]=a[0]%2; for(int i=1;i

 

转载地址:http://vfben.baihongyu.com/

你可能感兴趣的文章
glibc 指导委员会解散声明
查看>>
Linux创始者托瓦兹谈及IoT --「安全在其次」
查看>>
传感器数据分析(Sensor Data Analytics)是什么?
查看>>
智能硬件开发如何选择低功耗MCU?
查看>>
阿里感悟(十)如何写好简历
查看>>
阿里感悟(十一)如何准备面试
查看>>
软件架构入门
查看>>
80 多个 Linux 系统管理员必备的监控工具
查看>>
OOD的原则
查看>>
Tool to trace local function calls in Linux
查看>>
Linux 下查询 DNS 服务器信息
查看>>
ulimit 里的 file size 的 block 单位是多少?
查看>>
linux下查看端口对应的进程
查看>>
将 gdb 用作函数跟踪器 (Function Tracer)
查看>>
原 GCC一些有用的技巧
查看>>
yum 变量追加的方法
查看>>
2倍速的下一代Bluetooth,「Bluetooth 5」发布
查看>>
Top 10 “Yum” installables to be productive as a developer on Red Hat Enterprise Linux
查看>>
[小技巧] Vim 如果去除 “existing swap file” 警告
查看>>
如何在linux下检测内存泄漏
查看>>