题解codeforces round 1805

题解 ABC267F【Exactly K Steps】

Robin 有一棵树,他有 $m$ 次询问,每次询问他给你 $u,k$,你需要输出树上的一个节点 $v$ 满足 $dist(u,v)=k$,或者报告无解。 $dist(u,v)$ 表示树上 $u$ 到 $v$ 的最短路径的边数。$n\leq 10^5$ ......
题解 Exactly Steps 267F ABC

Math teacher's homework 题解

preface 网上的题解看不懂,看代码看懂了 :) solution 考虑 \(\mathrm{x_i}\) 的倒数第 \(\mathrm{low_i - 1}\) 位到倒数第 \(\mathrm{1}\) 位可以乱选(选 \(\mathrm{0/1}\) 都满足 \(\mathrm{x_i \l ......
题解 homework teacher Math 39

题解整理

CF1740A CF1740B CF1740D CF1711B CF1253B CF1080B CF1237A CF1743A CF1743C CF1743B CF1370B ......
题解

YACS 2023年9月月赛 甲组 题解

题目链接1 题目链接2 题目链接3 榜单终于公布了,这应该是第二长的榜单公布吧。(最长的一次是去年八月,拖到九月开始后才公布) T1 是傻逼数据结构不说了吧,对于每个点枚举以他为角的 $k\times k$ 的四个正方形算一下点的数量,用 $cdq$ 或者扫描线都行。 看这个题目编号是 $81$,看 ......
甲组 题解 月月 YACS 2023

Educational Codeforces Round 154 (Rated for Div. 2) B. Two Binary Strings

给定两个长度相等的 \(01\) 字符串 \(a\) 和 \(b\) 。每个字符串都是以 \(0\) 开始以 \(1\) 结束。 在一步操作中,你可以选择任意一个字符串: 选择任意两个位置 \(l, r\) 满足 \(s_l = s_r\) ,然后让 \(\forall i \in [l, r], ......
Educational Codeforces Strings Binary Round

【codeforces】cf880div2 vp小结

碎碎念 多测要清空!清空从0开始循环!!!!!!!爆哭 不知道因为初始化和清空罚了多少次了呜呜呜呜呜 这次真的真的记得清空了,但是因为一直习惯下标从1开始所以导致for循环清空的时候a[0]没有清空 A和B简简单单的两个签,但是C的难度就突然升高,补题的时候发现1700的时候真的...犹豫了一下要不 ......
小结 codeforces div2 880 div

P9744 消除序列 题解

本题有多种解法,我这里先讲一个我的考场做法吧。 切入点 我们发现我们至多使用一次操作一,而剩下部分的 \(0\) 肯定是依靠操作二补全,操作三的作用只是用来填补操作一的空白的,所以我们发现我们对一个序列的操作一定是前一段用操作一和操作三,后一段用操作二。 思路1 一开始考虑暴力 \(O(n)\) 枚 ......
题解 序列 P9744 9744

Educational Codeforces Round 155 (Rated for Div. 2) B. Chips on the Board

给一个 \(n \times n\) 的棋盘,和两个大小为 \(n\) 的 \(a\) \(b\) 数组。\(a_i\) 代表第 \(i\) 列的权值,\(b_i\) 代表第 \(i\) 列的权值。坐标 \((i, j)\) 的权值为 \(a_i + b_j\) 。 现在需要放若干个芯片和到棋盘上, ......
Educational Codeforces Chips Board Round

Codeforces Round 697 (Div. 3) A. Odd Divisor

给定一个正整数 \(n\) ,询问是否存在一个 \(> 1\) 的奇数因子。 在唯一分解定理下观察 \(n\) ,发现若存在除 \(2\) 以外的质因子,则 \(n\) 存在 \(> 1\) 的奇数因子。 换句话说 \(n\) 不是二次幂形式则存在 \(> 1\) 的奇数因子。 view #incl ......
Codeforces Divisor Round 697 Div

CEIT 23练习编程题 题解

本文部分题目提供c/c++两种解法,顺便可以让你们知道c++在面对某些题时的优势 部分题目提供多种解法 日期格式化 C #include <stdio.h> int main(){ int m,d,y; scanf("%d-%d-%d",&m,&d,&y); printf("%04d-%02d-%0 ......
题解 CEIT

【题解】「KDOI-06-S」补题

「KDOI-06-S」 A.「KDOI-06-S」消除序列 赛时写了一个 \(O(nq)\) 的线性 DP,喜提 60 分。 注意到如果操作 1 被使用,则一定只会使用一次,而且在最优策略中一定是第一次使用操作 1。则我们可以通过以下方式进行操作,使序列满足条件: 首先执行 \(a_i\) 和 \( ......
题解 KDOI 06

Codeforces Round 895 (Div. 3) B. The Corridor or There and Back Again

你在一个向右延申的无限坐标轴上,且你初始在坐标 \(1\) 。有 \(n\) 个陷阱在坐标轴上,第 \(i\) 个陷阱坐标为 \(d_i\) ,且会在你踩上这个陷阱的 \(s_i\) 秒过后发动。这时候你不能进入坐标 \(d_i\) 或者走出坐标 \(d_i\) 。 你需要确定最远的 \(k\) , ......
Codeforces Corridor Again Round There

[COCI2015-2016#4] ENDOR 题解

[COCI2015-2016#4] ENDOR 题解 首先要发现一个很重要的性质,那就是两只变色龙碰撞后回头,等效于两只变色龙继续往前走,其中向右走的颜色不变,而向左走的要改变颜色。 那这样就有一种 \(O(n^2)\) 的做法:对于向右的变色龙,直接贡献答案;对于向左的变色龙,我们按照碰到的先后顺 ......
题解 ENDOR COCI 2015 2016

【题解】AtCoder-ARC167

AtCoder-ARC167A Toasts for Breakfast Party 一定不会有空盘,问题转化成 \(2m\) 个数,其中 \(2m-n\) 个是 \(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。 提交记录:Submission - AtCoder AtCod ......
题解 AtCoder-ARC AtCoder ARC 167

CF1119F Niyaz and Small Degrees 题解

原题 翻译 首先 \(O(n^2 \log n)\) 的 dp 是 simple 的,我们设 \(dp_{i,0/1}\) 表示以 \(i\) 为根, \(i\) 到 \(fa_i\) 这条边删/不删的最小权值和。转移是一个非常 trick 的问题,只需要假设所有都选 \(dp_{i,0}\) ,然 ......
题解 Degrees 1119F Niyaz Small

Codeforces Round 896 (Div. 2) A. Make It Zero

给一个大小为 \(n\) 的数组 \(a\) \((n \geq 2)\) 。你希望进过一些操作使得 \(\forall i, a_i = 0\) 。 在一步操作中,可以选择 \(1 \leq l \leq r \leq n\) 并且执行: \(s = \bigoplus_{i = l}^{r} a ......
Codeforces Round Make Zero 896

Educational Codeforces Round 153 (Rated for Div. 2) A. Not a Substring

给一个长度为 \(n\) 的括号字符串 \(a\) 。你需要构造一个长度为 \(2n\) 的合法括号字符串 \(b\) ,且满足 \(a\) 不是 \(b\) 的子串。或者回答不可能。 显然若 \(a = ()\) ,则一定不可能构造出 \(b\) ,否则可以。 观察到合法括号穿串中, \(()() ......
Educational Codeforces Substring Round Rated

Codeforces Round 635 (Div. 2) B. Kana and Dragon Quest game

你需要击败一只巨龙,他有 \(h\) 点血量,你可以使用以下两种攻击方式: 黑洞:使巨龙的血量变为 \(\lfloor \frac{h}{2} \rfloor + 10\) 。可以使用 \(n\) 次。 雷击:使巨龙的血量变为 \(h - 10\) 。可以使用 \(m\) 次/ 当巨龙的血量 \(h ......
Codeforces Dragon Round Quest Kana

P9745 「KDOI-06-S」树上异或 题解

P9745 「KDOI-06-S」树上异或 题解 \(x_i = 0\) 这题一看就不是很可做,先考虑部分分。 对于一条链的情况,我们可以枚举上一个断边的位置,然后转移。 一看数据范围,估计和值域有关,所以考虑 \(x_i = 1\) 的部分分,如果全部点权都是 1,那么一种方案只有 0 和 1 两 ......
题解 P9745 9745 KDOI 06

[ARC167D] Good Permutation 题解

题意 对于一个长度为 \(N\) 的排列 \(Q\),定义其为好的,当且仅当 对于任意整数 \(i \in \left[1, N\right]\),在进行若干次操作 \(i \leftarrow Q_i\) 后可以得到 \(i = 1\)。 给定一个排列 \(P\),定义一次操作为交换两个数。定义 ......
题解 Permutation 167D Good ARC

Codeforces Round 633 (Div. 2) A. Filling Diamonds

给定一个正整数 \(n\) ,询问有多少种方式填充满图中 \(4n - 2\) 的图。 你可以使用的菱形:竖着摆放和横着摆放都是一种方案。 显然选择某个位置竖着摆放,其他所有地方只能横着摆放,这样的位置有 \(n\) 个。 具体图形见:https://codeforces.com/problemse ......
Codeforces Diamonds Filling Round 633

Codeforces Round 637 (Div. 2) - Thanks, Ivan Belonogov! A. Nastya and Rice

纳斯塔亚掉了 \(n\) 个谷物,每个谷物的重量范围在 \([a - b, a + b]\) 。她猜测谷物的总重量范围在 \([c - d, c + d]\) 。询问她的猜测是否正确。 显然,若 \([n(a-b), n(a+b)]\) 和 \([c - d, c + d]\) 有交,则她的猜测正确 ......
Codeforces Belonogov Nastya Thanks Round

Codeforces Round 641 (Div. 2) A. Orac and Factors

定义 \(f(x)\) 为 \(x\) 的 \(> 1\) 的最小因子。 给一个正整数 \(n\ (n \geq 2)\) 。对它执行 \(k\) 次操作:每次让 \(n = n + f(n)\) 。询问 \(k\) 次操作后 \(n\) 的值。 在唯一分解定理下观察 \(n\) :偶数的最小非 \ ......
Codeforces Factors Round Orac 641

Codeforces Round 636 (Div. 3) A. Candies

\(vv\) 有 \(n\) 个糖果,\(vv\) 记得这些糖果是按如下方式购买的: 第 \(i\) 天买了 \(2^{i - 1}x\) 个,总共买了 \(k\) 天,\(k > 1\) 。 但是 \(vv\) 忘了 \(x\) 是多少,询问任意一个满足条件的 \(x\) 。保证给出的 \(n\) ......
Codeforces Candies Round 636 Div

Testing Round 16 (Unrated) B. Square?

给定一个矩形,然后切成两个矩形。尺寸分别为 \(a \times b\) , \(c \times d\) 。你需要确定开始的矩形是否可能是个正方形。 假设初始矩形为正方形,则两个小矩形的长边是正方形的边长。不妨让 \(a \geq b, c \geq d\) 。只需判断 \(a = c, a = ......
Testing Unrated Square Round 16

UVA12046 题解

前言: 有些虚高,建议降蓝。感觉比 CF55D 要简单。 题目大意: 定义一个数为好数,满足以下要求: 每个数位都能整除原数。 每个数位都小于等于 \(6\)。 求长度为 \(n\) 的好数有多少个。 思路: 首先,\(0\) 整除任何数都没有意义,可以不枚举。其次,要满足条件二,所以每个数位可以只 ......
题解 12046 UVA

UVA1366 Martian Mining 题解

这个题可以用动态规划解决。 令\(sbe_{i,j}\) 为第 \(j\) 列 \(1\) 至 \(i\) 个格子 \(BE\) 矿总和,令\(snw_{i,j}\) 为第 \(i\) 行 \(1\) 至 \(j\) 个格子 \(NEW\) 矿总和。 \(dp_{i,j,0}\) 表示为以第(\(i ......
题解 Martian Mining 1366 UVA

CodeForces 887E Little Brother

洛谷传送门 CF 传送门 根据初中数学知识,圆心在 \(AB\) 线段的中垂线上。 又因为给定圆与 \(AB\) 线段所在直线不交,所以圆心在中垂线的一端极远处完全包含这个给定圆,在另一端极远处与这个给定圆相离。而具体在哪一端只与圆心在 \(AB\) 的左侧还是右侧有关。 因此可以二分找到与给定圆外 ......
CodeForces Brother Little 887E 887

CF1873E Building an Aquarium 题解

这题看到第一眼就是二分。 单调性 二分最关键的东西是单调性在哪。单调性是如果高度越高,需要的水就越多,高度越矮,要用的水越少。 不难得出代码: check 函数: int check(int mid){ int sum=0; for(int i=1;i<=n;i++){ sum+=max(0ll,m ......
题解 Building Aquarium 1873E 1873

P8854 [POI2002] 超级马 题解

这题其实就是搜索,不知道怎么评绿的。 题意 有一个大小无限的棋盘,有一只马,给定 \(n\) 种跳法,判断马是否能跳到棋盘所有点。 题解 搜索马是否可以跳到他上下左右的四个点,因为只要能跳到这四个点,就可以以这四个点为基础跳到其他所有的点。 这里有一些细节需要处理: 因为每次操作能是横纵坐标加减 1 ......
题解 P8854 8854 2002 POI