摘要:
"题目" 先来考虑一下第一问,血量有P的概率减1 由于我们最后需要求每一个人的期望血量,于是考虑维护出每个人处于不同血量时候的概率 一个简单dp即可 dpi,j=dpi,j+1P+dpi,j×(1P) dpi,j表示第i个人血量为$j 阅读全文
摘要:
突然发现距离省选只有两周了,又突然发现自己如果打不好省选就要退役了 那就把剩下的两周当作最后两周吧 UPD on 2019.9.22 发现自己联赛之前变得更垃圾了 UPD on 2020.6.11 距离省选只有不到10天了。 状态很差,可能还不如csp之前。很有可能就要在这里停下了,csp前最后一天 阅读全文
摘要:
"题目" 略一观察发现我们要求的东西是虚树上的边权和乘上2 但是增加和删除操作使得我们不能每次都建出一棵显式虚树来 考虑虚树的构建过程,发现这个边权和就是按照dfs序依次走过每一个点,最后再从最后一个点走回来,这样每一条边只会被经过两次 于是我们用set来维护dfs序就好了 代码 c 阅读全文
摘要:
"题目" 还纠结了一下是费用流还是最小割 最终还是决定让最小割去死吧 我们的问题就是让一个点的点权只被计算一次 考虑拆点 1. 将所有点拆成入点和出点,入点向出点连流量为1的边 1. 每一个出点往下连能到达的点,向入点连费用为该点点权容量为0的边,向出点连费用为0容量为k1的边 这 阅读全文
摘要:
"题目" 发现n比较大,但是k,p都很小,考虑矩乘使得复杂度倾斜一下 发现所有车的最大间隔都是p,还保证$k include include include define re register const int M=1024; const int mod=30031; struct 阅读全文
摘要:
"题目" 我还会写SA和 ST表真是令人感动 发现这是一个思博题 我们开一个指针,标记一下当前合法的字典序最小的后缀排名在哪里,刚开始自然是1 我们发现这个后缀不能为我们提供i的长度我们就右移这个指针 之后我们二分+St表找到从这个后缀往右扩展的最大距离,查一下这里面最小的$sa 阅读全文
摘要:
"题目" 场面过度玄学,容易引起不适 我们发现我们要求的这个期望由分母和分子两部分构成 易发现 Ans=∑ni=1S2(n,i)×i×i!∑ni=1S2(n,i)×i! 结合NTT求斯特林数卷积我们就能 阅读全文
摘要:
"题目" 发现要求配对的条件是这样 aj|ai,aiaj=p1 我们考虑一下再来一个ak,满足 ak|aj,ajak=p2 显然ai=ajp1,aj=akp2,于是$a_i=p_1p_2\times a_k 阅读全文
摘要:
"题目" 也是可以用SAM来做的 我们发现要求原串不相交,那么就要求在差分序列里不相交并且不相邻 考虑一下SAM,暴力做法自然是对每一个节点统计其所有endpos的影响 既然这样我们为什么不直接启发式合并加线段树合并分类讨论一下呢 ~~于是可休闲了~~ 我们考虑往一个节点里插入一个新的$ 阅读全文
摘要:
"题目" 我也不知道我建了个什么图,之后随便跑了跑就过了 发现要求形成一个环,改边的方向需要1的代价 根据网络流的套路开始拆点 1. 每个点拆成两个点,S向入点连流量为1的边,出点向T连流量为1的边 1. 对于那些方向改变的边,费用都是1,否则是0 这样为什么是对的呢,考 阅读全文