题目分析

实际上两个人轮流取十分鸡肋,可以看作一个人取2t次。

考虑生成函数。

为了方便,我们对取的数向右偏移k位。

取2t次的生成函数为:
\[
F(x)=(\sum_{i=0}^{2k}x_i)^{2t}
\]

化一下式子:
\[
\begin{split}
F(x)&=(\frac{1-x^{2k+1}}{1-x})^{2t}\\
&=(1-x^{2k+1})^{2t}\cdot(1-x)^{-2t}
\end{split}
\]

对两个式子分别二项式展开:
\[
\begin{split}
F(x)&=\sum_{i=0}^{2t}(-1)^{2t-i}\binom{2t}{i}x^i\sum_j^{\infty}\binom{2t+j-1}{j}x^j
\end{split}
\]

显然可以考虑FFT了。

我们对\(\sum_j^{\infty}\binom{2t+j-1}{j}x^j\)求一个前缀和,枚举i每次\(O(1)\)计算贡献即可。

时间复杂度\(O(kt)\)。

CF712D Memory and Scores的更多相关文章

  1. Codeforces Round #370 (Div. 2) D. Memory and Scores DP

    D. Memory and Scores   Memory and his friend Lexa are competing to get higher score in one popular c ...

  2. Memory and Scores

    Memory and Scores 题目链接:http://codeforces.com/contest/712/problem/D dp 因为每轮Memory和Lexa能取的都在[-k,k],也就是 ...

  3. Codeforces Round #370 (Div. 2) D. Memory and Scores 动态规划

    D. Memory and Scores 题目连接: http://codeforces.com/contest/712/problem/D Description Memory and his fr ...

  4. [Codeforces712D] Memory and Scores(DP+前缀和优化)(不用单调队列)

    [Codeforces712D] Memory and Scores(DP+前缀和优化)(不用单调队列) 题面 两个人玩游戏,共进行t轮,每人每轮从[-k,k]中选出一个数字,将其加到自己的总分中.已 ...

  5. 【CF712D】Memory and Scores(概率,DP,前缀和)

    题意:AB两人玩一个游戏,两人玩t轮 每人每次随机且等概率从[-k,k]中取一个数字加到总得分中 得分高者赢 已知A B初始分别有a b分,问A取得胜利的概率是多少 (1 ≤ a, b ≤ 100,  ...

  6. 【26.87%】【codeforces 712D】Memory and Scores

    time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...

  7. [CodeForces - 712D]Memory and Scores (DP 或者 生成函数)

    题目大意: 两个人玩取数游戏,第一个人分数一开始是a,第二个分数一开始是b,接下来t轮,每轮两人都选择一个[-k,k]范围内的整数,加到自己的分数里,求有多少种情况使得t轮结束后a的分数比b高.  ( ...

  8. Codeforces 712 D. Memory and Scores (DP+滚动数组+前缀和优化)

    题目链接:http://codeforces.com/contest/712/problem/D A初始有一个分数a,B初始有一个分数b,有t轮比赛,每次比赛都可以取[-k, k]之间的数,问你最后A ...

  9. CodeForces 712D Memory and Scores

    $dp$,前缀和. 记$dp[i][j]$表示$i$轮结束之后,两人差值为$j$的方案数. 转移很容易想到,但是转移的复杂度是$O(2*k)$的,需要优化,观察一下可以发现可以用过前缀和来优化. 我把 ...

随机推荐

  1. 【总】java面试题

    100+经典Java面试题及答案解析 https://www.cnblogs.com/pureEve/p/6546280.html 2017 最新java面试题(技术面试) https://blog. ...

  2. C++/CLI 本地字符串和托管字符串之间的转换

    参考: https://docs.microsoft.com/zh-cn/cpp/dotnet/overview-of-marshaling-in-cpp #include "msclr/m ...

  3. IIS利用X-Forwarded-For获得来访者的真实IP

    https://help.aliyun.com/knowledge_detail/37948.html

  4. 京东-Java开发工程师-一面

    时间:2017-4-7 16:47 时长:32分19秒 类型:笔试前电话面试 之前打过一个电话过来说了一声,下午就直接打过来面试了,没有自我介绍貌似 1. 你做的这些东西是什么样的? 2. 选一个你觉 ...

  5. 九、curator recipes之不可重入锁InterProcessSemaphoreMutex

    简介 recipes的InterProcessSemaphoreMutex是一种不可重入的互斥锁,也就意味着即使是同一个线程也无法在持有锁的情况下再次获得锁,所以需要注意,不可重入的锁很容易在一些情况 ...

  6. log4php使用及配置

    log4php使用及配置 1.在项目中加入log4php包 2.log4php配置 在项目配置包中添加logger_config.xml配置文件: logger_config.xml配置文件添加代码如 ...

  7. Jenkins-在节点上执行copy命令,将节点机上的文件拷贝到映射的网络驱动盘中报错,访问被拒绝 找不到指定驱动器

    问题如标题,根据网友提供的解决方法,完美解决: 在jenkins中执行这个命令时报错 说无法访问. 重新映射一次可解决这个问题,添加一条 net use 命令

  8. 类库项目如何既能支持netcore2.0,也能支持net4.5

    手动更改项目配置 .csporj 中的代码 <TargetFramework>netcoreapp2.</TargetFramework> 改成 <TargetFrame ...

  9. java中的==、equals()、hashCode()源码分析(转载)

    在java编程或者面试中经常会遇到 == .equals()的比较.自己看了看源码,结合实际的编程总结一下. 1. ==  java中的==是比较两个对象在JVM中的地址.比较好理解.看下面的代码: ...

  10. VB.NET Syntax Tips

    Difference Between C# and VB.NET Namespace VB.NET [Class Namespace in IL]=[Root Namespace].[Namespac ...