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 给出一个字符串,现在可以对这个字符串进 ...
随机推荐
- C++ : 仅添加一个引用& 就直接导致程序崩溃
问题描述 在项目某次开发中,测试过程中出现了coredump问题.经过asan工具检测,报了heap-use-after-free内存错误,最终定位到竟是无意中添加了一个引用&导致的! 开发时 ...
- vue 消息订阅与发布
vue 消息订阅与发布 一.场景 vue中非父子组件之间通信时,使用vuex有时间会很麻烦,这时候可以通过bus总线来实现 消息的订阅与发布 二.实现方法 1.main.js //main.js Vu ...
- CSS & JS Effect – Statistics Counter
效果 当 scroll 到那些号码的时候, 号码从 0 开始跳动, 一直到最终的值. 实现思路 1. 一开始把号码 set to 0 2. 使用 IntersectionObserver 监听号码出现 ...
- 记一次 .NET某上位机视觉程序 卡死分析
一:背景 1. 讲故事 前段时间有位朋友找到我,说他的窗体程序在客户这边出现了卡死,让我帮忙看下怎么回事?dump也生成了,既然有dump了那就上 windbg 分析吧. 二:WinDbg 分析 1. ...
- Qt连连看(二)界面制作
我们先来制作两个简单的页面 一.主界面 要求在main.cpp里面设置对应的槽函数 (1) 点击开始游戏能跳转到游戏界面 (2) 点击帮助能够显示游戏说明,如下 二.游戏界面 要求如下: (3) 初始 ...
- mongodb 中rs.stauts()命令参数解析
转载请注明出处: rs.status()命令用于获取MongoDB副本集的状态信息.它提供了关于副本集中各个节点的详细信息,包括节点的健康状况.角色.选举状态等. 以下是查看一个mongo集群状态返回 ...
- 痞子衡嵌入式:MCUBootUtility v6.3发布,支持获取与解析启动日志
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v5.3.0)发布过去一年了,期间痞子衡也做过三个版本更新,但不足以单独介绍.这一次痞子衡为大家带来了全新重要版本v6. ...
- Google Aviator Evaluator 使用入门(一)
Aviator Evaluator 使用入门(一) https://www.yuque.com/boyan-avfmj/aviatorscript/tvahat 一.什么是规则引擎 定义:规则引擎是一 ...
- Passwords
详见 此处 Header File 0*)1190*+0**0).0970)/0)/111105000
- 运输小猫娘之再续 5k 传奇
写的比较意识流 前情提要 上回书说到,5k 因为拯救大家被炸断了 \(1000000007\) 米的牛至中的十五千米,尽管大家的欢呼声如此热烈,就像大家的热量正在像烈火一样散发出来,但是 5k 却无心 ...