CF1205E Expected Value Again
题意
题意翻译
对于一个字符串\(s\),我们定义其美丽值\(f(s)\)为满足下列两个条件的正整数\(i\)的个数:
\(1\leq i<|s|\)
\(s\)长度为\(i\)的前缀与后缀相等,即\(\forall j\in N,1\leq j\leq i\),均有\(s_j=s_{|s|-i+j}\)
给定正整数\(n(1\leq n\leq 10^5),k(1\leq k\leq 10^9)\)。设字符集大小为\(k\),请求出所有长度为\(n\)的字符串\(s\)的\(f(s)^2\)的期望值。
做法
长度为\(x\)的\(border\)等价于\(n-x\)非严格周期
另\(g_i(s)\)为字符串\(s\)有周期\(i\)的概率,\(f(s)^2=\sum\limits_{i=1}^{n-1}E(g_{i,j}(s))\),\(g_{i,j}(s)\)表示字符串\(s\)同时具有\(i\)与\(j\)周期的概率
结论1:有计算概率公式:\[g_{i,j}(s)=\dfrac{k^{max(i+j-n,(i,j))}}{k^n}\]
Periodicity Lemma
然后开始推式子,下面关于即,省略了一些没必要的东西,就是那种不会影响计算的东西
即计算\(\sum\limits_{i=1}^{n-1}\sum\limits_{j=1}^{n-1}k^{max(i+j-n,(i,j))}\)
\(max\)去掉,来计算\(\sum\limits_{i=1}^{n-1}\sum\limits_{j=1}^{n-1}k^{i+j-n}[i+j<n+(i,j)]\)
即\(\sum\limits_{p=1}^{n-1}\sum\limits_{d|p}\mu(\frac{p}{d})\sum\limits_{i=1}^{\frac{n-1}{p}}\sum\limits_{j=1}^{\frac{n-1}{p}}k^{ip+jp}[ip+jp<n+d\Longrightarrow i+j\le \left\lfloor\frac{n+d-1}{p}\right\rfloor]\)
\(\forall d|p,2\le \left\lfloor\frac{n+d-1}{p}\right\rfloor\le \left\lfloor \frac{n-1}{p}\right\rfloor+1\),然后考虑\(x=i+j\)的系数,为\(x-1\)
然后暴力枚举\(p,d,i\),记录一些东西,容易能做到\(O(nlogn)\)
题外话
关于结论\(1\)的证明,不觉得网上的题解是对的,这个结论(应该)等价于Periodicity Lemma,如果证明真这么简单,翻国外的论文不可能没有吧
CF1205E Expected Value Again的更多相关文章
- python中IndentationError: expected an indented block错误的解决方法
IndentationError: expected an indented block 翻译为IndentationError:预期的缩进块 解决方法:有冒号的下一行要缩进,该缩进就缩进
- iOS10之Expected App Behaviors
昨天上架到appStore的时候碰到个问题,构建好后上传到itunesconnect的的包都用不了, 显示错误为:此构建版本无效. 或者英文显示为:ITC.apps.preReleaseBuild.e ...
- hadoop程序问题:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///
Java代码如下: FileSystem fs = FileSystem.get(conf); in = fs.open(new Path("hdfs://192.168.130.54:19 ...
- xcode6 使用MJRefresh,Too many arguments to function call, expected 0, have *
转载自: http://blog.csdn.net/wsjshx/article/details/40743291 将XCode升级到6后,报Too many arguments to functi ...
- Hive启动报错: Found class jline.Terminal, but interface was expected
报错: [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassC ...
- 解决:error: Cannot fetch repo (TypeError: expected string or buffer)
同步源码,问题重现: Fetching project platform/external/libopus Fetching project repo error: Cannot fetch repo ...
- C和指针 第十二章 结构体 整体赋值 error: expected expression
定义结构体后整体赋值时发生错误 typedef struct NODE { struct NODE *fwd; struct NODE *bwd; int value; } Node; //声明变量 ...
- expected an indented block
expected an indented block 在初步使用Python的时候遇到了" expected an indented block"报错信息,查询相关的博客得知是因为 ...
- JUnit4:Test注解的两个属性:expected和timeout
JUnit4:Test文档中的解释: The Test annotation supports two optional parameters. The first, expected, declar ...
随机推荐
- 今天第一天开通博客,随笔总结一下resultType(属性)和resultMap,collection和association,Statement和PreparedStatement各自的区别
1.resultType(属性)和resultMap(标签引用)的区别? resultType不支持自定义返回结果,会将查询到的结果通过到type中java对象的同名的属性,对象中的属性名必须和数据库 ...
- 20200104--python学习第六天
今日学习 集合 内存相关知识 深浅拷贝 内容回顾与补充 (1)列表: (a)reverse 反转 v1=[1,2,3111,32,13] print(v1) v1.reverse() print(v1 ...
- 自己用C语言写RH850 F1L serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 由于有了RH850 F ...
- Nginx是什么 ? 能干嘛 ?
学习博客:https://blog.csdn.net/forezp/article/details/87887507 学习博客:https://blog.csdn.net/qq_29677867/ar ...
- table-cell设置宽高、居中
table-cell默认宽高由内容决定 <style type="text/css" rel="stylesheet"> .content { co ...
- 理解设备像素、设备独立像素、css像素、viewport
设备像素也叫物理像素. 设备像素指的是显示器上的真实像素,每个像素的大小是屏幕固有的属性,屏幕出厂以后就不会改变了. 设备分辨率描述的就是这个显示器的宽和高分别是多少个设备像素. 设备像素和设备分辨率 ...
- mac下搭建http服务器(apache+php),使用homebrew升级php
新版mac依旧预装了 Apache ,但是已经不能在 「系统偏好设置」中的「Web 共享」来开启了,需要手动通过命令行开启. 启动Apache 启动:sudo apachectl start 停止:s ...
- 百度大脑EasyEdge端模型生成部署攻略
EasyEdge是百度基于Paddle Mobile研发的端计算模型生成平台,能够帮助深度学习开发者将自建模型快速部署到设备端.只需上传模型,最快2分种即可生成端计算模型并获取SDK.本文介绍Easy ...
- ASP.NET Core DI概述
众所周知,ASP.NET Core有一个DI框架,应用程序启动时初始化. 预定义依赖 1: IApplicationBuilder:提供了配置应用程序的请求管道机制 2:ILoggerFactory: ...
- 【python数据挖掘】批量爬取站长之家的图片
概述: 站长之家的图片爬取 使用BeautifulSoup解析html 通过浏览器的形式来爬取,爬取成功后以二进制保存,保存的时候根据每一页按页存放每一页的图片 第一页:http://sc.china ...