Codeforces Round 942 (Div. 1) VP 记录

news/2024/9/20 1:49:26/文章来源:https://www.cnblogs.com/AzusidNya/p/18405417

Codeforces Round 942 (Div. 1) VP 记录

我没实力打 Div1 /kk

事实上我唯一 rated 的那场 Div1 切三题是不是运气好啊 /kk /kk

A

考虑 \(k = 0\) 的时候怎么做。设最小值为 \(x\),答案显然是 \(\sum [a_i = x \vee a_i = x + 1] a_i\)

都与最小值相关了,都最小值最大了,直接二分答案一下就行了。

唐诗 fact:你怎么知道我二分上界写 1e18 炸了调了 15min.

唐诗 fact2:←也一样开 1e18 炸了。

B1

←:推式子三行的事情

我:懒得推柿子,注意到 \(a\)\(b\) 的倍数,\(n \ln n\) 暴力枚举 \(a\)\(b\) 然后暴力 check 即可。

B2

←:你还能暴力吗

我:暴力不了,我开摆吧。

←:\(q\) 怎么去掉啊,带着 \(q\) 做不了啊?

我:(开 C 题

于是到最后两个人都没做出 B2。好久没复习数论了被数论水题薄纱了。

\(d = \gcd(a, b), a = pd, b = qd\)

条件改为 \((pd + qd) \mid qd^2\)

两边约掉 \(d\)\((p + q) \mid qd\)

因为 \(p \bot q\),所以 \((p + q) \bot q\),所以有 \((p + q) \mid d\)

然后显然有 \(p < d, q < d\),又因为 \(a = pd\)\(p^2 \le n\),同理有 \(q^2 \le m\)

暴力枚举 \(p, q\),然后得到 \(d\) 的取值范围是 \([1, \min(\lfloor n / p\rfloor, \lfloor m / q \rfloor)]\)

然后 \(d\) 要是 \((p + q)\) 的倍数,所以这一对 \((p, q)\) 的贡献是 \(\lfloor \min(\lfloor n / p\rfloor, \lfloor m / q \rfloor)] / (p + q) \rfloor\)。然后就做完了,时间复杂度 \(O(\sqrt {nm})\)

C

所以这个人做出 C 了吗

那显然是没有啊!

考场上瞪出了是个等差数列不会维护。

考虑 \(1\) 的祖先 \(2, 4, 8\),尝试打表得到贡献。

然后能打出,当 \(k\)\(2\) 时,\(a_1\) 对祖先的贡献是 \(1, 2, 3, 4, \dots\)。当 \(k\)\(3\) 时它是 \(1, 3, 6, 10\)\(k\)\(4\) 时是 \(1, 4, 10, 20\)

这个东西是个 \(n\) 阶等差数列。

然后考虑求这个东西。经过一点观察,发现斜着看杨辉三角就是这个东西

所以 \(m\) 阶等差数列 \(\{S_{m, n}\}\) 的第 \(x\) 项为 \(\binom{m + x - 1}{m}\)

然后这题值域巨大,而我们需要的组合数是杨辉三角的一斜排,预处理 \(1\)\(n\) 的逆元后递推组合数即可。

没看出是杨辉三角,如此实力,如何 NOIP。

D

我怎么觉得这个 D 这么简单呢,哪有 *2800。

但是代码难度是有的,如果 2.5h 我分配 2h 想 D 写 D 我可能写得出来(

一眼 \(i \rightarrow b_i\) 连边先转成图论题,然后是个极幻术森林。

首先,这个选集合是假的吧。假设对于每个数我们操作了 \(c_i\) 次,那么答案就是 \(\max c_i\)

问题转化为,求 \(\max c_i\) 的最小值使得序列 \(a\) 能单调不降。

最大值最小,二分答案转为判定问题。

问题转化为,每个 \(a_i\) 能走到步数不超过 \(mid\) 的点,问能否使得 \(a\) 单调不降。

然后贪心的选,显然 \(a_i\) 应该走到能走到的点中不小于 \(a_{i - 1}\) 的点中最大的吧。

这个操作是求后继,可以树剖后用一些 heavy DS 维护得到三支 \(\log\) 做法((

然后注意到值域特别小,而且 \(a_i\) 单调不降。

那就简单了,拿个指针 \(k\) 一直往后扫,问题变成快速判定 \(k\)\(a_i\) 距离是否小于给定值,也就是求两点距离。

环上是简单的,树上维护下深度也是简单的,然后简单分讨一下即可。

但是其实实现细节还是挺多的(

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工具使用】【OpenFeign 】OpenFeign 下未开启重试,服务却被调用了两次

1 前言 上节我们看了下 OpenFeign 里的重试,后来我从源码的角度看了下它的原理,发现一个诡异的情况,就是我没开启重试的情况下,我的服务却被调用了两次,这是为什么呢?本节我们来看看这个问题。 2 环境准备 首先准备一下,我这里有两个服务,一个是 demo 一个是 virtuou…

CSP模拟 取模

最近开始写 CSP 模拟的题,实际上考的题一点也不 CSP 题意 有一个长度为 \(n\) 的序列 \(A\),\(0\leq A_i<k\),你可以每次选取一个区间,将区间内所有元素 \(+1\),然后将区间内所有元素对 \(k\) 取模。问最少几次操作可以把序列中所有元素都变为 \(0\)。 思路 假设现在有…

爬虫案例2-爬取视频的三种方式之一:requests篇(1)

@目录前言爬虫步骤确定网址,发送请求获取响应数据对响应数据进行解析保存数据完整源码共勉博客 前言 本文写了一个爬取视频的案例,使用requests库爬取了好看视频的视频,并进行保存到本地。后续也会更新selenium篇和DrissionPage篇。当然,爬取图片肯定不止这三种方法,还有基…

支持向量机模型 0基础小白也能懂(附代码)

本篇我们要讲解的模型是大名鼎鼎的支持向量机 SVM,这是曾经在机器学习界有着近乎「垄断」地位的模型,影响力持续了好多年。直至今日,即使深度学习神经网络的影响力逐渐增强,但 SVM 在中小型数据集上依旧有着可以和神经网络抗衡的极好效果和模型鲁棒性。支持向量机模型 0基础…

LeetCode题集-3 - 无重复字符的最长子串

本文讨论了给定字符串找最长无重复字符子串的三种解法:双指针法、双指针+哈希法、双指针+数组法。其中,双指针+数组法因ASCII码特性效率最高,基准测试表明其优于哈希法。题目:给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。我们先来好好理解题目,示例1…

2-5Java多态

Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。 现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 如果当前在 Wor…

【VMware by Broadcom】Fusion 产品下载汇总

Fusion 产品下载汇总(百度网盘)-『2024年9月9日更新』Fusion 产品版本 百度网盘VMware-Fusion-1.0.0-51348.dmg 链接:https://pan.baidu.com/s/1C8Qkr6nwV5rKrhpsv2JJ_A?pwd=t0kjVMware-Fusion-1.1.0-62573.dmgVMware-Fusion-1.1.1-72241.dmgVMware-Fusion-1.1.2-87978.dmg…

C#/.NET/.NET Core技术前沿周刊 | 第 4 期(2024年9.1-9.8)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿,推荐或自荐优质文章/项目/学习资源等。…

51nod 1051 最大子矩阵和

51nod 1051 最大子矩阵和 可以用前缀和容斥优化到 \(O(n^4)\),但是不够进行如下图操作:将每一列的数值都压缩到一维的数组上,就转换为求最大字段和问题,时间复杂度 \(O(n^3)\)。 看看代码就知道了。 #include <bits/stdc++.h> using namespace std; #define ll long …

VS中如何将本地代码上传到码云仓库

VS中如何将本地代码上传到码云仓库 方式一:点击“添加到源代码管理”VS底部栏点击“添加到源代码管理”,并选择“Git”选项在弹出窗口中,选择“其他→现有远程”选项,在右侧区域找到“远程URL”输入框,输入Gitee仓库地址,然后点击“创建并推送”按钮。此时项目目录会多出…

Linux下网络丢包故障定位

转载: 云网络丢包故障定位全景指南 硬件网卡丢包 Ring Buffer溢出如图所示,物理介质上的数据帧到达后首先由NIC(网络适配器)读取,写入设备内部缓冲区 Ring Buffer中,再由中断处理程序触发 Softirq 从中消费,Ring Buffer 的大小因网卡设备而异。当网络数据包到达(生产)…

第一次个人编程作业

github地址这个作业属于哪个课程 计科22级12班这个作业要求在哪里 作业要求链接这个作业的目标 遍历论文查重并封装成可执行文件,学习PSP和commit规范,学习测试和评估代码一、设计思路 文件结构:程序流程:实现逻辑:查找资料发现比较简单的实现是通过计算余弦向量来实现重复…