套娃(tao)

input
7 3
9 5
3 7
10 6
5 10
2 6
10 10
4 1
10 5
3 5
3 9
output
0
1
2

sol:

把查询想象成(x1,y1)向(x2,y2)有边当且仅当(x1<x2,y1<y2)

有个性质就是:这张图的最小链覆盖=最长反链

反链就是满足(x1<x2,y1>y2) ,所以把点按照x排序后就是求最长下降子序列

然后扫描线扫过去,用树状数组维护一下最长下降子序列即可

#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{ll s=0; bool f=0; char ch=' ';while(!isdigit(ch)) {f|=(ch=='-'); ch=getchar();}while(isdigit(ch)) {s=(s<<3)+(s<<1)+(ch^48); ch=getchar();}return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{if(x<0) {putchar('-'); x=-x;}if(x<10) {putchar(x+'0'); return;}write(x/10); putchar((x%10)+'0');
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=200005;
int n,Q,c[N],ans[N];
struct Node
{int r,h,id;inline bool operator<(const Node &tmp)const{return r>tmp.r||(r==tmp.r&&h<tmp.h)||(r==tmp.r&&h==tmp.h&&id<tmp.id);}
}a[N<<1];
struct BIT
{int S[N];#define lowbit(x) ((x)&(-x))inline void add(int x,int y){for(;x<=n;x+=lowbit(x)) S[x]=max(S[x],y);}inline int Que(int x){int ans=0;for(;x;x-=lowbit(x)) ans=max(ans,S[x]);return ans;}
}T;
int main()
{freopen("tao.in","r",stdin);freopen("tao.out","w",stdout);int i;R(n); R(Q);for(i=1;i<=n;i++){R(a[i].r); R(a[i].h); a[i].id=0; c[i]=a[i].h;}for(i=1;i<=Q;i++){R(a[n+i].r); R(a[n+i].h); a[n+i].id=i;}sort(c+1,c+n+1); *c=unique(c+1,c+n+1)-c-1;sort(a+1,a+n+Q+1);for(i=1;i<=n+Q;i++){a[i].h=upper_bound(c+1,c+*c+1,a[i].h)-c-1;if(a[i].id) ans[a[i].id]=T.Que(a[i].h);else T.add(a[i].h,T.Que(a[i].h)+1);}for(i=1;i<=Q;i++) Wl(ans[i]);return 0;
}
/*
input
7 3
9 5
3 7
10 6
5 10
2 6
10 10
4 1
10 5
3 5
3 9
output
0
1
2
*/

View Code

转载于:https://www.cnblogs.com/gaojunonly1/p/11223757.html

7.20套娃(tao)相关推荐

  1. 套娃成功!在《我的世界》里运行Win95、玩游戏,软件和教程现已公开

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI <我的世界>(MineCraft)真是一款高自由度的神奇游戏,几乎每隔几天都会有大神用它实现一些奇妙的创意. 最近有一个叫uD ...

  2. 禁止套娃!Redis官网宕机,返回“连接不上Redis”

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:Spring Boot + Vue 如此强大?竟然可以开发基于 C/S 架构的应用个人原创+1博客:点击前往,查 ...

  3. bezier曲线_套娃成神:贝塞尔曲线

    说明: 主要参考了 维基百科 , 建议将其和本文对照阅读. 应用场景 贝塞尔曲线在数学和图形学以及设计中都发挥了重要作用,原因就是它能够"作为一种多项式逼近在[ a, b ] 区间上所有的连 ...

  4. 关于echarts套娃柱状图(嵌套柱)的实现

    嘻嘻嘻先上图看效果: 是不是有一种套娃的感觉. 这个图表的实现其实就是多个柱状图叠在一起,然后个别设置宽度,重点看 xAxis  和 series -> xAxisIndex 的对应. 注意:由 ...

  5. java的套娃汇总(黑马程序员基础java总结)

    java里面存在很多套娃关系,这里对于基础的套娃做一个小小的总结 对象调用 对象调用顾名思义就是new一个新的对象出来,在主程序中调用 设想一个场景,我要定义一个手机对象,里面有牌子,价格,和一些其他 ...

  6. 2020新春战疫ctf公益赛——Misc套娃

    一看套娃就能猜到会是一个繁琐的题目,从压缩包里放着压缩包可以猜测整个题目的过程中寻找压缩包密码是一条主线. 第一层 很明显的txt里边Ook的加密,解密便得到压缩包2的密码. brainfuck/Oo ...

  7. i春秋公益赛WriteUp-MISC套娃

    2020.3.4:更新了选择明文攻击部分 这道MISC考察的是压缩包解密和隐写 第一关:Ook编码 //1.剧情.txt 1小童鞋也想变强,他的老师告诉他如果能去西天取到真经 ,那成长速度堪比吃一盒仙 ...

  8. AI扮演Linux虚拟机,能管理文件编程开浏览器,还能跟自己「套娃」聊天 | ChatGPT新玩法...

    詹士 发自 凹非寺 量子位 | 公众号 QbitAI ChatGPT能运行docker了? 还可以自己连接到OpenAI网站,查查自己? 被玩出花的OpenAI聊天AI ChatGPT,又被整出新活了 ...

  9. i春秋 misc code_in_morse、套娃

    code_in_morse wireshark打开pcapng,看到有image/jpeg图片,追踪流看到莫尔斯电码. 在线转换,得到一大堆英文字母串. 观察一下大写字母A-Z,数字2-7,base3 ...

最新文章

  1. 世界首富太空争霸:从地上斗到天上,马斯克VS贝索斯,谁能赢
  2. [导入]XmlReader 读取器读取内存流 MemoryStream 的注意事项
  3. 企业网络推广网站排名首页但确保用户体验也是企业网络推广的关键
  4. outlook异常之:邮件输入模式转换
  5. 笔记-高项案例题-2017年下-计算题
  6. 根据多个条件删除mysql数据
  7. 如何利用Python制作可以动的动态图表。
  8. 如何阻止YouTube在iOS,Android和Web上自动播放视频
  9. java内存四大区,jvm基础-内存区域
  10. 新增5大运维特性!华为云DAS服务高效运维有妙招
  11. 如何和周围的人搞好关系?
  12. 线上Linux服务器运维安全策略经验分享
  13. matlab通信系统性能估计(误码率、误比特率、眼图、星座图....)
  14. Matlab2018a安装教程
  15. 0基础入门VTD-实操静态道路建模1
  16. java面试宝典2019
  17. gif 格式图片详细解析
  18. 【原创--学习整理】学习bat和dos的相关资料整理--汇总
  19. 原生JS实现中文简繁切换,引入即可整站变繁体
  20. Excel中使用条件格式(比较两列将内容不同用颜色标识)

热门文章

  1. Android -- EventBus使用
  2. 【ZZ】使用github管理Eclipse分布式项目开发
  3. wordpress给后台文章列表增加自定义排序栏
  4. Java实现内嵌浏览器
  5. 贪心:磁带最优存储与磁盘文件最优存储
  6. 11-Python基础之模块
  7. STM32-内存管理
  8. 使用antd UI组件有感
  9. Jedis操作Redis数据库
  10. Android的代码都得自己一个个敲一遍吗?