Educational Codeforces Round 4 612D The Union of k-Segments(stl)
来源:互联网 发布:通达信公式源码 编辑:程序博客网 时间:2024/05/16 12:32
题目链接:点击打开链接
给出n段线段, 有重合的部分, 输出所有线段, 要求有k部分重合.
对线段的左端点标记-1, 右端点标记1, 排序后进行遍历, sum记录重合的线段数, 记录到k - 1则标记左端点, 记录到k则push到ans.
AC代码:
#include "iostream"#include "cstdio"#include "cstring"#include "algorithm"#include "queue"#include "stack"#include "cmath"#include "utility"#include "map"#include "set"#include "vector"#include "list"#include "string"#include "cstdlib"using namespace std;typedef long long ll;const int MOD = 1e9 + 7;const int INF = 0x3f3f3f3f;int n, k, x, sum;std::vector<pair<int, int> > v, ans;int main(int argc, char const *argv[]){scanf("%d%d", &n, &k);for(int i = 0; i < n; ++i) {int l, r;scanf("%d%d", &l, &r);v.push_back(make_pair(l, -1));v.push_back(make_pair(r, 1));}sort(v.begin(), v.end());int len = v.size();for(int i = 0; i < len; ++i) {if(sum == k - 1 && v[i].second == -1) x = v[i].first;if(sum == k && v[i].second == 1) ans.push_back(make_pair(x, v[i].first));sum -= v[i].second;}len = ans.size();cout << len << endl;for(int i = 0; i < len; ++i)printf("%d %d\n", ans[i].first, ans[i].second);return 0;}
1 0
- Educational Codeforces Round 4 612D The Union of k-Segments(stl)
- Educational Codeforces Round 4 D. The Union of k-Segments
- Educational Codeforces Round 4-D. The Union of k-Segments
- Codeforces 612D Educational Codeforces Round 4 D. The Union of k-Segments 离散化+map
- Educational Codeforces Round 4 D. The Union of k-Segments(★)
- Educational Codeforces Round 4 D The Union of k-Segments (扫描线)
- Codeforces 612D The Union of k-Segments 【思维】
- Codeforces 612D The Union of k-Segments
- CodeForces 612 D. The Union of k-Segments(水~)
- codeforces 612D The Union of k-Segments (sorting)
- CodeForces 612D The Union of k-Segments
- CodeForces 612D - The Union of k-Segments(模拟)
- Codeforces 612D The Union of k-Segments
- codeforces D. The Union of k-Segments 排序
- Codeforces 612 D. The Union of k-Segments (非递归线段树+离散化)
- ★codeforces 612D The Union of k-Segments (思维or类扫描线)
- codeforces 612D The Union of k-Segments (前缀和处理区间)
- CodeForces 612D The Union of k-Segments(排序+区间计数、扫描线)
- 深度学习与人脸识别系列(1)__算法流程和教程大纲(基于caffe)
- dx11学习笔记-2.用DX画一个三角形
- 简单留言板
- OC-NSString从文件中读取字符串
- 《计算机硬件体系及IO优化》
- Educational Codeforces Round 4 612D The Union of k-Segments(stl)
- 串行 RapidIO: 高性能嵌入式互连技术
- Java设计模式(二十三)----解释器模式
- zoj3545Rescue the Rabbit (AC自动机+状压dp+滚动数组)
- 深度学习与人脸识别系列(2)__深度学习的环境搭建(ubuntu+caffe)
- usaco 1.4.2 milk3
- uva10635 - Prince and Princess
- PAT1008数组元素循环右移
- 万能的Dialog