上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 44 下一页
摘要: 首先可以确定是树形DP,但这里存在跨子树的信息传递问题,这里就需要“借”的思想。 f[i][j]表示i子树内所有点都被覆盖到,且i以外j层内的点都能被覆盖到 的方案数。 g[i][j]表示i子树内离i距离不小于j的点都被覆盖到 的方案数。 这里f做了一个前缀和,g做了一个后缀和。 那么f有转移: 1 阅读全文
posted @ 2018-12-03 19:38 HocRiser 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 结论:固定端点的所有子段GCD只会有$O(\log)$种,因为一个数的质因子个数是这个级别的。 从左到右枚举右端点,用一个数组记录所有GCD相同的子段的第一个位置,每次线性更新与合并。$O(n\log n)$ 阅读全文
posted @ 2018-12-02 20:24 HocRiser 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 有一个结论:对于边<u,v>,若这是u到v的唯一路径,则这条边显然不可被删去,否则必然可以被删去。 因为若u到v还有其它路径,则必然是从u到某个点x再到v,由于最终答案中连通性不变,也就是最终答案中仍然可以走到x后再走到v,于是可以删去这条边。 于是大致算法就出来了:按拓扑序从后往前做,每次将这个点 阅读全文
posted @ 2018-12-02 20:20 HocRiser 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 一开始写了7个DP方程,然后意识到这种DP应该都会有一个通式。 三个条件:有色行数为n,有色列数为m,颜色数p,三维容斥原理仍然成立。 于是就是求:$\sum_{i=0}^{n}\sum_{j=0}^{m}\sum_{k=0}^{p}(-1)^{n+m+p-i-j-k}\times C_n^i\ti 阅读全文
posted @ 2018-12-02 19:53 HocRiser 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 链上是经典贪心问题,将线段全按左端点排序后把点全撒在线段右端点上。这里放到环上,倍长即可。 题目保证不存在区间包含情况,于是有一种暴力做法,先将战士的管辖区间按左端点从小到大排序,对于询问x,从x战士出发,每次走到最远(管辖区间左端点最大)的一个战士,满足这个战士的区间左端点被x的区间右端点覆盖到, 阅读全文
posted @ 2018-12-02 17:57 HocRiser 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 建出对偶图,删除一条边时将两边的格子连边。一条边两端连通当且仅当两边的格子不连通,直接并查集处理即可。 阅读全文
posted @ 2018-12-02 16:57 HocRiser 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 怎么也没想到是子集DP,想到了应该就没什么难度了。 首先n>21时必定为NO。 g[i][j]表示位置i后的第一个字母j在哪个位置,n*21求出。 f[S]表示S的所有全排列子序列出现的最后末尾位置,枚举最后一个字母转移。21*2^21 阅读全文
posted @ 2018-12-02 13:32 HocRiser 阅读(231) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/Skyminer/p/6435544.html 先不要急于转化成几何模型,先把式子化到底再对应到几何图形中去。 阅读全文
posted @ 2018-12-02 12:27 HocRiser 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 根据欧拉函数的定义式可知,可以先算出a[l]*a[l+1]*...*a[r]的值,然后枚举所有存在的质因子*(p-1)/p。 发现这里区间中一个质因子只要计算一次,所以指计算“上一个同色点在区间外”的数。记录pre就是二维数点问题了,套路地用主席树即可。 被卡常。别的OJ过了BZOJ过不了,优化常数 阅读全文
posted @ 2018-12-01 23:26 HocRiser 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 51nod1434 区间LCM 跟容斥没有关系。首先可以确定的一个结论是:对于任意正整数,有1*2*...*n | (k+1)*(k+2)*...*(k+n)。因为这就是$C_{n+k}^{k}$。 于是这题就有:m最多枚举到2n。 于是有一个做法:对n!分解质因数,然后枚举m的同时统计已获得的所有 阅读全文
posted @ 2018-11-26 19:17 HocRiser 阅读(263) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 44 下一页