problem 线段树优化建图,拓扑,没了. #include <bits/stdc++.h> #define ls(x) ch[x][0] #define rs(x) ch[x][1] #define rep(i , j , k) for(int i = j ; i <= k ; i ++) #define Rep(i , j , k) for(int i = j ; i >= k ; i --) using namespace std ; using ll = long lon…
BZOJ_4383_[POI2015]Pustynia_线段树优化建图+拓扑排序 Description 给定一个长度为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个数大(严格大于,即没有等号). 请任意构造出一组满足条件的方案,或者判断无解. Input 第一行包含三个正整数n,s,m(1<=s<…
题目描述 给定一个长度为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[…
题面 sol:说了是线段树优化建图的模板... 就是把一整个区间的点连到一个点上,然后用那个点来连需要连一整个区间的点就可以了,就把边的条数优化成n*log(n)了 #include <queue> #include <cstdio> #include <iostream> using namespace std; ,M=; ,Next[M],to[M],val[M],head[M],cnt=,in1[N],dis[N],a[N],arr[N]; inline void…
成功又一次自闭了 怕不是猪国杀之后最自闭的一次 一看到最短路径. 我们就能推测这应该是个最短路题 现在考虑怎么建图 根据题目的意思,我们可以发现,在本题中,边与边之间存在一些转换关系,但是点与点之间并不存在. 那么我们考虑 边转点,点转边. 每一条边拆成两个点,之间连边权的边 新建一个起点\(S\),与\(1\)号点的出边所对应的入点连边 然后根据原图中一个点的入度和出度之间的关系建图.(我们可以将\(LCP\)视为\(trie\)树上的\(LCA\)) 最后跑一遍\(dijkstra\),那么…
Solution 一个点向一个区间内的所有点连边, 可以用线段树优化建图来优化 : 前置技能传送门 然后就得到一个有向图, 一个联通块内的炸弹可以互相引爆, 所以进行缩点变成$DAG$ 然后拓扑排序. 由于一次引爆的炸弹 一定是一个连续的区间内, 所以只需要记录左右边界, 并将左右边界转移给能到达它的联通块. 没写手工栈一直RE的我心里$mmp$啊. 为什么网上的题解都不写手工栈$QAQ$ Code #include<cstdio> #include<cstring> #inclu…
[BZOJ3681]Arietta Description Arietta 的命运与她的妹妹不同,在她的妹妹已经走进学院的时候,她仍然留在山村中.但是她从未停止过和恋人 Velding 的书信往来.一天,她准备去探访他.对着窗外的阳光,临行前她再次弹起了琴.她的琴的发声十分特殊.让我们给一个形式化的定义吧.所有的 n 个音符形成一棵由音符 C ( 1 号节点) 构成的有根树,每一个音符有一个音高 Hi .Arietta 有 m 个力度,第 i 个力度能弹出 Di 节点的子树中,音高在 [Li,R…
Description ​ 数轴上有 n 个旗子,第 ii 个可以插在坐标 xi或者 yi,最大化两两旗子之间的最小距离. Input ​ 第一行一个整数 N. ​ 接下来 N 行每行两个整数 xi,yi Output ​ 一个整数表示答案. Sample Input Sample #1 3 1 3 2 5 1 9 Sample #2 5 2 2 2 2 2 2 2 2 2 2 Sample #3 22 93 6440 78 6647 862 11 8306 9689 798 99 801 52…
题目描述 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸时,如果另一个炸弹所在位置 Xj 满足:  Xi−Ri≤Xj≤Xi+Ri,那么,该炸弹也会被引爆.  现在,请你帮忙计算一下,先把第 i 个炸弹引爆,将引爆多少个炸弹呢?  输入 第一行,一个数字 N,表示炸弹个数.  第 2∼N+1行,每行 2 个数字,表示 Xi,Ri,保证 Xi 严格递增.  N≤500000 −10^18≤Xi≤10^18 0≤Ri≤2×10^18 输出 一个数字,表示Sigma…
题意 给你一棵 $n$ 个点 $n-1$ 条边的树,每条边有一个通过时间.此外有 $m$ 个传送条件 $(x_1,y_1,x_2,y_2,c)$,表示从 $x_1$ 到 $x_2$ 的简单路径上的点可以花费 $c$ 单位时间到达 $y_1$ 到 $y_2$ 简单路径上的任意一点.求从一个起点 $k$ 到其余所有点的最短路. 题解1:树剖+线段树优化建图 线段树优化建图大家肯定都会,然后套到树剖上的话,就想象一下 每条重链对应线段树上一段区间 即可,甚至不用为此更改写法. 这里介绍了 $O(n\t…