1716 Integer Intervals 解题报告
来源:互联网 发布:谁有九九网络斗地主 编辑:程序博客网 时间:2024/05/09 15:13
AccecptTime: 2008-12-24 17:47:56 2008-12-24 17:51:06
Language: C++
Memory: 224K 204K
Time: 0MS 32MS
Errors: 1 WA
Algorithm: 贪心
- #include <stdio.h>
- #include <algorithm>
- using namespace std;
- typedef struct Point{
- short left;
- short right;
- bool operator()(Point a,Point b) {
- return( a.left == b.left ?a.right < b.right:a.left< b.left);
- }
- }Point;
- Point point[10010];
- int main()
- {
- int n;
- scanf("%d",&n);
- for(int i = 0; i < n; i++)
- scanf("%d%d",&point[i].left,&point[i].right);
- // 对数组排序以进行贪心
- sort(point,point+n,Point());
- int count = 2;
- // l 储存现有的左指针,r储存右指针
- int l,r;
- r = point[0].right;
- l = r - 1;
- for(int i = 1; i < n; i++) {
- // 如果 r 比这个点的左节点还小的话
- // 意味着它们没有重叠的地方
- if(point[i].left > r) {
- count += 2;
- r = point[i].right;
- l = r - 1;
- continue;
- }
- if(l < point[i].left) {
- // !!! 下面这一句灰常重要 看图
- l = (r > point[i].right - 1) ?point[i].right - 1:r;
- r = point[i].right;
- count++;
- continue;
- }
- //如果右指针在现有区间右节点的右边,就把它放至该区间右节点
- if(r > point[i].right)
- r = point[i].right;
- }
- printf("%d/n",count);
- }
当输入4 1 3 3 8 4 5 5 7 时图:
1 2 3 4 5 6 7 8
------
--------------
----
------
如果没有要“注意”的那段话则会输出4而标准答案是5
现在有一个习惯,就是有空的时候就上上poj找一道以前没过的水题来刷刷。这题就是其中一道。发现了一个以前没发现的bug,ac了。另外如果用new的话可能导致时间的浪费,上边的32ms就是因为用了new。另外提醒自己别乱相信oj上的某些人的留言。
- 1716 Integer Intervals 解题报告
- Intervals poj1089 解题报告
- Merge Intervals解题报告
- [LeetCode]Merge Intervals, 解题报告
- 【LeetCode】Merge Intervals 解题报告
- 解题报告 之 POJ1201 Intervals
- 解题报告 之 POJ3680 Intervals
- poj 1201 Intervals 解题报告
- 【LeetCode】Merge Intervals 解题报告
- Reverse Integer解题报告
- Reverse Integer 解题报告
- Integer Break解题报告
- POJ 1716 Integer Intervals
- 1716 Integer Intervals
- poj 1716 Integer Intervals
- POJ 1716 Integer Intervals
- poj 1716-Integer Intervals
- POJ 1716 Integer Intervals
- 内存管理
- ASP.NET中Session失效的问题整理
- 打开EXCEL
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- 掌握 Ajax,第 11 部分: 服务器端的 JSON
- 1716 Integer Intervals 解题报告
- 用 Ext JS 构建 Ajax 应用程序
- 多媒体交互应用基础(5)
- Scrum of Scrums——问题和价值
- 第一个jsf小实例
- Div形式的title显示JS代码
- C# MD5 应用
- 杯子与水的爱情故事
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)