zzulioj-1877 蛤玮打扫教室
2016-06-01 19:25
405 查看
区间覆盖,延迟操作
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <vector> #include <stack> #include <queue> #define maxn 100005 #define INF 1e9 typedef long long ll; using namespace std; int num[maxn<<2], add[maxn<<2]; int x[maxn], y[maxn]; void Pushdown(int n){ if(add ){ num[n<<1] += add ; num[n<<1|1] += add ; add[n<<1|1] += add ; add[n<<1] += add ; add = 0; } } void Update(int n, int l, int r, int L, int R){ if(l == L && R == r){ add += 1; num += 1; return ; } Pushdown(n); int mid = (l + r) >> 1; if(R <= mid) Update(n<<1, l, mid, L, R); else if(L > mid) Update(n<<1|1, mid+1, r, L, R); else{ Update(n<<1, l, mid, L, mid); Update(n<<1|1, mid+1, r, mid+1, R); } num = min(num[n<<1], num[n<<1|1]); } void Query(int n, int l, int r, int L, int R, int& s){ if(l == L && R == r){ s = min(s, num ); return ; } Pushdown(n); int mid = (l + r) >> 1; if(R <= mid) Query(n<<1, l, mid, L, R, s); else if(L > mid) Query(n<<1|1, mid+1, r, L, R, s); else{ Query(n<<1, l, mid, L, mid, s); Query(n<<1|1, mid+1, r, mid+1, R, s); } } int main(){ // freopen("in.txt", "r", stdin); int t; scanf("%d", &t); while(t--){ vector<int> v; memset(num, 0, sizeof(num)); memset(add, 0, sizeof(add)); int n, m; scanf("%d%d", &n, &m); for(int i = 1; i <= m; i++){ scanf("%d%d", x+i, y+i); Update(1, 1, n, x[i], y[i]); } for(int i = 1; i <= m; i++){ int s = 1000000000; Query(1, 1, n, x[i], y[i], s); if(s > 1){ v.push_back(i); } } printf("%d\n", v.size()); if(v.size() > 0) printf("%d", v[0]); for(int i = 1; i < v.size(); i++) printf(" %d", v[i]); if(v.size() > 0) puts(""); } return 0; }
相关文章推荐
- win10 应用商店无法联网(0x80072EFD)解决方案
- MySQL-MMM实现MySQL高可用读写分离
- 子查询
- Do Evil Things with gopher:// , Ricter · 2016/06/01 9:32
- Parcelable序列化实现方法
- 跟踪程序执行流程,在某个模块的入口
- 三种页面置换算法C实现
- JDK升级到1.7后 com.sun.image.codec.jpeg JPEGImageEncoder不存在
- redis持久化之rdb
- 火拼泡泡龙技术
- DOM---点亮星
- Android从零开始之工欲善其事必先利其器--环境搭建与配置
- 获取手机通讯录
- codevs p4633
- (Caffe)基本类DataReader、QueuePair、Body(四)
- 第二阶段个人工作总结(5)
- 【Android 】Application的使用及其生命周期
- intellij ide快捷键
- (Caffe)基本类InternalThread(三)
- SAP NetWeaver 7.4 XXE Injection