上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 44 下一页
摘要: 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 阅读(254) 评论(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 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1. CZday3C 给定有m个数的集合,从其中任选一个子集满足全部&后不为零,问方案数。 考虑对二进制位容斥,问题转化为求包含某个二进制位集合的数的个数,通过类似FMT的DP求解。 1 #include<bits/stdc++.h> 2 #define mo 1000000007 3 #defin 阅读全文
posted @ 2018-09-19 01:03 HocRiser 阅读(810) 评论(5) 推荐(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 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 首先看一个广义SAM的经典应用: BZOJ3277&BZOJ3473 给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串(包括本身)。 对于多串问题,普通SAM已经无法胜任。有各种应对这类多串问题的方法: (1) 直接建SAM,每次插入新串时将lst设为1即 阅读全文
posted @ 2018-09-03 19:50 HocRiser 阅读(3483) 评论(0) 推荐(3) 编辑
摘要: 题意:给定一棵树,求$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 阅读(187) 评论(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 阅读(189) 评论(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 阅读(125) 评论(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 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题意:树上每个点都有颜色,称一个颜色占领一棵子树,当且仅当没有别的颜色在这棵子树内的数量比它多。求所有子树的占领颜色之和。题解:最显然的是DFS序+主席树或莫队,这里使用Dsu on tree。 每次暴力DFS之后,只撤销除重儿子之外的点的贡献。由于重儿子的性质,均摊后复杂度为$O(n\log n) 阅读全文
posted @ 2018-08-08 18:22 HocRiser 阅读(378) 评论(0) 推荐(0) 编辑
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 44 下一页