题意

题意翻译

对于一个字符串\(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的更多相关文章

  1. python中IndentationError: expected an indented block错误的解决方法

    IndentationError: expected an indented block 翻译为IndentationError:预期的缩进块 解决方法:有冒号的下一行要缩进,该缩进就缩进

  2. iOS10之Expected App Behaviors

    昨天上架到appStore的时候碰到个问题,构建好后上传到itunesconnect的的包都用不了, 显示错误为:此构建版本无效. 或者英文显示为:ITC.apps.preReleaseBuild.e ...

  3. 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 ...

  4. 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 ...

  5. Hive启动报错: Found class jline.Terminal, but interface was expected

    报错: [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassC ...

  6. 解决:error: Cannot fetch repo (TypeError: expected string or buffer)

    同步源码,问题重现: Fetching project platform/external/libopus Fetching project repo error: Cannot fetch repo ...

  7. C和指针 第十二章 结构体 整体赋值 error: expected expression

    定义结构体后整体赋值时发生错误 typedef struct NODE { struct NODE *fwd; struct NODE *bwd; int value; } Node; //声明变量 ...

  8. expected an indented block

    expected an indented block 在初步使用Python的时候遇到了" expected an indented block"报错信息,查询相关的博客得知是因为 ...

  9. JUnit4:Test注解的两个属性:expected和timeout

    JUnit4:Test文档中的解释: The Test annotation supports two optional parameters. The first, expected, declar ...

随机推荐

  1. 菜鸡发现腾讯视频bug

    腾讯视频bug 我看一个将夜,出现三生三世? 这是为啥? 发现bug,会得到奖励吗? 不会像dnf一样游戏自己的bug,然后出现伤害999,把我号封了. 我这样会被封号吗?我应该怎么做才不会被封?好慌 ...

  2. k8s调度器kube-scheduler

    kube-scheduler简介 调度是容器编排的重要环节,需要经过严格的监控和控制,现实生产通常对调度有各类限制,譬如某些服务必须在业务独享的机器上运行,或者从灾备的角度考虑尽量把服务调度到不同机器 ...

  3. 手把手带你阅读Mybatis源码(三)缓存篇

    前言 大家好,这一篇文章是MyBatis系列的最后一篇文章,前面两篇文章:手把手带你阅读Mybatis源码(一)构造篇 和 手把手带你阅读Mybatis源码(二)执行篇,主要说明了MyBatis是如何 ...

  4. 搭建fastdfs文件服务器

    一.安装FastDFS环境 1.跟踪服务器(Tracker Server) tracker1:192.168.2.134 tracker2:192.168.2.135 2.存储服务器(Storage ...

  5. 解决掉你心中 js function与Function的关系的疑问

    前言 在网上有很多关于js function 与 Function直接关系的文章. 但是我感觉过于抽象化了,那么如何是具体化的解释? 正文部分为个人理解部分,如有不对望指出. 正文 <scrip ...

  6. OpenCV4系列之图像梯度和边缘检测

    在图像处理中,求解图像梯度是常用操作. Sobel算子 Calculates the first, second, third, or mixed image derivatives using an ...

  7. mybatis 通过配置父类数据源连接和关闭数据,进行junit单元测试

    来源:https://blog.csdn.net/Bigbig_lyx/article/details/80646005 解决问题,单元测试没经过单独配置,每个测试方法中要添加配置数据源 一:配置父类 ...

  8. 学习css常用基本层级伪类属性选择器

    常见的css选择器包含:常用选择器.基本选择器.层级选择器.伪类选择器.属性选择器,其中常用选择器分为:1.html选择符*{}//给页面上所有的标签设置模式:2.类选择符.hcls{}//给clas ...

  9. 1.3.5 详解项目中的资源——Android第一行代码(第二版)笔记

    所有以drawable开头的文件夹都是用来存放图片的. 所有以mipmap开头的文件夹都是用来存放应用图标的 所有以values开头的文件夹都是用来存放字符串.样式.颜色等配置的, layout文件夹 ...

  10. Elasticsearch之文档的增删改查以及ik分词器

    文档的增删改查 增加文档 使用elasticsearch-head查看 修改文档 使用elasticsearch-head查看 删除文档 使用elasticsearch-head查看 查看文档的三种方 ...