首先声明题面中加入 Moejy0viiiiiv 与本人无关。

由于本题的数据范围在样例造好之后又进行了更改,所以初始时题面中出现了与数据范围不符的样例,如果对您的做题产生影响,我深表歉意。

算法一

设 \(P(x,\ y)\) 为走到 \((x,\ y)\) 的概率,则所求即为 \(\sum_{x,\ y}\ P(xD,\ yD)\)。

由于 \(N\ \leq\ 10000\),所以直接按照 \(P(x,\ y)\ =\ P(x,\ y\ -\ 1)\ *\ A\ +\ P(x\ -\ 1,\ y)\ *\ B\) 转移即可。

时间复杂度 \(O(N^2)\)。

空间复杂度 \(O(N^2)\),可以使用滚动数组 \(O(N)\)。

可以通过第一个子任务,预计得分 \(9\) 分。

算法二

我们设 \(F_z(x)\ =\ \sum_{i\ =\ 0}^z\ P(i,\ z\ -\ i)\ *\ x^i\ mod\ (x^D\ -\ 1)\),那么有 \(F_z(x)\ =\ F_{z\ -\ 1}(x)\ *\ (Bx\ +\ A)\)。所求即为 \([x^0]\ \sum_{i}\ [iD\ \leq\ N]\ F_{iD}(x)\)。我们可以直接通过枚举 \(i\) 来计算。

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

空间复杂度 \(O(D)\)。

可以通过第二个子任务,结合算法一预计得分 \(21\) 分。

算法三

对 \(F\) 求和可以考虑通过倍增的思想进行。

我们另 \(H(x)\ =\ (Bx\ +\ A)^D\ mod\ (x^D\ -\ 1)\),\(SH_n(x)\ =\ \sum_{i\ =\ 1}^n\ H(x)\)。

有转移

  • \(SH_{n\ +\ 1}(x)\ =\ SH_n(x)\cdot H(x)\ +\ H(x)\),

  • \(SH_{2n}(x)\ =\ SH_n(x)\cdot H(x)^n\ +\ SH_n(x)\)。

时间复杂度 \(O(D^2 log N)\)。

空间复杂度 \(O(D)\)。

可以通过子任务二、三,结合算法一预计得分 \(48\) 分。

算法四

现在考虑有坑的情况。
在计算 \([x^0]\ \sum_{i}\ F_{iD}(x)\) 时,我们可以对一段连续的不包含坑的 \(x\ +\ y\) 的值的区间 \([l,\ r]\) 计算贡献。
如果我们能快速求出 \(F_l(x)\) ,那么就能将问题转化为无坑的情况了。

我们设 \(G_z(x)\ =\ \sum_{i\ =\ 0}^z\ P(i,\ z\ -\ i)\ *\ x^i\)。
如果能得到 \(G_l(x)\),就可以通过在原 \(F_l(x)\) 的对应位置上减去相应的值得到有坑情况下的 \(F_l(x)\)。
可以发现 \(G\) 的转移与 \(F\) 相同。
又由于所有坑 \(x\ \leq\ M\),所以只用维护 \(G(x)\ mod\ x^M\)。

如果使用算法二的计算方法,时间复杂度 \(O((D\ +\ M)N)\)。

空间复杂度 \(O(D\ +\ M)\)。

可以通过子任务二、四,结合算法一、三预计得分 \(56\) 分。

算法五

在算法三、四的基础上考虑如何快速计算 \(G_z(x)\)。

可以发现对于无坑区间 \([l,\ r]\),\(G_r(x)\ =\ G_l(x)\cdot (Bx\ +\ A)^{r\ -\ l}\ mod\ x^M\),\([x^i](Bx\ +\ A)^m\ =\ \binom{m}{i}\ B^i\ A^{m\ -\ i}\)。
可以通过一次多项式乘法进行转移。

时间复杂度 \(O(K(D\ log\ D\ +\ M\ log^2\ M)\ log\ N)\)。

空间复杂度 \(O(D\ +\ M)\)。

预计得分 \(100\) 分。

转载于:https://www.cnblogs.com/King-George/p/8460926.html

LR 8 Hello 戊戌 - 抢红包 题解相关推荐

  1. CF1245F Daniel and Spring Cleaning(等会了更新)

    CF1245F Daniel and Spring Cleaning 题意: 给定l,r,求∑a=lr∑b=lr[a+b=a⊕b]\sum_{a=l}^{r}\sum_{b=l}^{r}[a+b=a⊕ ...

  2. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L2 答案,题解,附代码

    [CCCC]PAT : 团体程序设计天梯赛-练习集 L2 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 知识点分类(32): 1.树锯结构(9):二叉树的存储,编号,遍历顺序转换,求深度,底层节点,从底 ...

  3. P3246 [HNOI2016]序列(查询l-r中所有区间的最小值之和)

    多校时做到了查询区间l-r中所有区间的最大值与最小之和的题目,有好多细节不太会处理,去看题解发现是一道差不多的原题,于是打算先把原题补一下. 题解: ST表+单调栈+莫队 看到计算区间最小值之和,不难 ...

  4. Codeforces Round #640 (Div. 4)(ABCDEG题解)

    文章目录 A. Sum of Round Numbers B - Same Parity Summands C - K-th Not Divisible by n D - Alice, Bob and ...

  5. 2017-2018 ACM-ICPC Asia East Continent League Final (ECL-Final) 题解(10 / 13)

    2017-2018 ACM-ICPC Asia East Continent League Final (ECL-Final) 9题金 6题银 5题铜 题目比较简单,但是读题太难了- 比赛链接:htt ...

  6. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  7. 迟到的预备赛前练习赛题解

    比赛地址 今年的SWPU预备队员选拔赛将于10月17号上午8点开始一直持续到下午6点(主要是考虑到17号周六有运动会),请大家自行选择时间参加比赛,预备队员预计选拔6~8人,取前排直接成为预备队员,来 ...

  8. 华东交通大学2017年ACM双基程序设计大赛题解

    简单题 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submissio ...

  9. 【题解】 [HEOI2016]排序题解 (二分答案,线段树)

    题目描述 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行 ...

  10. 牛客题霸 [ 判断一棵二叉树是否为搜索二叉树和完全二叉树] C++题解/答案

    牛客题霸 [ 判断一棵二叉树是否为搜索二叉树和完全二叉树] C++题解/答案 题解: 搜索二叉树满足以下性质: 1.非空左子树的所以键值小于其根节点的键值 2.非空右子树的所有键值大于其根节点的键值 ...

最新文章

  1. 谷歌NIPS论文Transformer模型解读:只要Attention就够了
  2. Seurat包分析单细胞转录组数据代码
  3. [SOA征文]SOA如何起步?
  4. (转)oracle extent
  5. python单词大全-学Python必须背的42个常见单词
  6. # 20155337 2017-2018-1 《信息安全系统设计基础》第一周学习总结
  7. xxx钻石商城功能开发需求
  8. 新增国内mysql下载镜像
  9. 【Computer Organization笔记13】指令流水中的结构冲突和数据冲突
  10. Makefile、.mk、.bp、Blueprint、Soong、kati工具链的关系
  11. Cocos2d-x 3.X手游开发实例详解
  12. app具体介绍界面-01
  13. 上交所、深交所、中登结算的接口文档及下载链接
  14. js中的symbol详解
  15. 基于Python实现的机器人自动走迷宫
  16. 那个职员建议他们去计算机博物馆英语,第三单元重点句子
  17. Dev C++环境中使用OpenGL
  18. 在阿里云3万成交的 iot.xin 网站上线啦
  19. ios-唯一标识符及Keychain共享
  20. 2.flex 容器属性 flex-direction ,flex-wrap ,flex-flow

热门文章

  1. Nginx动态代理后获取客户端ip
  2. 发明专利申请时间多长?
  3. Mybatis关联映射 多表查询(三种写法优缺点、主流性) 以及分步查询 延迟加载(按需加载、懒加载)
  4. 关于解构主义思想在软件开发中的应用
  5. jmeter的教学视频
  6. 百度之星程序题目再度披露
  7. 【OSPP开源之夏2022】基于昇思MindSpore, 补齐创建Tensor的方法10+
  8. postfix电子邮件传输
  9. Kubernetes 安装集群
  10. 第51周 ARTS 2019 10 06