这个题目和之前写的一个线段树优化建图是一样的. B - Legacy CodeForces - 787D 线段树优化建图+dij最短路 基本套路 之前这个题目可以相当于一个模板,直接套用就可以了. 不过注意为了提高效率,在区间与区间之间建边的时候建了两个虚点. 题目 G. 神圣的 F2 连接着我们 #include <cstdio> #include <cstdlib> #include <cstring> #include <queue> #include…
[题目链接] http://codeforces.com/problemset/problem/786/B [题目大意] 给出一些星球,现在有一些传送枪,可以从一个星球到另一个星球, 从一个星球到另一些星球,或者从一些星球到某个星球,每种传送枪使用一次要花费不同的价格 地球是其中一个星球,问从地球到其它星球的最少花费是多少 [题解] 因为一个星球到一些星球和一些星球到某个星球是以区间形式给出的, 所以我们可以用线段树建图优化,对点进行压缩, 建立两颗线段树表示有向线段左端和右端的合并情况,之后在…
题目链接 \(Description\) 有\(n\)个点.你有\(Q\)种项目可以选择(边都是有向边,每次给定\(t,u,v/lr,w\)): t==1,建一条\(u\to v\)的边,花费\(w\): t==2,由\(u\)向\([l,r]\)中任意一些点连边,每次花费\(w\): t==3,由\([l,r]\)中任意一些点向u连边,每次花费\(w\). 最后求使给定的\(s\)到达点\(i(1\leq i\leq n)\)的最小花费. \(Solution\) 花费看成每条边的边权,全都连…
[BZOJ4276][ONTAK2015]Bajtman i Okrągły Robin Description 有n个强盗,其中第i个强盗会在[a[i],a[i]+1],[a[i]+1,a[i]+2],...,[b[i]-1,b[i]]这么多段长度为1时间中选出一个时间进行抢劫,并计划抢走c[i]元.作为保安,你在每一段长度为1的时间内最多只能制止一个强盗,那么你最多可以挽回多少损失呢? Input 第一行包含一个正整数n(1<=n<=5000),表示强盗的个数. 接下来n行,每行包含三个正…
BZOJ_4276_[ONTAK2015]Bajtman i Okrągły Robin_线段树优化建图+最大费用最大流 Description 有n个强盗,其中第i个强盗会在[a[i],a[i]+1],[a[i]+1,a[i]+2],...,[b[i]-1,b[i]]这么多段长度为1时间中选出一个时间进行抢劫,并计划抢走c[i]元.作为保安,你在每一段长度为1的时间内最多只能制止一个强盗,那么你最多可以挽回多少损失呢? Input 第一行包含一个正整数n(1<=n<=5000),表示强盗的个…
成功又一次自闭了 怕不是猪国杀之后最自闭的一次 一看到最短路径. 我们就能推测这应该是个最短路题 现在考虑怎么建图 根据题目的意思,我们可以发现,在本题中,边与边之间存在一些转换关系,但是点与点之间并不存在. 那么我们考虑 边转点,点转边. 每一条边拆成两个点,之间连边权的边 新建一个起点\(S\),与\(1\)号点的出边所对应的入点连边 然后根据原图中一个点的入度和出度之间的关系建图.(我们可以将\(LCP\)视为\(trie\)树上的\(LCA\)) 最后跑一遍\(dijkstra\),那么…
题意转化 考虑我们对于每一对激活关系建一条有向边,则对于每一个点,其答案就是其所能到达的点数. 于是,这个问题就被我们搬到了图上,成了一个图论题. 优化建图 考虑我们每次需要将一个区间向一个区间连边. 则我们可以用线段树优化建图. 具体步骤就是,建两棵线段树,每次新建一个虚节点,然后把需要向外连边的区间在一棵线段树上向这个节点连边,并从这个节点在另一棵线段树上向应被连边的区间连边. 求解答案 建完图之后,考虑如何求答案. 首先,我们\(Tarjan\)缩点,显然一个强连通分量内的所有节点可以相互…
题目链接 题意 : 给出一个哈希表.其避免冲突的方法是线性探测再散列.现在问你给出的哈希表是否合法.如果合法则输出所有元素插入的顺序.如果有多解则输出字典序最小的那一个.如果不合法则输出 -1 分析 :  经过对样例的模拟和观察.可以发现 如果一个元素 A 本应去到的位置 pos 被元素 B 占据.则说明 B 要先于 A 进行放置 由于是采用线性再探测.所以从 pos 开始到 A 现在的位置 posNow 中经过的所有位置都应该先于 A 放置 例如 4 8 0 -1 在这个长度为 4 的哈希表中…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5017 题解 这个题目方法挺多的. 线段树优化建图 线段树优化建图的做法应该挺显然的,一个炸弹能够引爆的炸弹的显然应该是一个区间里面的,直接对这个区间进行线段树优化建图. 这样可以得到一个带环图,缩点以后这个炸弹能够炸到的炸弹就是从这个点能够走到的点. 但是这个不太好做,不过可以发现最终的炸弹也是一个区间,所以可以通过缩点后的 DAG 来求出左右端点. 时间复杂度 \(O(n\log n)\)…
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[…