AtCoder Regular Contest 185

news/2024/10/14 2:26:41

保龄选手来写下记录。

A

由于 \(N < M\),所有 \(i\) 在模 \(M\) 意义下互不相同。

这说明如果一个人至少有两张牌,当前回合一定不会输。

\(b\) 为 Bob 的最后一张牌。

Alice 打出最后一张牌后局面达到 \(N(N + 1) - b\)。当且仅当 \(b \equiv N(N + 1) \pmod M\),Bob 胜。

\(c = N(N + 1) \bmod M\)

  1. \(c \in [1, N]\)

    如果 Bob 一直将 \(c\) 保留到最后,他就赢了。

    • Bob 手中牌数 \(\ge 3\)

      可以用除 \(c\) 外的另外两张来保证自己不会输。

    • Bob 手中牌数等于 \(2\)

      设 Alice 打出最后一张牌为 \(a\)

      则 Bob 倒数第二轮不打 \(c\) 能达到的局面为 \(N(N + 1) - a - c \equiv -a\not\equiv 0\),不会输。

  2. \(c \notin [1, N]\),无论如何 Bob 都不会赢。

submission

B

定义一个非降序列是「好的」当且仅当序列极差不大于 \(1\)

结论:答案合法当且仅当他能操作为一个好的序列。

充分性:好序列也是非降的。

必要性:任意非降序列都能操作为一个好序列:

  • 每次找到靠的最近 \(i < j\) 满足 \(A_j - A_i \ge 2\),一定有 \(A_i < A_{i + 1}\),否则 \(i + 1\) 更靠近 \(j\),同理 \(A_{j - 1} < A_j\)
  • 操作后仍然满足 \(A_{i}^{\prime} \le A_{i + 1} \le \cdots \le A_{j - 1} \le A_j^{\prime}\)
  • 不断操作直到找不到 \(i, j\)(极差不大于 \(1\))。

最后能转化为的好的序列是唯一确定的,设为 \(B\)

非法当且仅当存在 \(\sum_{j = 1}^iA_i > \sum_{j = 1}^iB_i\)

一次操作 \(i, j\) 会使 \([i, j)\) 的前缀和加一,\((j, n]\) 的前缀和不变,即始终满足 \(\forall i,\ B_i \ge A_i\)

必要性显然,考虑充分性。

不妨将一次操作当成 \(B\) 前缀和上的区间加,如果任意 \(B_i \ge A_i\),最朴素的构造即对 \((i, i + 1)\) 操作 \(B_i - A_i\) 次。

submission

C

\(f(x) = \sum [A_i = x],\ g(x) = \sum[i < j \land A_i + A_j = x]\)

\(g\) 可以通过 \(f * f\) 再减掉点东西得到。

枚举 \(1 \le i \le n\),判断是否存在 \((j, k),\ j < k\) 对使得:

  • \(i \ne j \land i \ne k\)
  • \(A_i + A_j + A_k = X\)

一旦我们知道 \((j, k)\) 是否存在,即可用 \(O(N)\) 的时间找到一组解(枚举 \(j\),至多枚举三个 \(A_k = X - A_i - A_j\))。

考虑计算 \((j, k)\) 的个数:

\[g(X - A_i) - \left(f(X - 2A_i) - [3A_i = X]\right) \]

即所有 \(j < k,\ A_j + A_k = X - A_i\) 的方案减去 \(i\) 为其中之一的方案。

时间复杂度 \(O(N + V\log V)\)。(NTT模数取1374389534721)

submission

D

E

首先有朴素 DP:

\[f_i = \sum_{j = 1}^{i - 1}f_j + 2^{j - 1}\gcd(a_i, a_j) \]

注意到

\[\begin{aligned} \gcd(n, m) &= \sum_{d \mid \gcd(n, m)} \varphi(d)\\ \\ &= \sum_{d \mid n \land d \mid m} \varphi(d)\\ \\ &= \sum_{d \mid n} [d\mid m]\varphi(d)\\ \end{aligned} \]

\(f\) 部分先不管,最后加一个前缀和即可:

\[\begin{aligned} &= \sum_{j = 1}^{i - 1}2^{j - 1}\sum_{d\mid a_i} [d \mid a_j]\varphi(d)\\ \\&= \sum_{d\mid a_i}\varphi(d) \sum_{j = 1}^{i - 1}[d \mid a_j]2^{j - 1}\\ \end{aligned} \]

同时维护 \(g(d) = \sum_{d\mid a_j} 2^{j - 1}\),时间复杂度 \(O(V\ln V + Nd(V))\)

submission

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

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

相关文章

01-k8s集群搭建 安装KubeSphere

前言 旧游无处不堪寻,无寻处,未有少年心 1.k8s简介 简介 Kubernetes 简称 k8s。是用于自动部署,扩展和管理容器化应用程序的开源系统。 中文官网:https://kubernetes.io/zh/ 中文社区:https://www.kubernetes.org.cn/ 官方文档:https://kubernetes.io/zh/docs/home/ 社区…

DockerCompose部署环境

前言 道阻且长,行则将至 1.安装docker 如果系统中已经存在旧的Docker,则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine首先要安装一个yum工具 yum install -y y…

实验一 现代C++ 基础编程

task1 代码:#include <iostream> #include <string> #include <vector> #include <algorithm>using namespace std;// 声明 // 模板函数声明 template<typename T> void output(const T &c);// 普通函数声明 void test1(); void test2(); v…

VMware中三种网络模式(快速笔记)

0、精髓1、桥接模式架构图(VMnet0)与主机共用一块网卡,分配到与主机同网段下的不同的IP地址2、NAT模式架构图(VMnet8)使用虚拟网卡并与主机连接,但共用主机IP3、主机模式架构图(VMnet1)注:本随笔仅为个人速记笔记,详细还请参考这篇博客https://www.cnblogs.com/linjiaxin/p…

Dockerr安装Oracle以及使用DBeaver连接

拉取镜像 pull container-registry.oracle.com/database/free:latest创建容器说明一下我现在的最新版本是23docker run -d --name oracle23i -h xrilang -p 1521:1521 container-registry.oracle.com/database/free:latest查看日志 docker logs oracle23i设置密码 因为创建容器…

数据结构 - 栈

栈是一种特殊线性数据结构,操作遵循后进先出原则,可解决表达式求值等问题。栈分为顺序栈和链栈,各有特点。文章详细介绍了栈的定义、分类及实现方式,包括顺序栈和链栈的ADT定义及基本操作实现。栈一种常见的特殊线性数据结构,其特殊之处在于其操作顺序,下面会详细介绍,也…

《使用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…