BZOJ 1152 歌唱王国】的更多相关文章

题目传送门 分析: 这道题很神仙,我们给出低配版解法和高配版解法2333 低配版: 首先知道这样一个公式...(证明去高配版) 当一个字符串S其中S [ 1 , i ] = S [ n - i + 1 , n ]时,则称S [ 1 , i ]为S的一个border Ans[n]=sigma( S [ 1, i ]为S的border) m ^ i 嗯... 有了这个之后,我们就可以kmp或者hash求解了 但是,hash只能处理取到S的答案,而kmp可以做到处理出所有S前缀的答案 这里就用kmp(…
[BZOJ1152]歌唱王国(生成函数,KMP) 题面 BZOJ 洛谷 题解 根据\(YMD\)论文来的QwQ. 首先大家都知道普通型生成函数是\(\displaystyle \sum_{i=0}^{\infty}a_ix^i\),类似的定义概率生成函数\(\displaystyle F(x)=\sum_{i=0}^\infty P(X=i)x^i\).其中\(P(X=i)\)表示\(X\)这个随机变量为\(i\)的概率. 那么我们可以知道几个结论:\(\displaystyle F(1)=\s…
[CTSC2006]歌唱王国 Tags:题解 题意 链接:在空串后不断随机添加字符,直到出现串\(S_i\)为止.求最终串的期望长度.\(\sum |S_i|\le 5*10^6\) 题解 以下内容来自\(YMD\)的2018年集训队论文 很奇怪的生成函数题: 令\(f[i]\)表示串最终长度为\(i\)的概率,\(g[i]\)表示到达长度\(i\)还没有结束的概率.分别对应生成函数\(F(x),G(x)\).最后要求的就是\(F'(1)\)(求导,相当于每个概率都乘上了指数也就是长度,变成了期…
bzoj 2850 巧克力王国 钱限题.题面可以看这里. 显然 \(x\) \(y\) 可以看成坐标平面上的两维,蛋糕可以在坐标平面上表示为 \((x,y)\) ,权值为 \(h\) .用 \(kd-tree\) 维护这些点. 查询时,类似于线段树,若当前节点管辖范围完全在查询范围内,直接返回当前节点记录的总和;若完全在查询范围外,返回 \(0\) ;否则进入两颗子树,递归处理. 如何判断当前节点管辖范围与查询范围的关系?注意到查询范围是一个限制 \(ax+by<c\) ,即一个半平面.而用记录…
[CTSC2006]歌唱王国Singleland Time Limit: 30 Sec Memory Limit: 162 MB Description 在歌唱王国,所有人的名字都是一个非空的仅包含整数1~n的字符串.王国里生活着一大群咕噜兵,他们靠不停的 歌唱首领--牛人酋长们的名字来获取力量.咕噜兵每一次歌唱过程是这样的:首先,他从整数生成器那儿获得一 个数字,然后花一个时间单位将此数字唱出来,如果他发现某个牛人酋长的名字已经被歌唱出来(即此名字是歌唱 序列的一个连续子串),那么这次歌唱过程…
[题解]歌唱王国(概率生成函数+KMP)+伦讲的求方差 生成函数的本质是什么呀!为什么和It-st一样神 设\(f_i\)表示填了\(i\)个时候停下来的概率,\(g_i\)是填了\(i\)个的时候不停下的来的概率,规定\(f_0=g_0=1\) 两个生成函数是 \[ G(x)=\sum g(i)x^i \\ F(x)=\sum f(i)x^i \] 可以得到一些关系: 在后面随意加上一个字符 \[ xG(x)+1=F(x)+G(x) \] 直接强行接上原串: \[ x^LG(x)(\dfrac…
题解 读错题了,是最后留下一个牛人首长歌颂他,和其他人没有关系,t就相当于数据组数 结论题,具体可看 https://www.zhihu.com/question/59895916/answer/196874145 最后一个求导(1 - z)不拆,最后代入1的时候会消掉,就得出了这个结论 代码 #include <iostream> #include <cstdio> #include <vector> #include <algorithm> #inclu…
Code: #include<bits/stdc++.h> #define maxn 100000 #define inf 1000000008 #define mid ((l+r)>>1) #define ll long long #define lson (t[x].ch[0]) #define rson (t[x].ch[1]) using namespace std; void setIO(string s) { string in=s+".in"; f…
题面 概率生成函数 对于菜鸡博主来说好难啊 其一般形式为$F(x)=\sum\limits_{i=0}^∞[x==i]x_i$,第i项的系数表示离散变量x取值为i的概率 一般的两个性质:$F(1)=1,E(x)=F'(1)$ 这里用$F(x)$表示结束时的串长的概率生成函数,$G(x)$表示到长度到达...而串未结束的概率生成函数,字符串长为len,那么有: ①$F(x)+G(x)=x*G(x)+1$,含义是长度达到x的概率:左边就是字面意思,右边$x*G(x)$表示x-1时未结束的概率,然后加…
题面 传送门 给定一个长度为\(L\)的序列\(A\).然后每次掷一个标有\(1\)到\(m\)的公平骰子并将其上的数字加入到初始为空的序列\(B\)的末尾,如果序列B中已经出现了给定序列\(A\),即\(A\)是\(B\)的子串,则停止, 求序列\(B\)的期望长度.\(L ≤ 10^5\) 题解 不知道概率生成函数是什么的可以看看这篇文章,题解也在里面了 //minamoto #include<bits/stdc++.h> #define R register #define fp(i,a…