JZOJ 5329. 【NOIP2017提高A组模拟8.22】时间机器
来源:互联网 发布:邯郸煤炭软件 编辑:程序博客网 时间:2024/05/16 06:34
5329. 【NOIP2017提高A组模拟8.22】时间机器
(File IO): input:machine.in output:machine.out
Time Limits: 2000 ms Memory Limits: 262144 KB
Description
Input
Output
Sample Input
3
2 2
1 4 2
3 5 1
1 4 2
2 5 1
3 2
1 3 1
2 4 1
3 5 1
1 3 2
2 5 1
2 2
1 2 2
1 2 1
1 2 1
1 2 2
Sample Output
Yes
No
Yes
Data Constraint
Hint
题解
贪心
将电阻和节点按左端点从小到大排序
按顺序考虑每一种节点
每次贪心选左端点在节点左边,右端点尽量靠近节点的电阻
用
代码
#include<cstdio>#include<algorithm>#include<map>#define N 100010using namespace std;struct point{ long x,y,z,type;}a[N];map<long,long>b;bool cmp(point a,point b){ if(a.x!=b.x) return a.x<b.x; else return a.type>b.type;}int main(){ long tot,n,m,i; bool t; freopen("machine.in","r",stdin); freopen("machine.out","w",stdout); scanf("%ld",&tot); while(tot--){ scanf("%ld%ld",&n,&m); for(i=1;i<=n;i++){ scanf("%ld%ld%ld",&a[i].x,&a[i].y,&a[i].z); a[i].type=0; } for(i=1;i<=m;i++){ scanf("%ld%ld%ld",&a[i+n].x,&a[i+n].y,&a[i+n].z); a[i+n].type=1; } sort(a+1,a+n+m+1,cmp); b.clear(); t=true; for(i=1;i<=n+m;i++) if(a[i].type){ if(!b[a[i].y]) b[a[i].y]=a[i].z; else b[a[i].y]+=a[i].z; }else{ while(a[i].z){ map<long,long>::iterator iter=b.lower_bound(a[i].y); if(iter==b.end()){ t=false; break; } if(a[i].z<iter->second){ iter->second-=a[i].z; a[i].z=0; }else{ a[i].z-=iter->second; b.erase(iter); } } if(!t)break; } if(t) printf("Yes\n"); else printf("No\n"); } return 0;}
阅读全文
0 0
- JZOJ 5329. 【NOIP2017提高A组模拟8.22】时间机器
- 5329. 【NOIP2017提高A组模拟8.22】时间机器 map
- 【NOIP2017提高A组模拟8.22】时间机器
- 【JZOJ5329】【NOIP2017提高A组模拟8.22】时间机器
- JZOJ 5328. 【NOIP2017提高A组模拟8.22】世界线
- 【jzoj5329】【NOIP2017提高A组模拟8.22】【时间机器】【数据结构】【扫描线】
- 【JZOJ 4931】【NOIP2017提高组模拟12.24】A
- 【JZOJ 4931】【NOIP2017提高组模拟12.24】A
- JZOJ 5195. 【NOIP2017提高组模拟7.3】A
- JZOJ 100026. 【NOIP2017提高A组模拟7.7】图
- JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情
- jzoj. 100031. 【NOIP2017提高A组模拟7.9】外星密码
- JZOJ 100035【NOIP2017提高A组模拟7.10】区间
- JZOJ 100036 【NOIP2017提高A组模拟7.10】随机
- JZOJ 100037【NOIP2017提高A组模拟7.11】后缀数组
- JZOJ 100035. 【NOIP2017提高A组模拟7.10】区间
- JZOJ 100041. 【NOIP2017提高A组模拟7.12】列车调度
- JZOJ 100045. 【NOIP2017提高A组模拟7.13】好数
- sql注入
- 200. Number of Islands(广度优先/深度优先的经典问题)
- Problem D. Ice Cream Tower (The 2016 ACM-ICPC Asia China-Final Contest)(二分)
- python -day07
- VS包含目录、附加依赖项、库目录设置
- JZOJ 5329. 【NOIP2017提高A组模拟8.22】时间机器
- POJ
- NDK下 将Platinum SDK 编译成so库 (android
- HDU 6166 Senior Pan
- Linux下信号详解
- STM32 HAL库、标准外设库、LL库(STM32 Embedded Software)
- Linux虚拟机与Windows互传数据
- ViewPager+FragmentAdapter+Fragment
- 使用TypeScript积累自己的类库