博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JZOJ.5329【NOIP2017模拟8.22】时间机器
阅读量:6311 次
发布时间:2019-06-22

本文共 1833 字,大约阅读时间需要 6 分钟。

Description

 

Input

Output

 

Sample Input

32 21 4 23 5 11 4 22 5 13 21 3 12 4 13 5 11 3 22 5 12 21 2 21 2 11 2 11 2 2 

Sample Output

YesNoYes
 

Data Constraint

 

Hint

很明显这是要让我们匹配,很容易想到可以二分图匹配,但是又有数量,于是我们可以网络流,但是n还是巨大,使得我们不得不想想其他办法。

我们的期望搭配就是电阻的允许电压范围跟节点的电压范围接近,于是我们可以贪心。

我们可以用左端点排序,然后对于每个节点找到第一个右端点大于它的,左端点小于等于它的即可。

但是复杂度仍为O(nm),我们可以考虑用map或set维护符合左端点条件的右端点的电阻。复杂度O((n + m) log m + n log n)。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #define N 100005 7 using namespace std; 8 struct data{ 9 int l,r,num,v;10 bool operator < (const data &a) const{11 return (a.r>r);12 }13 }zu[N];14 multiset
qwq;15 multiset::iterator qaq;16 int n,m,t,ans;17 bool power;18 int read(){19 int x=0,w=1;20 char c=0;21 for (c=getchar();c<'0'||c>'9';c=getchar()) { if (c=='-') w=-1;}22 for (;c>='0'&&c<='9';c=getchar()) x=(x<<3)+(x<<1)+c-'0';23 return x*w;24 }25 bool comp(const struct data a,const struct data b){26 return ((a.l
b.v));27 }28 int main(){29 freopen("machine.in","r",stdin);30 freopen("machine.out","w",stdout);31 for (t=read();t;t--){32 qwq.clear();33 power=true;34 ans=0;35 n=read();36 m=read();37 for(int i=1;i<=n;++i){38 zu[i].l=read();39 zu[i].r=read();40 zu[i].num=read();41 zu[i].v=-1;42 }43 for(int i=n+1;i<=n+m;++i){44 zu[i].l=read();45 zu[i].r=read();46 zu[i].num=read();47 zu[i].v=1;48 }49 sort(zu+1,zu+1+n+m,comp);50 for (int i=1;i<=n+m;i++){51 if (zu[i].v==1) 52 qwq.insert(zu[i]);53 else while (zu[i].num){54 qaq=qwq.lower_bound(zu[i]);55 if (qaq==qwq.end()){56 power=false;57 puts("No");58 break;59 }60 data tmp=*qaq;61 qwq.erase(qaq);62 if (zu[i].num
神奇的代码

这种纯考STL的题.......还出了两题

第一次打set,第一次打迭代器,第一次打重载运算符啊啊QAQ

转载于:https://www.cnblogs.com/Lanly/p/7413224.html

你可能感兴趣的文章
设计模式(九)——代理模式
查看>>
make: *** No targets specified and no makefile found. Stop.错误
查看>>
使用emacs作为代码片段管理工具
查看>>
vim vi IMPROVED
查看>>
3D视觉原理之深度暗示(即立体感)
查看>>
简单排序算法:冒泡法排序(Java)
查看>>
部署docker容器虚拟化平台
查看>>
为什么现代企业无法真正实现组合式监控?
查看>>
HMAC 算法
查看>>
DNS
查看>>
mysql基础
查看>>
原生JS轻松实现倒计时功能
查看>>
『中级篇』docker之CI/CD持续集成-gitlab安装(70)
查看>>
linux笔记 1-10 --路由器,dns,dhcp配置
查看>>
nginx的301与302如何配置
查看>>
Jquery插件开发
查看>>
Canonical 用 Go 做了这五个超酷的项目
查看>>
【软件周刊第 28 期】微软推出 Visual Studio for Mac 正式版;Spring Framework 5.0 首个候选版本发布:为 JDK 9 做准备...
查看>>
CRC校验
查看>>
linux开机启动过程、PATH、过滤一级目录、cd的参数、ls -lrt、命令切割日志
查看>>