Jzoj5461【NOIP2017提高A组冲刺11.8】购物
来源:互联网 发布:win10录歌软件 编辑:程序博客网 时间:2024/06/05 07:09
X 城的商场中,有着琳琅满目的各种商品。一日,小X 带着小Y 前来购物,小Y 一共看中了n件商品,每一件商品价格为Pi。小X 现在手中共有m个单位的现金,以及k 张优惠券。小X 可以在购买某件商品时,使用至多一张优惠券,若如此做,该商品的价格会下降至Qi。
小X 希望尽可能多地满足小Y 的愿望,所以小X 想要知道他至多能购买多少件商品。
今天第一题题答题,第二题傻逼题,第三题卡常题
让后
第一题推了个错误的贪心,60pts
第二题出题人出了三个很强的数据卡哈希(好险我写了也交了sam,拿哈希对拍)
第三题,map启发式合并,各种sb错误
结果160pts滚粗
先说说这题的正解(好傻啊为什么想不到可撤回贪心)
我们开三个堆q1,q2,q,分别存p[i],q[i],第三个堆一开始有k个零(相当于k张优惠券)
每次拿出q2+q和q1中的较小值,让后如果拿出的是q2+q,那就向q中丢一个p[i]-q[i](相当于可以撤回)
直到拿出来,钱还不够就退出
哇现在才发现好好写啊!
#include<queue> #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct pr{ int x,y; } x;inline bool operator< (pr a,pr b){ return a.x>b.x; }priority_queue<pr> q1,q2;priority_queue<int,vector<int>,greater<int> > q;int n,k,p[50010],c[50010],v[50010]; long long m;int main(){freopen("shopping.in","r",stdin);freopen("shopping.out","w",stdout);scanf("%d%d%lld",&n,&k,&m);for(int i=n;i;--i) scanf("%d%d",p+i,c+i);for(int i=k;i;--i) q.push(0);for(int i=n;i;--i){ q1.push((pr){p[i],i}); q2.push((pr){c[i],i});}int ans=0;for(;m>0 && ans<n;++ans){for(;v[q1.top().y];q1.pop());for(;v[q2.top().y];q2.pop());if(q.top()+q2.top().x<q1.top().x){x=q2.top();m-=x.x+q.top();if(m<0) break;q.pop(); q.push(p[x.y]-c[x.y]);v[x.y]=1; q2.pop();} else {x=q1.top();m-=x.x;if(m<0) break;v[x.y]=1; q1.pop();}}printf("%d\n",ans);}
阅读全文
0 0
- Jzoj5461【NOIP2017提高A组冲刺11.8】购物
- JZOJ5461. 【NOIP2017提高A组冲刺11.8】购物 贪心+堆
- JZOJ5461. 【NOIP2017提高A组冲刺11.8】购物
- 【JZOJ 5461】【NOIP2017提高A组冲刺11.8】购物
- 【NOIP2017提高A组冲刺11.8】总结
- Jzoj5462【NOIP2017提高A组冲刺11.8】好文章
- Jzoj5462【NOIP2017提高A组冲刺11.8】证书
- jzoj5463【NOIP2017提高A组冲刺11.8】证书
- JZOJ 5463. 【NOIP2017提高A组冲刺11.8】证书
- JZOJ5462. 【NOIP2017提高A组冲刺11.8】好文章
- JZOJ 5462. 【NOIP2017提高A组冲刺11.8】好文章
- [jzoj5462]【NOIP2017提高A组冲刺11.8】好文章
- JZOJ5463. 【NOIP2017提高A组冲刺11.8】证书
- 【NOIP2017提高A组冲刺11.1】总结
- 【NOIP2017提高A组冲刺11.2】总结
- 【NOIP2017提高A组冲刺11.3】总结
- 【NOIP2017提高A组冲刺11.4】总结
- 【NOIP2017提高A组冲刺11.1】荒诞
- Lombok插件
- SQLite操作
- 用MySQL解决HUE登录忘记账号、密码
- 算法系列之--C++和java的冒泡算法及图解(原)
- Django-restframework01 REST框架原始写法,与表单Form类似,实例
- Jzoj5461【NOIP2017提高A组冲刺11.8】购物
- 在 Azure 上通过 Powershell 创建多 Interface 的 Cisco CSR 路由器
- Spring Boot 整合 Mybatis 实现 Druid 多数据源详解
- windows安装 jenkins
- 学习笔记
- 射线 鼠标控制物体前进
- RecyclerView API译文
- 青蛙的约会
- linux kernel crash问题分析解决