ARC185 A-E

news/2024/10/14 0:12:05

比 ARC184 简单多了。

A. mod M Game 2

我们只关心 Alice 出的最后一张牌,这张牌会决定游戏的胜负,因为除了最后一张牌,二人都可以选择出牌来使得自己不会输。

让我们假设 Alice 最后出的牌为 \(x\),那么在打出最后一张牌之前的牌之和为 \(n(n-1)-x\)

  1. \([n(n-1)-x]\bmod m=0\),令 \(y=n(n-1)\bmod m\),如果 Bob 打出的前 \(n-1\) 张牌中没有 \(y\),那么 \(x=y\),此时 Alice 会输。可以被证明,Bob 一定存在一种策略能够达到这种状态。
  2. \([n(n-1)-x]\bmod m\not=0\),此时 Alice 必胜。

条件 1 就等价于 \(1\le n(n-1)\bmod m\le n\)

B. +1 and -1

贪心的想,我们想尽量让最后的 \(A\) 中的元素尽量接近(平均值),令 \(s=\sum A_i\),那么最终的序列 \(A=(\lfloor \frac{s}{n}\rfloor,\lfloor \frac{s}{n}\rfloor,\dots,\lfloor \frac{s}{n}\rfloor+1,\dots,\lfloor \frac{s}{n}\rfloor+1)\),其中 \(\lfloor \frac{s}{n}\rfloor+1\) 共有 \(s\bmod n\) 项。

之后我们就只需要判断 \(A\) 是否可能通过操作变成上述的样子,这是容易的。

详细证明可以见 Atcoder 官解。

C. Sum of Three Integers

题目只要求给出任意一组合法解。

让我们枚举 \(i=1,2,\dots,n\),之后我们就只需要判断是否有两个整数 \(j,k\) 满足 \(A_j+A_k=X-A_i\)

我们可以通过一次卷积来解决这个问题。

具体的,我们可以通过一次卷积求出有多少个 \(A_j+A_k(1\le j,k\le n)\) 等于某个值 \(Y\),但是可能 \(j=k\),此时将每一个 \(A_p+A_p\) 的方案减去一。

除此之外,还可能存在 \(A_i+A_k=X-A_i\) 也就是一个 \(A_i\) 出现两次的情况,我们可以先提前预处理出满足这种情况的方案数,最后在减去即可。

时间复杂度 \(O(X\log X)\)

D. Random Walk on Tree

没有场切。

先让我们考虑 \(m=1\) 的情况。

此时 Takahashi 会在节点 \(0\) 和一个叶子节点之间反复移动,显然,Takahashi 想要给这 \(n\) 个叶子节点都染上色的期望往返次数为 \(\sum_{i=0}^{n-1}\frac{n}{n-i}\),每次往返需要 \(2\) 步,且最后一次不需要往返,所以期望步数为 \(2(\sum_{i=0}^{n-1}\frac{n}{n-i})-1\)

接下来让我们单独考虑一条长度为 \(m\) 的链的情况,转化为这样一个问题:初始时 \(i=0\),每次随机将 \(i\) 变为 \(i+1\)\(i-1\),当 \(i=0\) 时只有第一种操作,求出 \(i\) 变为 \(m\) 的期望操作次数。

\(f_i\) 表示将 \(i\) 变为 \(i+1\) 的期望次数,令 \(g_i\) 表示将 \(i+1\) 变为 \(i\) 的期望次数,我们有:

  • \(i=0\) 时,有 \(f_0=g_0+1\)
  • \(i=m-1\) 时,有 \(f_{m-1}=0,g_{m-1}=1\)
  • \(1\le i\le m-1\)\(f_i+g_{i-1}=f_{i+1}+g_i\),因为中间所有点的期望进出次数是相同的。

若我们固定了移动的起点,在每一个点时它进行两种操作的概率时相同的,所以进行操作的期望次数与它具体是那种操作无关,于是有 \(f_i=g_{i-1}\)

从大到小考虑每个点,有 \(f_i=m-i,g_i=m-i-1\),所以总期望次数为 \(m^2\)

最后的答案就是 \((2(\sum_{i=0}^{n-1}\frac{n}{n-i})-1)m^2\)

E. Adjacent GCD

依次枚举每一个 \(m=i=1,2,\dots n\) 来求解答案,记 \(m=i\) 的答案为 \(ans_i\)

在我们不考虑 \(i\) 时,答案为 \(2ans_{i-1}\)

现在让我们考虑 \(i\),记子序列中的上一个选择的数为 \(j\),那么最新造成 \(\gcd(a_i,a_j)2^{j-1}\) 的贡献。

也就是说 \(ans_i=2ans_{i-1}+\sum_{j=1}^{i-1}\gcd(a_i,a_j)2^{j-1}\)

现在让我们考虑后面那一坨玩意。考虑求出每个 gcd,然后再乘上 \(2^{j-1}\),但这样算肯定不对,因为我们无法确定这个就是那两个数的 gcd,无法保证它们没有其它的质因子。

但是,我们知道 \(x=\sum_{d\mid x}\varphi(d)\)

也就是说,我们只需要枚举 \(a_i\) 的每个因子 \(p\),看有多少个数包含这个因子 \(p\),那么这个因子对答案造成的贡献就为 \(p\cdot\varphi(p)\)

时间复杂度 \(O(n\sqrt{a_i})\)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71276.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

《使用Gin框架构建分布式应用》阅读笔记:p20-p31

《用Gin框架构建分布式应用》学习第2天,p20-p31总结,总计12页。 一、技术总结 1.第一个gin程序 // main.go package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()r.GET("/", func(c *gin.Context) {c.JSON(200, gin.H{"m…

hot100 review

56. 合并区间 https://leetcode.cn/problems/merge-intervals/description/?envType=study-plan-v2&envId=top-100-liked 该怎么排序区间 vector<vector>& intervals sort(intervals)即可 238. 除自身以外数组的乘积 https://leetcode.cn/problems/product-of-a…

inline、const、mutable、this、static

inline、const、mutable、this、static 在类定义中实现成员函数 incline成员函数末尾的 const(声明和实现中都要加上 const) 作用:告诉系统,这个成员函数不会修改该对象里任何成员变量的值等等,也就是说,这个成员函数不会修改类 Time的任何状态。===> 也叫做常量成员函…

吴恩达机器学习笔记(2-1到2-7)

吴恩达机器学习笔记(2-1到2-7) https://www.bilibili.com/video/BV164411b7dx?p=5 https://www.bilibili.com/video/BV164411b7dx?p=6 https://www.bilibili.com/video/BV164411b7dx?p=7 https://www.bilibili.com/video/BV164411b7dx?p=8 https://www.bilibili.com/vide…

网络安全问题

Linux:在配置Centos7时,刚开始yum不能使用,原因是它默认使用的是自带的yum源,但是这个yum源很不稳定 解决方法:将其换成国内源yum的配置文件在/etc/yum.repos.d/CentOS-Base.repo当中,我们将其切换成阿里云镜像使用这个语句:curl -o /etc/yum.repos.d/CentOS-Base.repo …

分布式事务之Seata的AT模型

在Seata的事务管理中有三个重要的角色:TC (Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器:定义全局事务的范围、开始全局事务、提交或回滚全局事务。 RM (Resource Manager) - 资源管理…

【蓝队】Sysmon识别检测宏病毒

原创 玄影实验室 权说安全前言 在不断变化的网络安全环境中,提前防范威胁是非常重要的。 本文将以 Microsoft Office 宏病毒钓鱼为例,介绍如何使用 Sysmon 来获取和分析 Windows 系统日志,揭示隐藏的恶意或异常活动,了解入侵者和恶意软件如何在网络上运行。 Sysmon Sysmon(…

vue2进阶篇:vue-router之命名路由

vue2进阶篇:vue-router之命名路由@目录10.6命名路由案例:将案例改为“命名路由”完整代码本人其他相关文章链接 10.6命名路由注意点1: 命名路由请使用name属性,替换掉path属性的作用,且name直接指定名称即可,而path必须指定3级目录(path=’/demo/test/welcome’)才行。…