首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[NOI2016]区间 题解(决策单调性+线段树优化)
】的更多相关文章
[NOI2016]区间 题解(决策单调性+线段树优化)
4653: [Noi2016]区间 Time Limit: 60 Sec Memory Limit: 256 MBSubmit: 1593 Solved: 869[Submit][Status][Discuss] Description 在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn].现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置.换句话说,就是使得存在一个 x,使得对于每一个被选中的区间 [li,ri],都有 li≤x≤ri. 对于一个合法…
【题解】Journeys(线段树优化连边)
[#3073. Pa2011]Journeys (线段树优化连边) 这张图太直观了,直接讲透了线段树优化连边的原理和正确性. 考虑建立两颗线段树,一颗是外向树,一颗是内向树,相当于网络流建模一样,我们可以利用这两颗线段树分别模拟一个点的入度和出度.毕竟一个点如果确定了它的入度和出度就相当于确定了在图中的位置. 外向树 一条边进入了一个父亲节点,相当于能进入它所有的儿子,这就模拟了入度.这和线段树很像,于是我们就做成线段树的样子,每次加边的时候,最多从外向树选出\(O(\log n)\)的节点,…
luogu P1712 [NOI2016]区间 贪心 尺取法 线段树 二分
LINK:区间 没想到尺取法. 先说暴力 可以发现答案一定可以转换到端点处 所以在每个端点从小到大扫描线段就能得到答案 复杂度\(n\cdot m\) 再说我的做法 想到了二分 可以进行二分答案 从左到右加入线段 加到线段的每个端点的时候 将所有加入的线段 插到主席树里面 考虑判定当前ans合法. 每加入一条线段权值为v 那么意味着 权值在 v-ans这个权值区间中加1 且看一下之前是否存在相同权值的线段加入 更新其本身. 这样查一下全局最大值即可完成判定 实现起来非常繁琐 复杂度\(nlog^…
BZOJ 4653 [Noi2016]区间(Two pointers+线段树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4653 [题目大意] 在数轴上有n个闭区间 [l1,r1],[l2,r2],...,[ln,rn]. 现在要从中选出m个区间,使得这m个区间共同包含至少一个位置. 对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度. 区间[li,ri]的长度定义为它的右端点的值减去左端点的值. 求所有合法方案中最小的花费.如果不存在合法的方案,输出-1. [题解] 我们将所…
【bzoj4383】[POI2015]Pustynia 线段树优化建图+差分约束系统+拓扑排序
题目描述 给定一个长度为n的正整数序列a,每个数都在1到10^9范围内,告诉你其中s个数,并给出m条信息,每条信息包含三个数l,r,k以及接下来k个正整数,表示a[l],a[l+1],...,a[r-1],a[r]里这k个数中的任意一个都比任意一个剩下的r-l+1-k个数大(严格大于,即没有等号).请任意构造出一组满足条件的方案,或者判断无解. 输入 第一行包含三个正整数n,s,m(1<=s<=n<=100000,1<=m<=200000).接下来s行,每行包含两个正整数p[…
炸弹:线段树优化建边+tarjan缩点+建反边+跑拓扑
这道题我做了有半个月了...终于A了... 有图为证 一句话题解:二分LR线段树优化建边+tarjan缩点+建反边+跑拓扑统计答案 首先我们根据题意,判断出来要炸弹可以连着炸,就是这个炸弹能炸到的可以是由它能炸到的其他炸弹来炸到.也就是说具有拓扑性.(a->b,b->c==a->c) 所以我们首先有了一个想法:建反图,tarjan缩点,跑拓扑. 为什么建反图?因为i能炸到j,所以j能炸到的i就可以炸到了,所以建反图从j->i可以实现这一点. 但是每个炸弹能炸到的是一个区间,怎么搞呢…
CodeForces 558E(计数排序+线段树优化)
题意:一个长度为n的字符串(只包含26个小字母)有q次操作 对于每次操作 给一个区间 和k k为1把该区间的字符不降序排序 k为0把该区间的字符不升序排序 求q次操作后所得字符串 思路: 该题数据规模很大 排序是关键想到计数排序,根据计数排序原理,由只有26个小写字母,需要统计区间字母的个数,还需要更新区间,想到用线段树优化,对于每个字母建一个线段树维护各字母在区间的个数. #include <map> #include <set> #include <list> #i…
[bzoj3073] Journeys 题解(线段树优化建图)
Description Seter建造了一个很大的星球,他准备建造N个国家和无数双向道路.N个国家很快建造好了,用1..N编号,但是他发现道路实在太多了,他要一条条建简直是不可能的!于是他以如下方式建造道路:(a,b),(c,d)表示,对于任意两个国家x,y,如果a<=x<=b,c<=y<=d,那么在xy之间建造一条道路.Seter保证一条道路不会修建两次,也保证不会有一个国家与自己之间有道路. Seter好不容易建好了所有道路,他现在在位于P号的首都.Seter想知道P号国家到任…
7月13日考试 题解(DFS序+期望+线段树优化建图)
T1 sign 题目大意:给出一棵 N 个节点的树,求所有起点为叶节点的有向路径,其 上每一条边权值和的和.N<=10000 水题.考试的时候毒瘤出题人(学长orz)把读入顺序改了一下,于是很多人爆零(包括我QAQ. 先dfs序把以$i$为根的子树大小$size[i]$和所含叶子结点个数$s[i]$求出.考虑每条边对答案的贡献. 1.子树里的叶子结点往外走,这一部分的贡献为$s[i]*(n-size[i])*dis$ 2.子树外的叶子结点往里走,这一部分的贡献为$(sum-s[i])*size[…
SRM12 T2夏令营(分治优化DP+主席树 (已更新NKlogN)/ 线段树优化DP)
先写出朴素的DP方程f[i][j]=f[k][j-1]+h[k+1][i] {k<i}(h表示[k+1,j]有几个不同的数) 显然时间空间复杂度都无法承受 仔细想想可以发现对于一个点 i 从 k 转移了,证明了 1~k 中 k 一定是最优的,不论对于i或者i之后的任何点x都是如此,不存在对i最优但对i之后的任何点x更优,否则i也可以更优(因为只多了一段h[i+1][x](i<x),而这一段显然是相同的),其实打表也能看出来(orz CYC!) 证明: 假设a<b,k>l,a…