Codeforces1080F. Katya and Segments Sets

Codeforces1080F. Katya and Segments Sets


题意:给定n个集合,每个集合里有一些区间\([l_i,r_i]\),有m次询问,每次询问区间\([x,y]\)中,是否包含了集合a到集合b中每个集合至少一个区间。

做法:按区间右端点排序,从左到右建主席树,维护每个集合最大的左端点的区间最小值,每次只需要查询y对应的线段树,询问\([a,b]\)最小值,与x进行比较即可。

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;int n, m, k;
struct node{int l, r, b;bool operator < (const node a) const {return r < a.r;}
} a[301010], T[100010*100];
int rt[100010*100], tot;
void ins(int &rt, int pre,int l,int r,int p,int d) {rt = ++tot; T[rt] = T[pre];if(l == r) {T[rt].b = max(T[rt].b, d);return;}int mid = (l + r) >> 1;if(p <= mid) ins(T[rt].l, T[pre].l, l,mid, p,d);else ins(T[rt].r, T[pre].r, mid+1,r, p,d);T[rt].b = min(T[T[rt].l].b, T[T[rt].r].b);
}int ask(int rt, int l, int r, int L, int R) {if(l == L && r == R) return T[rt].b;int mid = (l + r) >> 1;if(R <= mid) return ask(T[rt].l, l,mid, L,R);else if(L > mid) return ask(T[rt].r, mid+1,r, L,R);return min(ask(T[rt].l, l,mid, L,mid), ask(T[rt].r, mid+1,r, mid+1,R));
}
vector<int> v;
int fd(int x) {return upper_bound(v.begin(),v.end(),x) - v.begin();
}int main() {scanf("%d%d%d",&n,&m,&k);for(int i = 1; i <= k; ++i) scanf("%d%d%d",&a[i].l,&a[i].r,&a[i].b), v.push_back(a[i].r);sort(a+1, a+1+k); sort(v.begin(),v.end());for(int i = 1; i <= k; ++i) ins(rt[i],rt[i-1], 1, n, a[i].b, a[i].l);for(int i = 1; i <= m; ++i) { int ta, b, x, y;scanf("%d%d%d%d",&ta,&b,&x,&y);int p = fd(y);if(ask(rt[p], 1, n, ta,b) >= x ) puts("yes");else puts("no");cout.flush();}
}

转载于:https://www.cnblogs.com/RRRR-wys/p/10056460.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【二分】Best Cow Fences(poj 2018)

Best Cow Fences poj 2018 题目大意&#xff1a; 给出一个正整数数列&#xff0c;要你求平均数最大&#xff0c;长度不小于M的字串&#xff0c;结果乘1000取整 输入样例 10 6 6 4 2 10 3 8 5 9 4 1输出样例 6500数据范围 1⩽N⩽100,0001\leqslant N \leqslant 100,0001⩽…

离散哈特莱变换(DHT)及快速哈特莱变换(FHT)学习

离散哈特莱变换(DHT)及快速哈特莱变换(FHT)学习 说在前边 最近复习\(DSP\)的时候&#xff0c;发现了一个号称专门针对离散实序列的变换&#xff0c;经分析总运算量为普通\(FFT\)的几乎一半&#xff0c;而且完全没有复数。这么强的吗&#xff1f;于是花了一个下午&#xff0c;去…

P2495-[SDOI2011]消耗战【虚树,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P2495 题目大意 nnn个点的一棵树&#xff0c;mmm次给出一些点&#xff0c;要求割掉最小权值的边使得这些点不和111号点联通。 解题思路 根据这些给出的点构造一棵虚树&#xff0c;然后直接dpdpdp求解即可。 codecodecode #i…

【贪心】Sunscreen(poj 3614/luogu 2887)

Sunscreen poj 3614 luogu 2887 题目大意&#xff1a; 有n个人&#xff0c;每个人要求选一个价值在minniminn_iminni​到maxximaxx_imaxxi​的物品&#xff0c;现在有m件物品&#xff0c;每件的价值是spfispf_ispfi​&#xff0c;可以选covericover_icoveri​次&#xff0c…

.NET Core 2.1中的分层编译(预览)

如果您是.NET性能的粉丝&#xff0c;最近有很多好消息&#xff0c;例如.NET Core 2.1中的性能改进和宣布.NET Core 2.1&#xff0c;但我们还有更多的好消息。分层编译是一项重要的新特性功能&#xff0c;我们可以作为预览供任何人试用&#xff0c;从.NET Core 2.1开始。在我们测…

Codeforces 刷题记录(已停更)

Codeforces 每日刷题记录 (已停更) 打‘’是一些有启发意义的题目&#xff0c;部分附上一句话题解&#xff0c;每日更新3题&#xff0c;大部分题目较水。 DayIDProblemTutorialNote11CF1073E状压&#xff0c;数位dp&#xff0c;官方题解std骚操作\(~\)2CF1072A\(~\)3CF1072B24C…

牛客练习赛60 ~ 斩杀线计算大师

题目传送 时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K Special Judge, 64bit IO Format: %lld 题目描述 算术能力是每个炉石玩家必不可少的&#xff0c;假设现在有三种伤害卡&#xff0c;伤害值分别是a,b…

【贪心】Stall Reservations(luogu 2859/poj 3190)

Stall Reservations luogu 2859 poj 3190 题目大意&#xff1a; 有n头牛&#xff0c;每头牛都有自己的挤奶时间&#xff0c;挤奶时间内每头牛用一个奶棚&#xff0c;现在问最少需要多少个奶棚 输入样例 5 1 10 2 4 3 6 5 8 4 7输出样例 4 1 2 3 2 4数据范围 1⩽N⩽50,00…

选择IT事业,意味着终身学习

八月&#xff0c;炎阳如火。 前几天书记找我交流&#xff0c;问我离职的原因&#xff0c;我跟他仔细的分析了一下我的职业发展规划和我对于未来的预期&#xff0c;书记也向我分析了一下他所认为的原因&#xff0c;他说&#xff0c;无外乎是三个原因&#xff1a;第一个是钱的问…

P4103-[HEOI2014]大工程【虚树,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P4103 题目大意 nnn个点的一棵树&#xff0c;mmm次给出一些点&#xff0c;求最近点对&#xff0c;最远点对和所有点对的距离和。 解题思路 先构造一棵虚树&#xff0c;然后在上面dpdpdp统计答案即可。 codecodecode #includ…

牛客网【每日一题】Shortest Path 4月3日题目精讲 DFS

题号 NC13886 Shortest Path 西南交通大学第十三届ACM决赛 题意&#xff1a; 一棵偶数节点的树&#xff0c;分成n/2对&#xff0c;两两一组&#xff0c;所有组的路径之和最小是多少&#xff1f; 题解&#xff1a; 如果两个点之间相连将另外两个相连的点覆盖&#xff0c;那么完全…

是男人就过 8 题--Pony.AI 题 - A String Game

是男人就过 8 题--Pony.AI 题 - A String Game 题目来源 题意&#xff1a;给一个串t以及n个t的子串s&#xff0c;两个人每轮可以选择一个s在他的后边添加一个字符满足得到的新串仍是t的子串&#xff0c;第一个不能操作的人输。 做法&#xff1a;对s串建SAM&#xff0c;在一个子…

使用Jexus服务器运行Asp.Net Core2.0程序

前段时间写了篇关于.net core跨平台部署的文章。https://my.oschina.net/lichaoqiang/blog/1861977主要讲述了&#xff0c;利用NginxCentOSSupervisor.NetCore2.1&#xff0c;来运行.net core程序&#xff0c;感兴趣的朋友可以看一下。今天向大家介绍.net core使用jexus服务器的…

【结论】棋盘(jzoj 2297)

棋盘 jzoj 2297 题目大意&#xff1a; 在棋盘上有一个特殊的象&#xff0c;他可以向四个方向行走若干步&#xff08;左上&#xff0c;左下&#xff0c;右上&#xff0c;右下&#xff09;&#xff0c;现在问从某一个点是否能到另外一个点 输入样例 5 1 1 2 2 2 3 2 2 1 2 4…

P3233-[HNOI2014]世界树【虚树,倍增】

正题 题目链接:https://www.luogu.com.cn/problem/P3233 题目大意 nnn个点的一棵树&#xff0c;mmm次选出一些点作为关键点。每个树上的点会对最近的关键点做贡献&#xff0c;求每个关键点的贡献。 解题思路 显然是虚树&#xff0c;考虑如何在虚树上求贡献&#xff0c;我们发…

牛客每日一题3.31 城市网络 树上倍增

牛客网 时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 有一个树状的城市网络&#xff08;即 n 个城市由 n-1 条道路连接的连通图&#xff09;&#xff0c;首都为 1 号城市&…

RRRR_wys' Blog 3.0 准备上线啦!

RRRR_wys Blog 3.0 准备上线啦&#xff01; 今年马上要过完啦&#xff0c;打算在年前把博客翻翻新之前的布局太复杂了&#xff0c;感觉很视觉疲劳&#xff0c;这一版我打算能删就删完善了\(markdown\)还有一些地方要修&#xff0c;放假再说辣在vj上交了道cf&#xff0c;有惊喜 …

【ST表】栈(jzoj 2295)

栈 jzoj 2295 题目大意&#xff1a; 有一个A数组&#xff0c;一个B数组和一个栈&#xff0c;现在把A数组的数存入栈&#xff08;操作1&#xff09;&#xff0c;然后再从栈中取出来放在B数组&#xff0c;但取出可以从栈顶&#xff08;操作2&#xff09;&#xff0c;也可以从栈…

CSPNOIP2020总结

这里是目录友链CSPpartCSP\ \ partCSP partCSP−S1CSP-S1CSP−S1CSP−S2CSP-S2CSP−S2游记PartPartPart后面PartPartPart总结PartPartPartNOIPpartNOIP\ \ partNOIP partDay0Day\ \ 0Day 0Day1Day\ 1Day 1友链 stoorz的CSPNOIP游记是这个逼强行拉我加友链\tiny\color{white…

WebApiClient的JsonPatch局部更新

1. 文章目的随着WebApiClient的不断完善&#xff0c;越来越多开发者选择WebApiClient替换原生的HttpClient&#xff0c;本文将介绍使用WebApiClient来完成JsonPatch提交的新特性。2. json patch介绍在服务端WebApi开发的时候&#xff0c;如果设计一个更新登录用户的个人信息的接…