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 给出一个字符串,现在可以对这个字符串进 ...
随机推荐
- Angular Material 18+ 高级教程 – 大杂烩
前言 本篇记入一些 Angular Material 的小东西. Override Material Icon Button Size 参考:Stack Overflow – Change size ...
- TypeScript – 冷知识
当 generic return 遇上 parameter 报错了.原因是 querySelector 默认返回类型是抽象的 Element. 而 method 参数要求的是具体的 InputElem ...
- Identity – Custom Entity
扩展属性 Custom Entity 指的是我们想对 Identity 的几个 Entity 做修改. 比如 User 要多一些 property, 或者 Id 用 int 而不是默认的 GUID. ...
- EF Core – Get Started 搭建单侧环境
有时候想搭个环境做测试, 又记不住那些 command, 官方教程又啰嗦. git clone 模板又不太好管理, 索性记入在这里吧. 创建项目 dotnet new webapp -o Simple ...
- Java中使用BigDecimal进行double类型的计算(高精度,可保留几位小数)
Java中 小数直接进行乘除运算,会出现精度问题导致计算结果有误需要使用 BigDecimal 类型辅助运算,保证精度无误源码: import java.math.BigDecimal;import ...
- JSP——简介-快速入门
JSP 简介 JSP 快速入门 <%@ page contentType="text/html;charset=UTF-8" language=&qu ...
- linux安装SVN并设置SVN钩子
linux安装SVN并设置SVN钩子 检查已安装版本 #检查是否安装了低版本的SVN rpm -qa subversion #卸载旧版本SVN yum rovesubversion 一.安装SVN y ...
- 各位Oracle DBA们,你们期待的在线实训环境终于来了
各位Oracle DBA,你们是否曾在学习.工作时遇到不得不上正式库测试的情况,如果没事发生那一切岁月静好,但若一不小心删了用户.删了表甚至删了库,可就是悲剧了--从做出开库测试这个决定起,胆战心惊就 ...
- 通过脚手架 npx 创建 react 项目
npx create-react-app create-react --template typescript 使用 ts 模板
- 关于 apt 的一些命令
apt update 用于 更新 包索引,包列表 apt install -y open-vm-tools-desktop fuse 安装 vm-tools 工具