【bzoj 3433】{Usaco2014 Jan} Recording the Moolympics(算法效率--贪心)
题意:给出n个区间[a,b),有2个记录器,每个记录器中存放的区间不能重叠。求2个记录器中最多可放多少个区间。
解法:贪心。只有1个记录器的做法详见——关于贪心算法的经典问题(算法效率 or 动态规划)。而对于2个,就是在1个的基础上(按 bi 排序,选第一个与之前没有相交的区间)维护2个值,注意要好好for循环遍历一次O(n),若想着用while直接跳过一些区间很容易出错!!!另外,遍历时要先考虑能否把当前的区间接在之前右端点较右的记录器。
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<iostream> 5 #include<algorithm> 6 using namespace std; 7 8 const int N=155; 9 struct node{int l,r;}a[N]; 10 11 int read() 12 { 13 char ch=getchar(); 14 int x=0; 15 while (ch<'0'||ch>'9') ch=getchar(); 16 while (ch>='0'&&ch<='9') x=x*10+ch-'0', ch=getchar(); 17 return x; 18 } 19 bool cmp(node x,node y) {return x.r<y.r;} 20 int main() 21 { 22 int n=read(); 23 for (int i=1;i<=n;i++) 24 { 25 a[i].l=read(),a[i].r=read(); 26 if (a[i].l>a[i].r) {int t;t=a[i].l,a[i].l=a[i].r,a[i].r=t;} 27 } 28 sort(a+1,a+1+n,cmp); 29 int cnt=0,x=0,y=0; 30 for (int i=1;i<=n;i++) 31 { 32 if (x<=a[i].l) cnt++,x=a[i].r; 33 else if (y<=a[i].l) cnt++,y=a[i].r; 34 if (x<y) {int tmp;tmp=x,x=y,y=tmp;} 35 } 36 printf("%d\n",cnt); 37 return 0; 38 }
转载于:https://www.cnblogs.com/konjak/p/6044643.html
【bzoj 3433】{Usaco2014 Jan} Recording the Moolympics(算法效率--贪心)相关推荐
- 【uva 1617】Laptop(算法效率--贪心,2种理解)
题意:有N条长度为1的线段,要求使每条线段分别在相应区间,且"空隙"数目最小.输出"空隙"数.(1≤N≤100000) 解法:(P.S.我这题竟做了2个多小时, ...
- BZOJ 3430: [Usaco2014 Jan]Ski Course Rating(并查集+贪心)
题面 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 136 Solved: 90 [Submit][Status][Discuss] Descript ...
- BZOJ 3432: [Usaco2014 Jan]Cross Country Skiing (二分+染色法)
还是搜索~~可以看出随着D值的增大能到达的点越多,就2分d值+染色法遍历就行啦~~~ CODE: #include<cstdio> #include<iostream> #in ...
- bzoj 1634: [Usaco2007 Jan]Protecting the Flowers 护花(贪心排序)
1634: [Usaco2007 Jan]Protecting the Flowers 护花 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 824 S ...
- 【uva 1614】Hell on the Markets(算法效率--贪心)
题意:有一个长度为N的序列A,满足1≤Ai≤i,每个数的正负号不知.请输出一种正负号的情况,使得所有数的和为0.(N≤100000) 解法:(我本来只想静静地继续做一个口胡选手...←_← 但是因为这 ...
- AI算法效率每16个月提速一倍,算力革命超越摩尔定律
AI算法效率每16个月提速一倍,算力革命超越摩尔定律 2020-05-06 22:10:26 作者 | 蒋宝尚 编辑 | 丛 末 摩尔定律预测芯片性能每18个月翻一倍,那 AI 算法性能多少个月翻一番 ...
- MIT新研究:过去80年,算法效率提升到底有多快?
来源:MIT,新智元 编辑:David [导读]随着摩尔定律走向终结,靠提升计算机硬件性能可能越发难以满足海量计算的需要,未来的解决之道在于提升算法的效率.MIT的这篇新论文总结了过去80年来,算法效 ...
- 第四课:算法效率的度量和存储空间需求
第四课 本课主题: 算法效率的度量和存储空间需求 教学目的: 掌握算法的渐近时间复杂度和空间复杂度的意义与作用 教学重点: 渐近时间复杂度的意义与作用及计算方法 教学难点: 渐近时间复杂度的意义 授课 ...
- 超摩尔定律!OpenAI官宣AI算法效率每16个月翻一番
OpenAI今天宣布将开始追踪机器学习模型的效率,并对AI算法演进的情况进行定量追踪,结果显示算法改进效率吊打摩尔定律. 为了启动这一进程,Open AI发表了一份分析报告,开篇即用数据展示了算法演进 ...
- 编程方法学23:搜索排序与算法效率分析
前言 本笔记是斯坦福公开课,编程方法学的学习笔记. 总体而言,这门课讲了很多很基础的东西,具有很强的通用性. 正文 本次的笔记对应的是第二十三节课,这堂课是助教来讲搜索排序与算法效率分析的知识. 1线 ...
最新文章
- Matlab与线性代数--矩阵的LU分解
- 互补性:从不同的角度思考同一个事物时,发现它同时具有不同甚至相互矛盾的性质...
- sqlAlchemy中的对象转换为dict
- WebSocket负载均衡
- nexus 7 arm linux,Nexus 7安装Ubuntu Touch
- delphi的接口support_学习到的关于Delphi的接口
- Linux日常运维管理技巧(一)监控系统状态、监控网卡流量、监控IO性能、查看系统进程、查看网络状态、Linux下抓包tcpdump、Linux网络相关、DNS配置
- 使用c#对xml文件进行解析 功能演示 161483724
- ssh 配置文件中 maxsessions 与 MaxStartups
- [Luogu1462]通往奥格瑞玛的道路
- MyEclipse添加Mybatis generator插件
- Flink DataStream 关联维表实战
- 微积分总结(数列与无穷级数)
- Word打开文件错误提示用文本恢复转换器打开文件
- MIKE 21 教程 2.5 水动力模块教学:涡粘系数(Eddy viscosity),河床阻力与曼宁系数(Bed Resistance)
- antares任务调度系统预研
- Python学习案例2——数独解题及出题程序
- python 绘图 实现图中为字体添加下标、上标
- 数据分析中的严谨问题
- 2 Robotics: Computational Motion Planning 第2+3+4周 课后习题解答
热门文章
- 一个高性能的key/value存储服务器 - Tarantool/Box
- 【莓闻】芮成钢专访黑莓CEO巴尔西利
- 中电信推大学生3G上网套餐
- Linux音频驱动-ALSA概述
- 华为的手册和官网视频,学习网络基础
- Linux内核部件分析 设备驱动模型之device-driver
- Linux 文件系统(一)---虚拟文件系统VFS----超级块、inode、dentry、file
- 3992. 树上有猴-AcWing题库
- 编写可靠shell脚本的八个建议
- collectionutils包_基于springframework的集合处理工具类CollectionUtils对常见对象查找包含转换操作...