cf754D
题意:给你一个数m,有多少优惠券,给个n,主角想用多少优惠券。然后接下来时m行,每行两个数,那张优惠券的优惠区间a,b(在a号货物到b号货物之间的所有都可以优惠)
问你,能不能用k张优惠券,是他的优惠区间重叠的部分最大。
今天第一次看优先队列,居然还有这么神奇的东西,omg,太强了
思路就是排序,然后用优先队列乱搞一下。。。
接下来给出代码
#include <iostream> #include <queue> #include <algorithm> #include <stdio.h> using namespace std; const int Maxn = 2147483647; struct Node{ int l,r; int i; }node[300010]; bool cmp( const Node &a,const Node &b ){ return ( a.l == b.l ? a.r < b.r:a.l < b.l ); } int main(){ int m,n; scanf("%d%d",&m,&n); for( int i = 1; i <= m; i++ ){ scanf("%d%d",&node[i].l,&node[i].r); node[i].i = i; } sort( node+1,node+1+m,cmp ); priority_queue<int,vector<int>,greater<int> > q; int inf = -Maxn; int x; int l,r; for( int i = 1; i <= m; i++ ){ x = node[i].l; q.push( node[i].r ); while( q.top() < x || q.size() > n ){ q.pop(); } if( q.size() == n ){ if( inf < q.top() - x + 1 ){ inf = q.top() - x + 1; l = x,r = q.top(); } } } if( inf == - Maxn ){ cout << '0' << endl; for( int i = 1; i <= n; i++ ){ printf( "%d ",i ); } printf( "\n" ); exit(0); }else{ cout << inf << endl; for( int i = 1; i <= m; i++ ){ if( node[i].l <= l && node[i].r >= r ){ printf("%d ",node[i].i); n--; if( n == 0 ){ cout << '\n'; exit(0); } } } } }
cf754D的更多相关文章
随机推荐
- 表格table样式布局设置
<style> table{ border-collapse:collapse; margin:0 auto;} table tr td{ border:1px solid #000; l ...
- TDirectory.GetCreationTime、TDirectory.SetCreationTime获取和设置文件夹创建时间
使用函数: System.IOUtils.TDirectory.GetCreationTime//获取创建时间 System.IOUtils.TDirectory.SetCreationTime//设 ...
- 从IT的角度思考BIM(二):模式与框架
我们满怀着美好期许,鼓起勇气敲响了 BIM 世界的大门.忽然人群中有人高呼:BIM 已死,大家都散了吧! 这时人群开始骚动起来.“我早就说这玩意是忽悠人的吧,你们不信还偏要来”,“我花了好多钱准备这次 ...
- leetcode其余题目
1.Largest Rectangle in Histogram http://discuss.leetcode.com/questions/259/largest-rectangle-in-hist ...
- 根据WSDL生成代理类方式(2)
运行开发人员工具提示 输入命令行svcutil http://localhost:8080/Test/TestClassPort?wsdl
- Django 数据库查询优化
Django数据层提供各种途径优化数据的访问,一个项目大量优化工作一般是放在后期来做,早期的优化是“万恶之源”,这是前人总结的经验,不无道理.如果事先理解Django的优化技巧,开发过程中稍稍留意,后 ...
- BZOJ 1754: [Usaco2005 qua]Bull Math
Description Bulls are so much better at math than the cows. They can multiply huge integers together ...
- Essential Sublime Text Plugins
Essential Sublime Text Plugins Add some killer tools to your arsenal. View them all at /repo/sublime ...
- hdu 3062
2-SAT的入门题: 网上说这个算法最好的入门教材是:伍昱的<由对称性解2-SAT问题>的ppt和赵爽的论文<2-SAT 解法浅析>: 看了一下伍昱的ppt,很好理解! 而这道 ...
- OneAPM Cloud Test——系统性能监控神器
2015 年 8 月,OneAPM 推出了一款系统性能监控产品--Cloud Test,产品上线以来以「两低一高」的特点迅速成为市场增长率最快的一匹黑马.「两低一高」,即低使用成本.低学习成本以及高服 ...