HDU-4544-湫湫系列故事——消灭兔子
来源:互联网 发布:程序员 经常出差 编辑:程序博客网 时间:2024/05/12 19:47
昨天这个题被数据量给吓着了,以为贪心没有办法做,结果今天才发现超多人都是用贪心做的。唉,是数据水了?
今天用了2种方法做,其实昨天都有想过。
优先队列:
代码:
#include<cstdio>#include<iostream>#include<queue>#include<algorithm>const int maxn=10e4+10;using namespace std;struct row{ int di; int pi; bool operator < (const row &a)const {return pi>a.pi; }}r[maxn];priority_queue<row> q;bool cmp(row a,row b){ return a.di<b.di;}int a[maxn];int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) {for(int i=0;i<n;i++) scanf("%d",&a[i]);for(int i=0;i<m;i++) scanf("%d",&r[i].di);for(int i=0;i<m;i++) scanf("%d",&r[i].pi);sort(a,a+n);sort(r,r+m,cmp);int res=m-1,flag=0;long long ans=0;while(!q.empty()) q.pop();for(int i=n-1;i>=0;i--){ while(res>=0&&r[res].di>=a[i]) {q.push(r[res]);res--; } if(q.empty()) {flag=1;break; } row p=q.top(); ans+=q.top().pi; q.pop();}if(flag) printf("No\n");else printf("%I64d\n",ans); } return 0;}
STL multiset
代码:
#include<cstdio>#include<cstring>#include<iostream>#include<set>#include<algorithm>using namespace std;const int maxn=10e4+10;struct arrow{ int di; int pi; bool operator < (const arrow a)const {if(pi==a.pi) return di>a.di;return pi<a.pi; }}a[maxn];multiset<int> s;multiset<int>::iterator it;int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) {s.clear();for(int i=0;i<n;i++){ int ita; scanf("%d",&ita); s.insert(ita);}for(int i=0;i<m;i++) scanf("%d",&a[i].di);for(int i=0;i<m;i++) scanf("%d",&a[i].pi);sort(a,a+m);long long ans=0;for(int i=0;i<m;i++){ it=s.upper_bound(a[i].di); if(it!=s.begin()) {s.erase(s.find(*(--it)));ans+=a[i].pi; } if(s.empty())break;}if(s.empty()) printf("%I64d\n",ans);else printf("No\n"); } return 0;}
- hdu 4544 湫湫系列故事——消灭兔子
- HDU-4544-湫湫系列故事——消灭兔子
- HDU-4544湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子
- HDU 4544 湫湫系列故事——消灭兔子
- hdu 4544 湫湫系列故事——消灭兔子(优先队列 + 贪心)
- hdu 4544 湫湫系列故事——消灭兔子(贪心)
- hdu 4544 湫湫系列故事——消灭兔子(贪心+优先队列)
- hdu 4544 湫湫系列故事——消灭兔子(优先队列+贪心)
- hdu 4544 湫湫系列故事——消灭兔子 贪心+sbt
- java相除
- 直接通过ADO操作Access数据库
- Solr的自动完成/自动补充实现介绍(第一部分)
- 【tool】项目中遇到的代码中的文件路径问题
- ActiveMq5.8与Tomcat7相集成在MyEclipse10中的JMS测试
- HDU-4544-湫湫系列故事——消灭兔子
- 事件分发
- Solr的自动完成/自动补充实现介绍(第二部分)
- PHP put提交和获取数据
- 虚函数
- Hashtable实例及它与HashMap的区别
- Camera笔记
- GetLastError的返回值的含义
- 去除flexpaper的LOGO,双页时也不会出现