该文被密码保护。 阅读全文
摘要:
题面传送门 看到黑白染色啪的一下一个网络流很快啊就码上去了。 具体的,连边$(S,i,b_i),(i,T,w_i)$。然后跑最小割就好了。 但是现在有P的限制。 考虑对于每个点建立一个虚点$i+n$,连边$(i,i+n,P_i)$,同时对于每个满足条件的$j$连边$(i+n,j,INF)$,这样的话 阅读全文
摘要:
题面传送门 智商不够,自动机和数据结构来凑。 考虑对原串建出SAM,那么两个前缀的最长公共后缀就是他们在SAM上LCA的深度。 那么我们其实要求的就是一段区间内的节点在一棵树上的LCA的最大深度。 考虑离线,按照右端点排序。从左往右扫。 如果对于两个节点$u,v$且$u<v$,且它们在树上处于同一深 阅读全文
摘要:
题面传送门 看到操作一感觉就是个LCT的access操作。 然后答案就是统计到根节点虚边个数之类的。 如果我们能快速维护一个点到根的虚边个数,那么第二个询问差分一下,第三个询问区间取max就好了。 因为根据LCT的势能分析,access的虚实边切换次数不超过log,所以对于每次虚实边操作可以暴力线段 阅读全文
摘要:
题面传送门 看到字符串子串匹配啪的一下很快啊一个SAM扔上去了 先把$M$个串的SAM建出来,发现其实不用广义SAM,隔一个#插就好了。 然后对于每个询问串就可以在SAM上先刨除每个$i$结尾在模式串中最长匹配多少。 显然L有单调性所以直接二分然后$O(n^2)$dp就可以得到答案了。 又有显然的每 阅读全文
摘要:
题面传送门 考试的时候硬干两个小时没肝出来。主要是或的地方没想出来。 我们考虑转化为最小割模型,并且将原图黑白染色。 对于白点,我们从源点向这个点连权值为$A$的边,表示如果这条边断掉,那么要付出A的代价将其选入。 对于黑点,令其连向汇点,同白点。 然后将每个点拆点,之间连权值为$B$的点。并且向四 阅读全文
摘要:
题面传送门 首先题目里这个$m-n\leq 10$肯定是有用的。 看到有一个$m=n-1$显然直接一个类似没有上司的舞会扔上去:$f_{i,0/1}$表示当前点选/不选的方案数,随便转移。 不难想到容斥,算至少$k$条非树边不满足的方案数然后乘上容斥系数$(-1){|S|}$ 我们$O(2k)$钦定 阅读全文
摘要:
题面传送门 首先我们发现如果对于一段固定的序列,出来的值随着塞进去的值变大而不降。、 设$f(l,r,x)$表示将$x$塞进$[l,r]$中,那么如果$x_1<x_2$,\(f(l,r,x1)\leq f(l,r,x2)\) 然后就可以写出$50$分的类似最大子段和的东西。 然后仔细观察又可以发现$ 阅读全文
摘要:
题面传送门 真就口胡一时爽,写题火葬场呗。细节真nm多。 我们考虑如果正着维护,模拟跳的过程似乎不太好维护,所以考虑反着搞,让不能接下去跳的位置去找棋子。 容易发现形如3 5 8中的7位置是不能跳下去的。 然后剩下的就是写个懒标记然后两个双端队列模拟就好了。 时间复杂度$O(n+qlogn)$ co 阅读全文
摘要:
Day 1 T1「JOISC 2015 Day1」复制粘贴 2 这道题当时平均分最低,不知道为什么。 这道题感觉上可以可持久化文艺平衡树过掉,但是$k$的范围显然不是这样做的。 我们考虑对于最终的每个位置变换回去。从后往前扫每个复制操作。 如果这个点是被粘贴出来的,那么就变到复制的地方去。 如果这个 阅读全文
摘要:
感觉JOISC的题目要么很经典,要么很妙,所以特意来刷一下。 Day 1 T1「JOISC 2014 Day1」巴士走读 考虑到时刻的种类数不超过$m$种,因为肯定是第一个点有一条边开通了然后对其造成了影响,所以可以处理出$m$种然后每次查询二分。 我们考虑时间降序加入$1$号点的出边。并对于每个点 阅读全文
摘要:
题面传送门 发现要维护的东西很奇怪。 想到gcd有性质:一个长度为$n$的区间只有$\min(n,logW)$种前缀。 然后我们可以合并两个区间,每个区间维护前缀后缀。 就是暴力枚举左右两边看看是不是gcd不为1然后算入答案。 扔到线段树上这样是$O(nlognlog^2W)$实际上跑不满。 cod 阅读全文
摘要:
题面传送门 我们发现我们并不能求出恰好被碾压的人数,但是我们可以求出至少有$k$个被碾压的人数。 具体的,先钦定$k$个人一定被碾压,然后剩下的乱选,我们就可以得到答案了。 发现这个计算过程需要枚举B的分数,然后计算,发现这个是一个$n$次多项式,那么拉格朗日插值就好了。 时间复杂度$O(n^3)$ 阅读全文
该文被密码保护。 阅读全文
摘要:
题面传送门 遇到这种按路径长度计算代价的考虑分层。 设$f_{i,j}$为树高为$i$,包含了集合为$j$的答案的最小答案。 考虑枚举最后一层是什么,然后从前面转移。 每个最后一层的点从前面所有点中找到最优的点连接上去。 但是其实不是每个点连的边都是最后一层的。 其实如果不是最后一层只会让答案变劣, 阅读全文
摘要:
F1 首先因为左下和右上的操作都是可以用两个左上操作做掉的而且一定不会更劣。 所以我们要关心的就是右下的操作。 手玩可以发现一次右下的操作是可以替换四次左上的操作更优,但是两次就可以被左上等代价替换掉,所以只要看有没有四个左上能被一次右下替换掉就好了。 时间复杂度$O(nm)$ code: #inc 阅读全文
摘要:
题面传送门 确实是一道比较妙的交互题。 首先那个gcd是假的,因为gcd不会变大,所以最大的gcd就是最大的一条边。 然后我们就是要找到最大的一条边。 我们要找到一个边的顺序,使得这些边一定是这些点中的最大值。 一个简单的想法就是按照bfs序拿来加边,然后直接二分就好了。 询问次数$O(1+logn 阅读全文
摘要:
题面传送门 发现一直口胡的ddp是错的 首先不难想到普通的dp:设$dp_{i,0}$表示不选这个点的答案,设$dp_{i,1}$为选这个点的答案。 得到$dp_{i,0}=\sum\limits_{(i,j)\in E}{\max(dp_{j,0},dp_{j,1})}$ \(dp_{i,1}=\ 阅读全文
摘要:
题面传送门 最大值最小不难想到二分。 然后考虑在lca处进行路径的合并。 对于一个lca,有一个贪心,就是子节点能合并的一定直接合并,能单链的一定单链。 因为一条链上去是不一定能合并,但是在这里一定能合并。 然后合并从小到大能合并就合并即可。用一个multiset维护就好了。 时间复杂度$O(nlo 阅读全文
摘要:
题面传送门 首先这个$f$可以矩乘求出来,因为$f$的递推式是$f_i=\sum\limits_{i=1}{m}{f_{i-m}}$ 然后矩阵又是有结合和分配率律的,所以可以把矩阵扔到状态里dp 具体的,我们设$dp_i$为到第$i$位的矩阵情况,那么就是枚举前面的然后转移 转移的过程要一段区间幂的 阅读全文