[JZOJ100026]图--倍增】的更多相关文章

[JZOJ100026]图--倍增 题目链接 太懒了,自行搜索 分析 裸倍增,不多说 \(fa[i][j]\)表示\(i\)跳\(2^j\)步走到的点 \(f[i][j]\)表示\(i\)跳\(2^j\)步经过边权之和 \(mi[i][j]\)表示\(i\)跳\(2^j\)步经过的边权最小值 \(fa[i][j]=fa[fa[i][j-1]][j-1]\) \(f[i][j]=f[i][j-1]+f[fa[i][j-1]][j-1]\) \(mi[i][j]=min(mi[i][j-1],mi[…
居然是一道图论题 毫无思路 我们对于每一次的融合操作 $(a,b)$ 建一个新点$c$ 并向$a,b$连边 再将$b$瓶当前的位置赋成$c$ 这样子我们就可以建成一个森林 现在枚举每一种反应$M_i$ 看他在森林里是否存在$lca$ 存在就相当于会在$lca$处发生反应 因为有反应的顺序 我们对$lca$排序后先做$lca$深度大的 深度相同就先做$M$的$id$小的 这样就满足题意了 我交了半天 居然是因为倍增数组写错了 真菜o(╥﹏╥)o #include<bits/stdc++.h> u…
题目链接: [十二省联考2019]字符串问题 首先考虑最暴力的做法就是对于每个$B$串存一下它是哪些$A$串的前缀,然后按每组支配关系连边,做一遍拓扑序DP即可. 但即使忽略判断前缀的时间,光是连边的时间就会爆炸,显然不能暴力连边. 对于前缀不好解决,可以将字符串翻转然后变成判断是否是后缀. 可以发现对于后缀自动机的$parent$树,每个节点是子树内所有节点的后缀. 那么我们可以利用$parent$树来优化建图过程,将树上每个点向子节点连边. 对于每个$A$串和$B$串在后缀自动机上匹配出对应…
题意 JOI君所居住的IOI市以一年四季都十分炎热著称. IOI市是一个被分成纵H*横W块区域的长方形,每个区域都是建筑物.原野.墙壁之一.建筑物的区域有P个,编号为1...P. JOI君只能进入建筑物与原野,而且每次只能走到相邻的区域中,且不能移动到市外. JOI君因为各种各样的事情,必须在各个建筑物之间往返.虽然建筑物中的冷气设备非常好,但原野上的日光十分强烈,因此在原野上每走过一个区域都需要1单位的水.此外,原野上没有诸如自动售货机.饮水处之类的东西,因此IOI市的市民一般都携带水壶出行.…
如果把“我全都要”看作是我全不要的话,就可以用最小割解决啦 源点S,汇点T 我们试图让每个市民作为一个等待被割断的路径 把狗狗给市民:建边(S,i,1),其中i是市民 把狗狗给守卫:建边(j,T,1),其中j是守卫(也就是边) 市民要在路上所有边看到狗:建边(i,j,1),其中i是市民,j是i经过的边 (众所周知,(!A)&(!B)==!(A|B),所以要把两种选择串起来) 然而这样边数太多了,考虑倍增来优化建边 ...反正就是倍增优化建边,流量给正无穷 最大流=最小割,跑个dinic就行了(要…
题目链接: http://172.16.0.132/senior/#main/show/100026 题目: 有一个$n$个点$n$条边的有向图,每条边为$<i,f(i),w(i)>$,意思是$i$指向$f(i)$的边权为$w(i)$的边,现在小A想知道,对于每个点的$s_i$和$m_i$.$s_i$:由$i$出发经过$k$条边,这$k$条边的权值和.$m_i$:由$i$出发经过$k$条边,这$k$条边的权值最小值. 题解: 倍增即可(倍增的套路,转移是唯一的,体现在本题中是每个点出度为1)…
Description 有一个n个点n条边的有向图,每条边为<i,f(i),w(i)>,意思是i指向f(i)的边权为w(i)的边,现在小A想知道,对于每个点的si和mi. si:由i出发经过k条边,这k条边的权值和. mi:由i出发经过k条边,这k条边的权值最小值.   Input 第一行两个数n和k 第二行n个数f(i) 第三行n个数w(i) Output 每行两个数si和mi Sample Input 7 3 1 2 3 4 3 2 6 6 3 1 4 2 2 3 Sample Outpu…
后缀数组的倍增算法(Prefix Doubling) 文本内容除特殊注明外,均在知识共享署名-非商业性使用-相同方式共享 3.0协议下提供,附加条款亦可能应用. 最近在自学习BWT算法(Burrows-Wheeler transform),其中涉及到对字符串循环移位求编码.直观的办法就是模拟,使用O(n3)的时间求出BWT编码.经过简单的简化后也要O(n2logn)的时间,显然当字符串长度很大时这种方法的效率很低. 由于循环移位的结果类似后缀(二者有所不同,所以在字符串结尾添加了一个字典序严格小…
NOIP 2013 货车运输[树链剖分] 树链剖分 题目描述 Description A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物. 输入描述 Input Description 第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路.接下来 m 行每行 3 个整数 x.y.z,每两个整数之间用一个空格隔开,表示…
3732: Network 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3732 Description 给你N个点的无向图 (1 <= N <= 15,000),记为:1-N. 图中有M条边 (1 <= M <= 30,000) ,第j条边的长度为: d_j ( 1 < = d_j < = 1,000,000,000). 现在有 K个询问 (1 < = K < = 15,000). 每个询问的…