洛谷P3740 [HAOI2014]贴海报】的更多相关文章

题目描述 Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论.为了统一管理,城市委员会为选民准备了一个张贴海报的electoral墙. 张贴规则如下: electoral墙是一个长度为N个单位的长方形,每个单位记为一个格子: 所有张贴的海报的高度必须与electoral墙的高度一致的: 每张海报以“A B”表示,即从第A个格子到第B个格子张贴海报: 后贴的海报可以覆盖前面已贴的海报或部分海报. 现在请你判断,张贴完所有海报后,在electoral墙上还可以看见…
题目描述 Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论.为了统一管理,城市委员会为选民准备了一个张贴海报的electoral墙. 张贴规则如下: electoral墙是一个长度为N个单位的长方形,每个单位记为一个格子: 所有张贴的海报的高度必须与electoral墙的高度一致的: 每张海报以“A B”表示,即从第A个格子到第B个格子张贴海报: 后贴的海报可以覆盖前面已贴的海报或部分海报. 现在请你判断,张贴完所有海报后,在electoral墙上还可以看见…
[题解] 线段覆盖问题.线段树或者并查集都可以.不离散化居然能过? #include<cstdio> #include<algorithm> #define N 10000010 #define rg register using namespace std; int n,m,ans,l[N],r[N],fa[N]; inline int read(){ int k=0,f=1; char c=getchar(); while(c<'0'||c>'9')c=='-'&a…
woc,今天已经是day -1了 再写一颗珂朵莉树来++rp吧 否则就要AFO了qaq 这有可能是我最后一篇题解/博客qaq 原题传送门:P3740 [HAOI2014]贴海报 考前刷水题到底是对还是错qaq 反正这题是很水 前置芝士:珂朵莉树 窝博客里对珂朵莉树的介绍 没什么好说的自己看看吧 每贴一张海报暴力assign_val 最后用桶排思想统计一下即可 #pragma GCC optimize("O3") #include <bits/stdc++.h> #defin…
(呃...本蒟蒻的第一篇题解qwq)..不废话了讲正题..思路来源于铺地毯(-->传送门)..先算出每一个格子上覆盖的海报并把可见的海报做标记然后算出有多少海报是可见的..但是作为省选题怎么可能会那么简单..所以加了两个小优化..缩小范围和标配快读...下面放AC代码... #include<cstdio> #include<cstring> #include<iostream> using namespace std; void R(int &x){ i…
线段树版的海报 实际上这个与普通的线段树相差不大,只是貌似数据太水,暴力都可以过啊 本来以为要离散的,结果没打就A了 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int Max=40000001; struct Node{ int x,y,id; }node[10001]; int n,m,sum[Max],lazy[Max],tot[1001]; vo…
据说某谷数据十分水...但幸好BZOJ上也过了...话说我记得讲课时讲的是奇奇怪怪的离散化..但现在突然觉得什么都可以线段树瞎搞了...QAQ 直接就是这个区间有没有被覆盖,被覆盖直接return: 如果出现修改,那么就说明它能被看见,++ans 短的一批的线段树(去了不必要的操作码量还是很小的...) #include<cstdio> #include<iostream> #define R register int #define ls (tr<<1) #defin…
线段树版的海报 实际上这个与普通的线段树相差不大,只是貌似数据太水,暴力都可以过啊 本来以为要离散的,结果没打就A了 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int Max=40000001; struct Node{ int x,y,id; }node[10001]; int n,m,sum[Max],lazy[Max],tot[1001]; vo…
题目描述 Bytetown城市要进行市长竞选,所有的选民可以畅所欲言地对竞选市长的候选人发表言论.为了统一管理,城市委员会为选民准备了一个张贴海报的electoral墙. 张贴规则如下: electoral墙是一个长度为N个单位的长方形,每个单位记为一个格子: 所有张贴的海报的高度必须与electoral墙的高度一致的: 每张海报以“A B”表示,即从第A个格子到第B个格子张贴海报: 后贴的海报可以覆盖前面已贴的海报或部分海报. 现在请你判断,张贴完所有海报后,在electoral墙上还可以看见…
题解 一开始想到离散化,然后暴力模拟.但是存在一种hack数据: [5,7] [1,5] [7,9] 这样会错误的认为第一个区间被覆盖了(因为两个端点被覆盖).所以我们设置一个玄学调参系数,在一个区间的内部,rand几个点,属于这个区间. 这个系数一般来讲设为5就可以了. 代码如下: #include<cstdio> #include<algorithm> #include<cstdlib> const int maxn = 1e5+10; int n,m; int x…