随笔分类 -  题解

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 21 下一页
题解
摘要:显然选出的每一段首尾都是相同的,于是直接斜率优化,给每个颜色的数开一个单调栈即可。 阅读全文
posted @ 2018-10-22 23:44 HocRiser 阅读(199) 评论(0) 推荐(0)
摘要:方法一:倒推,最常规的期望DP。f[i][a][b][c]表示还要再攻击k次,目前三种随从个数分别为a,b,c的期望攻击英雄次数,直接转移即可。 方法二:用顺推做期望DP,f[x]=(f[k]+w[k][x])*p[k][x],其中k是所有能到达x的状态,w[k][x]表示这个转移的代价(攻击随从时 阅读全文
posted @ 2018-10-20 01:25 HocRiser 阅读(262) 评论(0) 推荐(0)
摘要:直接不容易算,考虑拆成位处理。 设f[i]表示i到n的期望路径异或和(仅考虑某一位),则$f[y]=\sum\limits_{exist\ x1\to y=0}\frac{f[x1]}{d[x1]}+\sum\limits_{exist\ x2\to y=1}\frac{1-f[x2]}{d[x2] 阅读全文
posted @ 2018-10-19 00:09 HocRiser 阅读(183) 评论(0) 推荐(0)
摘要:给定两个数组a[n]与b[n](数全不相等),两两配对,求“a比b大”的数对比“b比a大”的数对个数多k的配对方案数。 据说做了这题就没什么题好害怕的了,但感觉实际上这是一个套路题,只是很难想到。 首先显然“a比b大”的个数是确定的,问题转化成求“a比b大”的数对个数为m的方案数。 不好算考虑容斥, 阅读全文
posted @ 2018-10-17 19:01 HocRiser 阅读(352) 评论(0) 推荐(0)
摘要:给定n个六元数,问有多少对数有m元对应相等。 考虑“有多少对数至少m元对应相等”的求法,显然枚举相等的位置,在这些位置上Hash统计即可。 容斥定理:至少有k个的-C(k+1,k)* 至少有k+1个的+C(k+2,k) *至少有k+2个的…=恰好有k个的。 按上式容斥,问题得解。 阅读全文
posted @ 2018-10-17 18:27 HocRiser 阅读(258) 评论(0) 推荐(0)
摘要:n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈。问最终栈中元素个数的期望是多少。 首先容易想到用概率算期望,p[i][j][k]表示已加入i个数,1有j个,总长为k的概率。(显然栈中一定是先一些0再是1)。 考虑优化,容易想到f[i][j]表示已加入i个数,1有 阅读全文
posted @ 2018-10-17 09:02 HocRiser 阅读(278) 评论(0) 推荐(0)
摘要:题意:树上每个点有概率有电,每条边有概率导电,求每个点能被通到电的概率。 较为套路但不好想的概率DP。 树形DP肯定先只考虑子树,自然的想法是f[i]表示i在只考虑i子树时,能有电的概率,但发现无法转移,因为只要有任何一个儿子同时满足“儿子有电且儿子到i的边导电”,这个点就能导电,而“或”命题在外层 阅读全文
posted @ 2018-10-16 18:24 HocRiser 阅读(148) 评论(0) 推荐(0)
摘要:将每个人跑步的路径拆分成x->lca,lca->y两条路径分别考虑: 对于在点i的观察点,这个人(s->t)能被观察到的充要条件为: 1.直向上的路径:w[i]=dep[s]-dep[i],移项得w[i]+dep[i]=dep[s] 2.直向下的路径:w[i]=dep[s]-dep[lca]+dep 阅读全文
posted @ 2018-10-11 19:27 HocRiser 阅读(252) 评论(0) 推荐(0)
摘要:n个等长字符串,机器会随机输出一个字符串(每个字母出现的概率为p[i]),问每个字符串第一个出现的概率是多少。 显然建出AC自动机,套路地f[i][j]表示i时刻位于节点j的概率。 构建转移矩阵,当i为某个子串结束节点时A[i][i]=1,否则A[i][j]+=p[j]。 虽然事件总数无穷大,矩阵自 阅读全文
posted @ 2018-09-29 09:11 HocRiser 阅读(266) 评论(0) 推荐(0)
摘要:求S到T的最短路,中间最多k条边可以不计代价。 显然可以f[i][j]表示当前在点i,已有j条边不计代价的最小代价,SPFA解决。 NOI2018后显然不能写SPFA,考虑为所有i+j*n都建一个点,Dijkstra即可。 这种Dij代替SPFA跑DP的方法就叫分层图最短路。 阅读全文
posted @ 2018-09-24 19:01 HocRiser 阅读(144) 评论(0) 推荐(0)
摘要:发现最多有8个限制位置,可以以此为基础DP和容斥。 $f_{i,j}=f_{i-1,j}\times (cnt_j-i+1)+\sum_{k\subset j} f_{i-1,k}$ $cnt_j$表示当限制状态为j时i有多少个可行位置。 这样DP只能保证所有题设位置全部是局部最小值,但不保证其它位 阅读全文
posted @ 2018-09-07 00:31 HocRiser 阅读(260) 评论(0) 推荐(0)
摘要:题意:给定一棵树,求$S(i)=\sum_{j=1}^{n}dist(i,j)^k$。题解:根据斯特林数反演得到:$n^m=\sum_{i=0}^{n}C(n,i)\times i!\times S(m,i)$故$S(i)=\sum_{k=1}^{m}S(m,k)\times k!\times\su 阅读全文
posted @ 2018-08-29 18:03 HocRiser 阅读(200) 评论(0) 推荐(0)
摘要:求n!在k进制下的位数,n<=1e18 斯特林公式:$n!\approx \sqrt{2\pi n}(\frac{n}{e})^n$ 在n很大的时候有较好的精度保证。 $\log_{k}n!+1=\frac{1}{2}\frac{\ln(2\pi n)}{\ln k}+n\frac{\ln n-\l 阅读全文
posted @ 2018-08-29 16:31 HocRiser 阅读(208) 评论(0) 推荐(0)
摘要:多重背包暴力DP为$O(nV^2)$,n为物品个数,V为背包容量,二进制优化复杂度为$O(nV\log V)$。 1 #include<cstdio> 2 #include<algorithm> 3 #define rep(i,l,r) for (int i=(l); i<=(r); i++) 4 阅读全文
posted @ 2018-08-29 10:08 HocRiser 阅读(138) 评论(0) 推荐(0)
摘要:首先要求每个数互不相等,故有$x\perp y$。 可以发现$\frac{x}{y}$在$k$进制下为纯循环小数的充要条件为$x\cdot k^{len}\equiv x(mod\ y)$,即$y\perp k$。 接下来进行经典的推导:$$\begin{aligned}&\sum\limits_{ 阅读全文
posted @ 2018-08-17 18:32 HocRiser 阅读(307) 评论(0) 推荐(0)
摘要:题意:树上每个点都有颜色,称一个颜色占领一棵子树,当且仅当没有别的颜色在这棵子树内的数量比它多。求所有子树的占领颜色之和。题解:最显然的是DFS序+主席树或莫队,这里使用Dsu on tree。 每次暴力DFS之后,只撤销除重儿子之外的点的贡献。由于重儿子的性质,均摊后复杂度为$O(n\log n) 阅读全文
posted @ 2018-08-08 18:22 HocRiser 阅读(388) 评论(0) 推荐(0)
摘要:求和式的前两项可以直接算,问题是对于每对i,j计算LCP。 一个比较显然的性质是,LCP(i,j)是h[rk[i]+1~rk[j]]中的最小值。 从h的每个元素角度考虑,就是对每个h计算有多少对i,j以它为最小值。 在h中使用单调栈统计左右比它小的第一个元素,相乘得到结果。 阅读全文
posted @ 2018-08-08 10:32 HocRiser 阅读(186) 评论(0) 推荐(0)
摘要:差分之后就是求多串LCS。 对其中一个串建SAM,然后把其它串放在上面跑。 对SAM上的每个状态都用f[x]记录这个状态与当前串的最长匹配长度,res[x]是对每次的f[x]取最小值。答案就是res[]的最大值。 考虑f[x]的求法,把s[]放在SAM上跑时,若下一个能正常匹配(即son[x][c] 阅读全文
posted @ 2018-08-08 10:07 HocRiser 阅读(225) 评论(0) 推荐(0)
摘要:由于每行点的个数不超过1000,所以行内DP可以使用$O(n^2)$算法。 先找到每个点所能直接到达的所有点(x,y,x+y或x-y相同),用排序实现。 第一问:以行为阶段,对于每行,暴力枚举最有路径在这行上的起点和终点,g[x]记录当这行的最优路径以x为起点时,终点应在什么位置,f[x]记录走到x 阅读全文
posted @ 2018-08-07 13:38 HocRiser 阅读(242) 评论(0) 推荐(0)
摘要:首先确定所有点的海拔非0即1,问题转化成裸的平面图最小割问题,进而转化成对偶图最短路(同BZOJ1002)。 这题的边是有向的,所以所有边顺时针旋转90度即可。 如下图(S和T的位置是反的)。 阅读全文
posted @ 2018-08-02 17:46 HocRiser 阅读(315) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 21 下一页