- 博客(377)
- 收藏
- 关注
原创 codeforce1442:C. Graph Transpositions(思维 + 最短路)
题目链接题目大意:有一个边权为1的有向图,可以使用魔法将所有的边转向,第 iii 次使用魔法要花费 2i−12^{i-1}2i−1 单位时间,求从 1 号点到 nnn 号点需要花费的最少时间,答案对 998244353998244353998244353 取模。题解:魔法最多需要使用 n−1n - 1n−1 次,但当魔法使用超过18次时,由于 218>2000002^{18} > 200000218>200000,使用魔法次数更小的情况一定比使用魔法次数更多的情况更优。对于魔法
2020-11-09 11:12:21
406
原创 codeforce 1437:G. Death DBMS(AC自动机 + 树链剖分)
题目链接题目大意: 一开始有 n 个串,每个串有一个初始值 viv_ivi,注意串可能会相同。接下来有 mmm 个操作,每个操作有两种类型:类型一:输入串 ttt,若 nnn 个串中有串是 ttt 的子串,输出这些串的权值的最大值,否则输出 −1-1−1类型二:修改第 xxx 串的值为 yyy要知道哪些串是 ttt 的子串,显然可以借助AC自动机,通过暴力跳 failfailfail 链可以找到所以 ttt 的子串,并找到这些串的权值的最大值,但复杂度是 O(∣t∣∗∣∑∣s∣∣)O(|t|*|
2020-11-02 18:32:37
338
原创 codeforce 1430:F. Realistic Gameplay(思维 + 贪心 + dp)
题目大意:你有一发可以装 k 发子弹的枪,你要击杀 n 波怪物,每一波怪物有 aia_iai 个,每只怪物一枪就死,但第 iii 波怪物必须在 [li,ri][l_i,r_i][li,ri] 的时间内全部击杀,发射子弹的时候不会消耗时间,但换子弹会消耗一秒,换弹匣的时候弹匣里的剩余子弹会全部丢弃。其中,对 i∈[1,n]i \in [1,n]i∈[1,n] 满足 ri≥li≥ri−1r_i \geq l_i \geq r_{i-1}ri≥li≥ri−1问题是:初始时你的弹匣中装满k发子弹..
2020-10-14 17:41:13
454
原创 HDU 6793 :Tokitsukaze and Colorful Tree(思维 + 离线 + 树状数组)
将问题退化到只有一种颜色的情况:异或的贡献可以拆位来做,观察发现一个节点要和不在它的祖先和子树上的节点产生贡献,例如该节点在某一位是 1,它将和那些在这一位为 0,且不为它的祖先,也不在它的子树上的节点产生贡献。用总节点扣掉这部分不合法的节点的数量,得到该节点的贡献为:该位为 0 的总节点数 - 祖先上该位为 0 的节点数 - 子树内该位为 0 的子节点数。子树内节点个数可以用 dfs 序转化为区间问题,祖先上的节点个数容易想到树链剖分,不幸的是这题卡了树链剖分。将权值改变操作转化为插入-删除操作..
2020-10-09 13:03:17
180
原创 HDU 6869:Xor(数位dp)
这题与 Comet OJ - Contest #12 :D.XOR Pair 的做法基本相同。https://blog.csdn.net/qq_41997978/article/details/108822769对于 x⨁y≤wx \bigoplus y \leq wx⨁y≤w 可以转化为 w−x⨁y≥0w - x \bigoplus y \geq 0w−x⨁y≥0,用相同的处理方法,将贡献诸位递推即可,但这题有2000组样例,如果不对达到上界的状态记忆化的话,最差复杂度会达到 O(2000∗900..
2020-09-27 16:48:49
164
原创 Comet OJ - Contest #12 :D.XOR Pair (数位dp)
如果没有条件 ∣x−y∣≤m|x-y|\leq m∣x−y∣≤m,那么这题可以直接按 二进制位 枚举 x,yx,yx,y,满足 0≤x≤a,0≤y≤b0 \leq x \leq a,0 \leq y \leq b0≤x≤a,0≤y≤b,且 x⨁y=nx \bigoplus y =nx⨁y=n。对于条件 :∣x−y∣≤m|x-y|\leq m∣x−y∣≤m 可以拆分为:m+y−x≥0m + y - x \geq 0m+y−x≥0 m+x−y≥0m + x - y \geq 0m+x−y≥0由于有加减法..
2020-09-27 13:42:20
176
1
原创 HDU 6851:Heart(dp + 子集卷积优化)
数据中不会有 x=0,bi=0x = 0,b_i=0x=0,bi=0 的数据显然可以令 dp[i]dp[i]dp[i] 表示使用的碎片集合为 iii 的贡献,转移方程为 dp[i]=∑j&k=0,j∣k=idp[j]∗sum[k]dp[i]=\sum_{j \& k=0,j|k=i}dp[j]*sum[k]dp[i]=j&k=0,j∣k=i∑dp[j]∗sum[k]其中 sum[j]sum[j]sum[j] 表示 b=jb = jb=j 的碎片的danmakus总和,d..
2020-09-16 15:09:11
239
原创 HDU 6868:Absolute Math(莫比乌斯反演 + 离线暴力)
f(n)=∑d∣nμ(d)2f(n) = \displaystyle\sum_{d|n}\mu(d)^2f(n)=d∣n∑μ(d)2,根据 μ(d)\mu(d)μ(d) 的定义,当 ddd 的质因子的幂次不高于一次时有贡献,设 ddd 的质因子共有 w(d)w(d)w(d) 种,f(n)=∑d∣nμ(d)2=∑i=0w(d)C(w(d),i)=2w(d)f(n) = \displaystyle\sum_{d|n}\mu(d)^2 = \sum_{i=0}^{w(d)}C(w(d),i)=2^{w(d)..
2020-09-14 09:59:33
193
1
原创 牛客练习赛69 F.解方程(莫比乌斯反演 + 迪利克雷卷积性质 + 欧拉筛)
n,p,qn,p,qn,p,q 均为 10710^7107,这个规模下可以考虑求出所有的 f(i)f(i)f(i),题目给出的式子很明显要用莫比乌斯反演,因为莫比乌斯反演的形式为:形式一:设F(n)=∑d∣nf(d)F(n) = \displaystyle\sum_{d | n} f(d)F(n)=d∣n∑f(d) ,则有f(n)=∑d∣nμ(d)∗F(nd)=∑d∣nF(d)∗μ(nd)f(n) = \displaystyle\sum_{d | n}\mu(d)*F(\frac{n}{d}) = ..
2020-09-13 10:52:38
224
1
原创 2020牛客多校9:B. Groundhog and Apple Tree(树形DP + 分类讨论 + 贪心)
题目大意:有一棵苹果树,每个节点有一个苹果,吃掉 uuu 点的苹果能获得 aua_uau点 HP,经过第 iii 条边需要消耗 wiw_iwi HP,在原地等待一秒可以获得 111 HP,每条边只能经过两次,问从1号节点出发吃掉所有苹果最少需要等待多少秒。分析:首先在某个点一次性把所需要的HP等够是显然正确的,根据每条边只能经过两次,解的形式一定是先吃掉某棵子树,再回到根,再吃其它子树,最优解是一个吃的顺序的问题,而吃掉子树是一个子问题,考虑用树形 dp。设 dp[u]dp[u]dp[u] 表示..
2020-09-10 10:51:56
487
原创 2020牛客多校10:Identical Trees(树hash + 树同构 + 费用流模板)
题意:给出两棵同构的有根树,同构修改点的标号使得两棵树完全一样,至少需要修改多少次。分析:肯定是将子树和另外一棵的某个子树对应,而两棵子树的问题是一个子问题,显然只有同构的子树才可以对应,这要用到 树hash 来判断同构。树hash 形如:hash[u]=∑v∈son[u]hash[v]∗prime[son_size[v]]+1hash[u] =\displaystyle\sum_{v \in son[u]}hash[v]*prime[son\_size[v]] + 1hash[u]=v∈son[u..
2020-09-09 09:39:45
269
原创 牛客练习赛 67:F. 牛妹的苹果树(st表 + 树的直径的合并)
单看一个询问,就是求仅考虑区间内的点的直径。树的直径具有可合并的性质,同一棵树上两个区间的直径的两个端点分别为 (a,b)(a,b)(a,b), (c,d)(c,d)(c,d),那么合并两个区间后的新的直径的端点一定在 a,b,c,d{a,b,c,d}a,b,c,d 中,通过枚举端点计算它们的距离,取最大值可以得到两个区间合并的直径。 其正确性证明和两遍 dfsdfsdfs 求树的直径的证明过程类似。对于这题,考虑用 ststst 表预处理区间的直径,对于询问用类似的合并方法合并两个 st 表即可。..
2020-08-16 10:36:14
268
原创 2020牛客多校7:C A National Pandemic(动态点分治(模板))
题目大意:一棵无根树,每个点都有一个点权 f(x),其初值均为 0,有三种操作。操作1:对所有的 y,修改f(y) 为 w - dist(x,y)操作2:修改 f(x) 为 min(f(x),0)操作3:查询 f(x)拿到这道题时就想到了点分树,太久没写点分树的题,当初学的时候只摸清了点分树的写法和基本原理,在应用上没有深入的理解和思考。对于操作 1 经验告诉我这肯定要像线段树一样打标记,但由于修改的是整棵树,而且修改值又和距离有关,直接打标记这种想法是不太现实的,对点分树的应用也有些遗忘。点..
2020-08-02 11:55:39
263
原创 HDU 6769 :In Search of Gold(二分答案 + 树形 dp)
比赛的时候想直接了一个 dp 的方法,令 :dp[i][j] 表示 i 的子树内选 j 条边取 a 值的最小直径tp[i][j] 表示 i 的子树内选 j 条边取 a 值时,距离 i 最远的叶子的最小距离转移方程不难推,利用 tp[i][j] 和 dp[v][j] 可以转移得到 dp[i][j]仔细一想其实这个状态不够严谨,会产生后效性,因为 tp[i][j] 取最小时 dp[i][j] 不一定取最小,如此通过子节点的 tp 和 dp 来转移。令最大距离最小,很容易想到二分答案,二分答案 xx..
2020-07-24 19:21:42
277
原创 2020牛客暑期多校训练营(第四场) A:Ancient Distance(贪心 + 线段树 + 思维)
题目大意:在有根树上选择 k 个关键点,定义 f(x) 表示 x 到 root 的路径上,最近关键点的距离(若 x 是关键点,则距离为0)。对于 k∈[1,n]k \in[1,n]k∈[1,n],选择 k 个点时,f(x)f(x)f(x) 的最大值要尽可能小。输出对于所有的 k ,f(x)f(x)f(x) 最大值尽可能小的和。当 k 取某一个值时,有一个的二分 + 贪心做法:二分答案 x,每次从树上选择一个深度最深的叶子节点,将距离其 x 的祖先标记为关键点,并删除掉这个关键点的子树,通过这样贪心可..
2020-07-24 00:28:40
140
原创 HDU 6576:Finding a MEX(图分块、根号均摊 + 权值分块数组)
题目大意:一张带点权的无向图,有两种操作:1、对每个点修改它的点权2、查询这个点的所有邻接点的权值集合U 的 mex,mex{U} 即 U中没有的最小权值。整个题目的算法和复杂度受限于节点的度。首先答案一定在 [0,d[x]],d[x] 是 x 的度。对于度数较小的点,查询可以维护一个权值数组,暴力枚举邻接点,之后暴力枚举权值,找到答案,修改直接O(1)修改。对于度数较大的点,可以维护数据结构来维护 mex,查询直接在维护的数据结构上查询,修改时出了修改自己的权值,还要修改对邻接点中度数较大..
2020-07-21 22:32:46
331
原创 2020牛客暑期多校训练营(第一场)B:Infinite Tree(虚树)
codeforce 上有一个 m=5000m = 5000m=5000 的版本和式相当于求这棵树的关键点的带权重心,由于树是无限大的,不能用一般的方法去求关键点的重心。注意到重心一定落在关键点上,而关键点只有 10510^5105 个,可以建立虚树,然后使用二次扫描换根法来求解重心。建立虚树需要知道关键点的 dfs 序的大小关系。若在递归时,优先走质因子较小的树边,那么容易证明对于任意的 i∈[1,n)i \in[1,n)i∈[1,n),恒有 dfn[(i+1)!]>dfn[i!]dfn[(..
2020-07-17 16:07:26
266
原创 吉林大学ACM集训队选拔赛(重现赛)C:Strange Bulbs(拓扑排序 + bitset优化)
题目大意:有一个由小灯泡和电线连成的DAG(有向无环图),其中一号小灯泡的灯是亮着的,并且不会有边指向一号灯,每个灯泡上有一个开关,拨动开关会沿着电线一路改变灯泡的状态,即亮着的灯会熄灭,熄灭的灯则会亮起。状态改变只能顺着有向弧的方向传播,具体来说,如果 u,v 之间有一个有向弧 (u,v),拨动 u 的开关时,u 和 v 的状态都会改变,但拨动 v 的开关时,u 的状态不会改变。如果要使所有灯熄灭,至少要拨动多少次开关。按拓扑序的顺序拨动开关,后面拨动的开关不会影响前面的灯泡,显然对于DAG来说..
2020-07-16 22:40:30
291
原创 2020牛客暑期多校训练营(第二场)E:Exclusive OR(FWT + 线性代数)
题目大意:有 n 个数,每个数的权值在 [0,218−1][0,2^{18} -1][0,218−1] 以内,问选 [1,2,3,…,n] 个数得到的异或和的最大值分别为多少。拿到这题不由自主的往线性基的方向去想,由于权值只有 2182^{18}218,只有18位,这个序列最多可以构造一个秩为18的线性基,当要选出的个数大于19时,有 ans[i]=ans[i−2]ans[i] = ans[i - 2]ans[i]=ans[i−2]。证明如下:若 i > 19 时,ans[i]>ans..
2020-07-14 20:51:39
200
原创 atcoder:Tokio Marine & Nichido Fire Insurance Programming Contest 2020:E - O(rand)(位运算+二项式反演)
题目大意:从 N 个数字中选 1 到 k 个,使得这些数字的与运算结果为 s, 或运算结果为 t,为有多少种选择方案。首先我们只关注 集合a 中满足 (x & s) == s && (x & t) == x 的元素 x,称这个集合为 X:{x},令 t = t ^ s,通过预处理,将 t 中为 1的位提出来,此时问题等价于:s = 0, t = 2L−12^L - 12L−1。这相当于要从集合 X 中选出 [1,k] 个元素作为一个新的集合,使得这个新集合中在这 L .
2020-07-06 20:10:55
672
原创 codeforce 1332 F. Independent Set(树形 dp,树上计数问题)
题目大意:给一棵树,求这棵树的所有边生成子图的所有独立集数,边生成子图的定义为:原图拿条0条或多条边并删掉孤立点(没有和其它点连边的点)的图。写过的为数不多的树上计数问题:我的做法将状态分为五种:dp[u][0/1][0/1]dp[u][0/1][0/1]dp[u][0/1][0/1] 和 res[u]res[u]res[u],分别表示:dp[u][0/1][0/1]:以 u 为根...
2020-04-02 11:19:38
460
原创 codeforce 1326 E. Bombs(思维 + 线段树)
答案具有单调性,ansi−1≥ansians_{i - 1} \geq ans_{i}ansi−1≥ansi,考虑枚举 xxx,判断 ansi<xans_i < xansi<x 是否成立。若 ansi<xans_i < xansi<x 成立,则所有 ≥x\geq x≥x 的值都要被炸掉,把这些值拿出来按下标排序,最左边的数右边要有至少 n−x+1n...
2020-03-25 14:02:45
159
原创 牛客挑战赛 38 C.圆桌聚餐(条件概率,贝叶斯公式,期望 dp,思维)
官方题解:补充这个dp转移的 概率系数 p(n−2)∗p+(n−4)∗q\displaystyle\frac{p}{(n - 2) * p + (n - 4) * q}(n−2)∗p+(n−4)∗qp 是如何求出的:由于人数是无限的,题目告诉我们随机抽取一个号码的概率是 1n\frac{1}{n}n1,实际上是告诉我们每个位置分配的概率是等可能的。枚举 A国人坐在第 i 个位置进行...
2020-03-23 21:53:10
329
原创 牛客挑战赛 38 D.突击检查(期望 + 思维)
官方题解:代码:#include<bits/stdc++.h>using namespace std;const int maxn = 2e6 + 10;const int mod = 998244353;typedef long long ll;int n,x,a[maxn];ll fpow(ll a,ll b) { ll r = 1; while (b)...
2020-03-23 10:41:18
168
原创 atcoder abc 159:F - Knapsack for All Segments(思维 + 贡献 + dp)
有一个 n3n^3n3 的朴素做法,对每个区间 进行 dp,显然是通过不了的,且转移复杂度为 O(1),没有优化的空间,得考虑从其它角度切入这题。对于某个解,最左边的数字的下标为 xxx,最右边的数字的下标为 yyy,这组解对答案的贡献为:x∗(n−y+1)x * (n - y + 1)x∗(n−y+1),考虑枚举每个数字作为一组解的最右边的点,对于第 i 个数字,需要知道前 i−1i-1i...
2020-03-22 22:46:07
483
原创 牛客小白赛 23 D.病毒传染(条件概率,枚举,容斥,二项式反演)
*注意题目是条件概率,设 ans[i]ans[i]ans[i] 表示一开始有 iii 个人携带病毒,party 结束后有 kkk 个人得病的概率,对于每一个 iii,答案是 ans[i]∑i=1kans[i]\displaystyle\frac{ans[i]}{\sum_{i = 1}^kans[i]}∑i=1kans[i]ans[i]考虑如何求 ans[i]ans[i]ans[i]:...
2020-03-22 11:31:12
331
原创 Codeforce 739 E.Gosha is hunting(费用流 | 期望dp + wqs二分套wqs二分优化)
题目大意:有 n 个神奇宝贝,有 aaa 个普通球和 bbb 个超级球,对没只神奇宝贝,使用普通球有 p[i]p[i]p[i] 的概率抓获,使用超级球有 q[i]q[i]q[i] 的概率抓获,普通球和超级球对每个神奇宝贝只能用一次,可以即使用普通球又使用超级球,求抓获的神奇宝贝数量的最大期望值。对第 i 只神奇宝贝使用一个普通球对答案的贡献为 p[i]p[i]p[i],使用超级球的贡献为 q...
2020-03-18 15:10:40
400
原创 bzoj 4609 [Wf2016]Branch Assignment(dp 凸优化(wqs二分)| 决策单调性优化)
实际上给的单向边而不是双向边,先处理出每个点到 b+1b + 1b+1 的最短距离 dad_ada,b+1b + 1b+1 到每个点的最短距离 dbd_bdb。 预处理权值 s=da+dbs = d_a + d_bs=da+db,集合划分后的每一个点的贡献为:s[i]∗(size−1)s[i] * (size - 1)s[i]∗(size−1),其中 sizesizesize 为划分到...
2020-03-17 21:34:03
219
原创 洛谷 P3620 [APIO/CTSC 2007]数据备份(wqs二分优化 dp)
最优解肯定是选择了 k 对相邻的办公楼,考虑直接 dp:dp[i][j] 表示前 i 栋楼 选了 j 对的最小花费,转移方程:dp[i][j] = min(dp[i - 1][j],dp[i - 1][j - 1] + a[i] - a[j])复杂度为 O(n2)O(n^2)O(n2)。考虑优化:若不限制选几对, i,dp[n][i]i,dp[n][i]i,dp[n][i] 在二维平面上肯定...
2020-03-16 14:31:04
215
原创 poj 1160 Post Office(wqs 二分 | 思维dp)
wqs二分入门题,这题可以直接 dp,且复杂度不会比 wqs 二分高。问题具有一个性质:限制你建 m 个 post office,但是显然建的越多代价越少,代价和建的 post office 的数量在二维平面上是一个上凸包的形状。考虑在给每个 post office 加一个代价 xxx ,每建一个 post office 都要付出额外 xxx 的代价,显然 xxx 越大,最优解建的 pos...
2020-03-14 22:32:35
257
原创 bzoj 2654. tree(wqs 二分 + kruscal)
设包含 xxx 条白边的最小生成树的权值为 g(x)g(x)g(x),(x,g(x))(x,g(x))(x,g(x)) 在二维平面上是一个上凸包的形式。考虑让每条白边加上一个权值 xxx,显然 xxx 越大,最小生成树包含的白边越少,xxx 越小,最小生成树包含的白边越多。考虑二分 xxx,设计算得到的答案为 f(x)f(x)f(x),此时选了 yyy 条白边,由于生成树可能不唯一,可能二...
2020-03-12 20:52:06
286
原创 P2305 [NOI2014]购票(点分治 + CDQ分治 + 斜率优化)
显然有转移方程:dp[u] = min(dp[f] + p[u] * (dep[u] - dep[f]) + q[u]),可以用斜率优化,维护下凸包,由于 斜率 p[u] 没有单调性,维护凸包后要二分查找答案。但这题还有一个距离限制 l[u]l[u]l[u],l[u]l[u]l[u] 同样不满足单调性,不能直接对 uuu 的所有父亲维护下凸包再二分,这样可能会因为一个在距离外的点而将 uuu...
2020-03-10 13:51:01
218
原创 P4072 [SDOI2016]征途(斜率优化 dp + 细节)
设序列 a1,a2,a3,a4,...,ana_1,a_2,a_3,a_4,...,a_na1,a2,a3,a4,...,an 的平均值为 xxx,权值和为 tottottot,方差 S=∑i=1n(ai−x)2nS = \displaystyle\frac{\displaystyle\sum_{i = 1}^n(a_i -x)^2}{n}S=ni=1∑n(ai−x)2乘上 ...
2020-03-08 16:32:09
144
原创 P5017 摆渡车(斜率优化dp + 细节)
由于 t 并不大,考虑以 t 为状态进行 dp。维护 cnt[i] 表示前 i 时刻的人数,sum[i] 表示前 i 时刻所有人的下标之和。设 dp[i] 表示在第 i 时刻发车,所有人等车的最小时间,显然最后答案分布在 [tmax,tmax+m][t_{max},t_{max} + m][tmax,tmax+m]。列出转移方程:dp[i] = dp[j] + i * (cnt[i...
2020-03-08 14:32:44
321
原创 P2900 [USACO08MAR]Land Acquisition G(斜率优化 dp)
洛谷链接:洛谷链接先将土地按 长度 l 排序,相同长度的土地按 宽度 h 排序,若 hi≤hj,li≤ljh_i \leq h_j,l_i \leq l_jhi≤hj,li≤lj,可以直接将第 i 块土地和第 j 块土地绑在一起,决策时只需要考虑第 j 块土地。对排好序的土地维护一个单调栈,栈内土地的 宽度h 单调递减,对最后栈内保留的土地进行 dpO(n2)O(n^2)O(n2...
2020-03-07 16:50:49
212
原创 Codeforce 1305 F. Kuroni and the Punishment(思维 + 随机化算法 + shuffle函数使用)
好题,第一次接触随机化算法题目大意:有 n 个正整数 aia_iai,执行一次操作可以选择某个 aia_iai 让它 + 1 或 - 1,并保持仍是正整数,为至少需要多少次操作可以使整个序列的 gcd 不等于 1。gcd 不为 1,只要每个数都整除某个质因子,设其整除的质因子为 ppp,每个数字可以贪心统计答案:若 a[i] >= p,ans += min(a[i] % p,p...
2020-03-06 23:23:51
189
原创 HDU 3507 Print Article(dp斜率优化详解)
所谓 dp 斜率优化,一般是用在转移方程类似一次函数,又要取最优解(最大值、最小值),这种情况其实可以用李超树维护,但横坐标值域范围不确定,有的题可能会横坐标非常大需要动态开点。题目大意是一串数字,将这串数字划分成若干段,每一段的代价为 :(设i,j为一段)(sum[i] - sum[j])^2 + M,要求对这串数字进行划分,总代价和最小为多少。考虑 dp, dp[i]表示前 i 个数字...
2020-03-06 21:41:13
269
原创 bzoj 4700. 适者(李超线段树 + 思维)
先不考虑秒杀两台机器的情况,要使得损失最小。处理出每个兵器能抗 t[i]=⌊di−1ATK⌋+1t[i] = \lfloor\frac{d_i - 1}{ATK}\rfloor +1t[i]=⌊ATKdi−1⌋+1 刀。根据贡献排序:v[i] * (t[i] - 1) + v[j] * (t[i] + t[j] - 1) < v[j] * (t[j] - 1) + v[i] * (...
2020-03-06 11:38:44
267
原创 2019 南京网络赛 I. Washing clothes(思维 + 李超树(模板))
计蒜客题目链接题目大意:有 N 个人要洗衣服,每个人到来的时间是 tit_iti,有一台洗衣机,洗衣机洗衣服要花费 xxx 单位时间(x 是个变量),且洗衣机一次只能供一个人使用,还可以选择手洗,手洗将花费 yyy 单位时间,求如何安排可以使得最后所有人洗完衣服的时间最短,对每个 x∈[1,y]x \in [1,y]x∈[1,y] 输出所有人洗完衣服的最短时间。设所有人到来的时间从小到大...
2020-03-03 19:34:09
247
原创 bzoj 4515. [Sdoi2016]游戏(树链剖分 + 李超线段树(真·模板) + 李超树维护区间最小值)
洛谷链接树剖一下,直观上来看,是要在树上对一条链维护一段等差数列。如果维护的是区间和,每次在一段区间加上一段等差数列,这个可以直接在线段树上做不依赖任何科技,但这题的查询形式是最小值,直接做很难打标记进行维护。将等差数列视作一次函数,考虑用李超树在链上维护一个一次函数。预处理出每个点的深度值 dep[u]在路径 s,ts,ts,t 上加入一条 斜率为 a,截距为 b 的直线,在 s,l...
2020-03-03 12:33:55
527
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人