AtCoder Beginner Contest 210题解
A B
过水,略...
C
统计长度为k的区间的最多本质不同的数。用尺取法维护下左右指针就可以了.调了许久的原因是更新答案时出现了问题。
当我移动指针时,我们应该移动一个就更新一个,而不是将移动与更新分离。这里就写到这了.
D
遇到这种有绝对值的题,最好的做法还是分类讨论将绝对值拆开.
拆开后就会发现可以用二维前缀和的方式保留当前子矩阵的max,之后扫一遍即可.
比赛时光记录左边的矩阵了忽略了右边的矩阵......还是思维上的漏洞啊
E
真的是光明正大的用图论的背景考察数论的知识。根据克鲁斯卡尔算法的思想,我们先将所有的边按照边权全排序,从小到大,对于当前每个操作,能用就用显然更优。考虑对于一个操作而言它做的贡献,这个题可以先不思考我们每个操作可以具体的连那些边,因为点的范围都到1e9了,显然是抽象的。u和v可以连边当且仅当\(u=(v+a_i)\)%\(N\),换句话说可以写成\(u=v+a_i+k*N\)式子还可以转换成\(u=v+k*gcd(a_i,N)\)即\(u和v在模gcd(a_i,N)的意义上是同余的\)。也就是说只使用第i个操作时所有模\(gcd(a_i,N)\)的值相同的点都可以连边。这时整个图就被分成了\(gcd(a_i,N)\)个联通块,因为模\(gcd(a_i,N)\)共有\(gcd(a_i,N)\)中结果。考虑如果一个一个操作的考虑的话无法确切的统计答案。考虑前i个操作一起,这个时候能够被连起来的点为\(u=v+k_1*A_1+k_2*A_2+...+k_i*A_i+k_0*N\),这个时候的联通块纪委即为\(gcd(k_1*A_1,k_2*A_2,...,k_i*A_i,k_0*N)\)而这时每个操作的答案我们就可以通过差分轻松计算了...
F
未做...
AtCoder Beginner Contest 210题解的更多相关文章
- AtCoder Beginner Contest 154 题解
人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...
- AtCoder Beginner Contest 153 题解
目录 AtCoder Beginner Contest 153 题解 A - Serval vs Monster 题意 做法 程序 B - Common Raccoon vs Monster 题意 做 ...
- AtCoder Beginner Contest 177 题解
AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...
- AtCoder Beginner Contest 184 题解
AtCoder Beginner Contest 184 题解 目录 AtCoder Beginner Contest 184 题解 A - Determinant B - Quizzes C - S ...
- AtCoder Beginner Contest 173 题解
AtCoder Beginner Contest 173 题解 目录 AtCoder Beginner Contest 173 题解 A - Payment B - Judge Status Summ ...
- AtCoder Beginner Contest 172 题解
AtCoder Beginner Contest 172 题解 目录 AtCoder Beginner Contest 172 题解 A - Calc B - Minor Change C - Tsu ...
- AtCoder Beginner Contest 169 题解
AtCoder Beginner Contest 169 题解 这场比赛比较简单,证明我没有咕咕咕的时候到了! A - Multiplication 1 没什么好说的,直接读入两个数输出乘积就好了. ...
- AtCoder Beginner Contest 148 题解
目录 AtCoder Beginner Contest 148 题解 前言 A - Round One 题意 做法 程序 B - Strings with the Same Length 题意 做法 ...
- AtCoder Beginner Contest 151 题解报告
总的来说,这次的题目比较水,然而菜菜的我并没有把所有题目都做完,话不多说,直接来干货: A:Next Alphabet 题目链接:https://atcoder.jp/contests/abc151/ ...
随机推荐
- Linux系列(40) - 自动同步时间chrony
前言 Centos8开始取消了ntp同步时间,改为chrony同步 chrony工具安装 yum -y install chrony 修改配置文件 将配置文件中的同步服务器修改为国内的时间服务器(推荐 ...
- django 各项配置基本设置
setting中一些设置例子 mysql数据库连接设置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': ...
- 『Python』matplotlib实现GUI效果
1. 类RadioButtons的使用方法 类似单选框 import numpy as np import matplotlib.pyplot as plt import matplotlib as ...
- Expression Tree 遍历集合
场景 从接口返回的数据是集合,却是 object 类型的.这个时候需要遍历这个集合.现提供两种方法. 方法一: 因为集合是可枚举的,所以可以尝试转为 IEnumerable 类型,然后遍历即可. st ...
- WPF进阶技巧和实战07--自定义元素02
在01节中,研究了如何开发自定义控件,下节开始考虑更特殊的选择:派生自定义面板以及构建自定义绘图 创建自定义面板 创建自定义面板是一种比较常见的自定义控件开发子集,面板可以驻留一个或多个子元素,并且实 ...
- kendoUI 多选下拉列表 kendoMultiSelect
问题1:被重复渲染 点击新增按钮----弹出模态框 多选下拉列表在多选框中只是初始化过一次.但是每次点击新增后 发现 多选下拉列表 被重复渲染了 解决方案 在 新增时 先将其父元素div中 的s ...
- Kubernetes集群(RKE)安装ArgoCD排坑
Photo by Pixabay from Pexels Argo CD是一个声明式的,基于Kubernetes的GitOps持续交付工具.更多的细节参考 ArgoCD官网 的说明,这里记录了一些实践 ...
- MySQL MVCC原理深入探索
一.MVCC的由来 二.MVCC的实际应用 RR级别场景 RC级别场景 三.MVCC的实现 3.1 多版本的数据从哪里来--Undo Log 3.1.1 插入操作对应的undo log 3.1.2 删 ...
- netty 处理客户端连接
Netty如何处理连接事件 上文讲了Netty如何绑定端口,现在我们来阅读下netty如何处理connect事件.上文我们说了NioEventLoop启动后不断去调用select的事件,当客户端连接时 ...
- 基本的bash shell命令
目录 基本的bash shell命令 启动shell shell提示符 基本的bash shell命令 启动shell GNU bash shell 能提供对Linux系统的交互式访问.它是作为普通程 ...