Refact.ai Match 1 (Codeforces Round 985, Div. 1 + Div. 2)
A
Easy math problem.
B
大胆贪心猜结论,容易想到一个套路化的 stack 做法。
C
容易想到是个二分题,二分答案 \(k\) 表示答案能否 \(\geq k\)。
统计一下前缀最大然后 \(O(n)\) 的写一个 check 就可以了。
D
构造题,好题但是思路比较套路。
考虑这种构造题我们一般会怎么写,当然是往题目要求的方向去考虑:空图或者树。
- 空图显然局限性比较大,与之相应的限制也更多,手玩一下不难发现还会出现无法构造的情况。
- 那就尝试构造树,又有不同的两个思路了:
- 考虑删减边的数量,因为我们知道树最多也只有 \(n - 1\) 条边,不需要太多
- 考虑构造特殊树
往 \(2.2\) 的思路去考虑比较符合直觉,因为特殊情形比较好构造。
分三步走:
- 找到所有度数不小于 \(2\) 的点将其和另外两个相邻的点进行操作(边的数量会刚好 \(-1\)),知道整张图只剩下散点(\(\circ\))和散块(\(\circ \longleftrightarrow \circ\))
- 若散块个数 \(\gt 1\),从中任选两个,再从两个散块中任选三个点操作,这样我们就 merge 了两个散块
- 如果有剩余的散块,选择散块的两个顶点和树根,进行 merge
- 对于散点,选择树根、与树根相邻一点、散点进行 merge,直到没有散点
多画图。
操作数 \(S \leq m - 1 + n - 1 = m + n - 2 \leq 2 \times \max(n, m)\)。
E
挺有意思的,思路比较好想。
以 \(2\) 为 base 可以生成所有合数,如果是偶数就一直 \(+ 2\),否则减去其最小的质因子(先预处理好),就能将其变为偶数。而素数显然只能由本身来生成。
所以若 \(cnt_{i \in \mathbb{P}} \geq 2\),报告无解。
若只剩下一个质数 \(p\),对其翻倍就能得到一个质因子 \(2\),若偶数 \(\lt 2p\) 就无解,或者奇数(合数)减去其最小质因子 \(\lt 2p\) 也无解。
Refact.ai Match 1 (Codeforces Round 985, Div. 1 + Div. 2)的更多相关文章
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...
- Educational Codeforces Round 64 (Rated for Div. 2)题解
Educational Codeforces Round 64 (Rated for Div. 2)题解 题目链接 A. Inscribed Figures 水题,但是坑了很多人.需要注意以下就是正方 ...
- Educational Codeforces Round 53 (Rated for Div. 2) (前五题题解)
这场比赛没有打,后来补了一下,第五题数位dp好不容易才搞出来(我太菜啊). 比赛传送门:http://codeforces.com/contest/1073 A. Diverse Substring ...
- [Educational Codeforces Round 81 (Rated for Div. 2)]E. Permutation Separation(线段树,思维,前缀和)
[Educational Codeforces Round 81 (Rated for Div. 2)]E. Permutation Separation(线段树,思维,前缀和) E. Permuta ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
随机推荐
- git 乱操作
https://www.cnblogs.com/qybk/p/10880901.html 错误提示一样,只是我是在我自己的分支(xxx_dev)里.所以以下要改一下. git pull origin ...
- 使用 Performance API 实现前端资源监控
1. Performance API 的用处 Performance API 是浏览器中内置的一组工具,用于测量和记录页面加载和执行过程中的各类性能指标.它的主要用处包括: 监控页面资源加载:跟踪页面 ...
- SSD-KD:天翼云&清华出品,最新无原始数据的蒸馏研究 | CVPR'24
无数据知识蒸馏能够利用大型教师网络所学到的知识,来增强较小型学生网络的训练,而无需访问原始训练数据,从而避免在实际应用中的隐私.安全和专有风险.在这方面的研究中,现有的方法通常遵循一种反演蒸馏的范式, ...
- MyBatisPlus——简介
概述 MyBatisPlus(简称MP)是基于MyBatisPlus框架基础上开发的增强型工具,旨在简化开发.提高效率 国内开发的技术 特性 无侵入:只做增强不做改变,不会对现有工程产生影响 强大的C ...
- CSP-S 2023
T1 直接 \(10^{5}\) 枚举状态就过了,合法的非零差分数量只可能为 \(1,2\)(\(0\) 相当于没转,按照题意 "都不是正确密码" 是不符的) 需要注意的是形如 0 ...
- Springboot自定义Prometheus采集指标
添加依赖 <!--增加Prometheus依赖--> <dependency> <groupId>org.springframework.boot</grou ...
- .Net 依赖注入深入探索,做一个DI拓展,实现一个简易灵活的 自动依赖注入框架
一.依赖注入相关知识 1.1.依赖注入的原理和优点 依赖注入(DI),是IOC控制反转思想 的实现.由一个DI容器,去统一管理所有的服务生命周期,服务的创建.销毁.获取,都是由DI容器去处理的. 依赖 ...
- C++的并发编程历史
多线程环境 并非所有的语言都提供了多线程的环境.即便是C++语言,直到C++11标准之前,也是没有多线程支持的. 在这种情况下,Linux/Unix平台下的开发者通常会使用POSIX Threads, ...
- kdump
Kdump简单介绍 什么是Kdump? Kdump是在系统崩溃.死锁或死机时用来转储内存运行参数的一个工具和服务,是一种新的crash dump捕获机制,用来捕获kernel crash(内核崩溃)的 ...
- vue 的响应式原理
首先,遍历data的数据,通过 Obejct.defineProperty 定义数据,给数据加上 geter 和 setter 函数,获取数据触发 getter函数, 修改数据时触发 setter函数 ...