题解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$ ......
Math teacher's homework 题解
preface 网上的题解看不懂,看代码看懂了 :) solution 考虑 \(\mathrm{x_i}\) 的倒数第 \(\mathrm{low_i - 1}\) 位到倒数第 \(\mathrm{1}\) 位可以乱选(选 \(\mathrm{0/1}\) 都满足 \(\mathrm{x_i \l ......
题解整理
CF1740A CF1740B CF1740D CF1711B CF1253B CF1080B CF1237A CF1743A CF1743C CF1743B CF1370B ......
YACS 2023年9月月赛 甲组 题解
题目链接1 题目链接2 题目链接3 榜单终于公布了,这应该是第二长的榜单公布吧。(最长的一次是去年八月,拖到九月开始后才公布) T1 是傻逼数据结构不说了吧,对于每个点枚举以他为角的 $k\times k$ 的四个正方形算一下点的数量,用 $cdq$ 或者扫描线都行。 看这个题目编号是 $81$,看 ......
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], ......
【codeforces】cf880div2 vp小结
碎碎念 多测要清空!清空从0开始循环!!!!!!!爆哭 不知道因为初始化和清空罚了多少次了呜呜呜呜呜 这次真的真的记得清空了,但是因为一直习惯下标从1开始所以导致for循环清空的时候a[0]没有清空 A和B简简单单的两个签,但是C的难度就突然升高,补题的时候发现1700的时候真的...犹豫了一下要不 ......
P9744 消除序列 题解
本题有多种解法,我这里先讲一个我的考场做法吧。 切入点 我们发现我们至多使用一次操作一,而剩下部分的 \(0\) 肯定是依靠操作二补全,操作三的作用只是用来填补操作一的空白的,所以我们发现我们对一个序列的操作一定是前一段用操作一和操作三,后一段用操作二。 思路1 一开始考虑暴力 \(O(n)\) 枚 ......
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\) 。 现在需要放若干个芯片和到棋盘上, ......
Codeforces Round 697 (Div. 3) A. Odd Divisor
给定一个正整数 \(n\) ,询问是否存在一个 \(> 1\) 的奇数因子。 在唯一分解定理下观察 \(n\) ,发现若存在除 \(2\) 以外的质因子,则 \(n\) 存在 \(> 1\) 的奇数因子。 换句话说 \(n\) 不是二次幂形式则存在 \(> 1\) 的奇数因子。 view #incl ......
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 ......
【题解】「KDOI-06-S」补题
「KDOI-06-S」 A.「KDOI-06-S」消除序列 赛时写了一个 \(O(nq)\) 的线性 DP,喜提 60 分。 注意到如果操作 1 被使用,则一定只会使用一次,而且在最优策略中一定是第一次使用操作 1。则我们可以通过以下方式进行操作,使序列满足条件: 首先执行 \(a_i\) 和 \( ......
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\) , ......
[COCI2015-2016#4] ENDOR 题解
[COCI2015-2016#4] ENDOR 题解 首先要发现一个很重要的性质,那就是两只变色龙碰撞后回头,等效于两只变色龙继续往前走,其中向右走的颜色不变,而向左走的要改变颜色。 那这样就有一种 \(O(n^2)\) 的做法:对于向右的变色龙,直接贡献答案;对于向左的变色龙,我们按照碰到的先后顺 ......
【题解】AtCoder-ARC167
AtCoder-ARC167A Toasts for Breakfast Party 一定不会有空盘,问题转化成 \(2m\) 个数,其中 \(2m-n\) 个是 \(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。 提交记录:Submission - AtCoder AtCod ......
CF1119F Niyaz and Small Degrees 题解
原题 翻译 首先 \(O(n^2 \log n)\) 的 dp 是 simple 的,我们设 \(dp_{i,0/1}\) 表示以 \(i\) 为根, \(i\) 到 \(fa_i\) 这条边删/不删的最小权值和。转移是一个非常 trick 的问题,只需要假设所有都选 \(dp_{i,0}\) ,然 ......
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 ......
Educational Codeforces Round 153 (Rated for Div. 2) A. Not a Substring
给一个长度为 \(n\) 的括号字符串 \(a\) 。你需要构造一个长度为 \(2n\) 的合法括号字符串 \(b\) ,且满足 \(a\) 不是 \(b\) 的子串。或者回答不可能。 显然若 \(a = ()\) ,则一定不可能构造出 \(b\) ,否则可以。 观察到合法括号穿串中, \(()() ......
Codeforces Round 635 (Div. 2) B. Kana and Dragon Quest game
你需要击败一只巨龙,他有 \(h\) 点血量,你可以使用以下两种攻击方式: 黑洞:使巨龙的血量变为 \(\lfloor \frac{h}{2} \rfloor + 10\) 。可以使用 \(n\) 次。 雷击:使巨龙的血量变为 \(h - 10\) 。可以使用 \(m\) 次/ 当巨龙的血量 \(h ......
P9745 「KDOI-06-S」树上异或 题解
P9745 「KDOI-06-S」树上异或 题解 \(x_i = 0\) 这题一看就不是很可做,先考虑部分分。 对于一条链的情况,我们可以枚举上一个断边的位置,然后转移。 一看数据范围,估计和值域有关,所以考虑 \(x_i = 1\) 的部分分,如果全部点权都是 1,那么一种方案只有 0 和 1 两 ......
[ARC167D] Good Permutation 题解
题意 对于一个长度为 \(N\) 的排列 \(Q\),定义其为好的,当且仅当 对于任意整数 \(i \in \left[1, N\right]\),在进行若干次操作 \(i \leftarrow Q_i\) 后可以得到 \(i = 1\)。 给定一个排列 \(P\),定义一次操作为交换两个数。定义 ......
Codeforces Round 633 (Div. 2) A. Filling Diamonds
给定一个正整数 \(n\) ,询问有多少种方式填充满图中 \(4n - 2\) 的图。 你可以使用的菱形:竖着摆放和横着摆放都是一种方案。 显然选择某个位置竖着摆放,其他所有地方只能横着摆放,这样的位置有 \(n\) 个。 具体图形见:https://codeforces.com/problemse ......
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 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 Round 636 (Div. 3) A. Candies
\(vv\) 有 \(n\) 个糖果,\(vv\) 记得这些糖果是按如下方式购买的: 第 \(i\) 天买了 \(2^{i - 1}x\) 个,总共买了 \(k\) 天,\(k > 1\) 。 但是 \(vv\) 忘了 \(x\) 是多少,询问任意一个满足条件的 \(x\) 。保证给出的 \(n\) ......
Testing Round 16 (Unrated) B. Square?
给定一个矩形,然后切成两个矩形。尺寸分别为 \(a \times b\) , \(c \times d\) 。你需要确定开始的矩形是否可能是个正方形。 假设初始矩形为正方形,则两个小矩形的长边是正方形的边长。不妨让 \(a \geq b, c \geq d\) 。只需判断 \(a = c, a = ......
UVA12046 题解
前言: 有些虚高,建议降蓝。感觉比 CF55D 要简单。 题目大意: 定义一个数为好数,满足以下要求: 每个数位都能整除原数。 每个数位都小于等于 \(6\)。 求长度为 \(n\) 的好数有多少个。 思路: 首先,\(0\) 整除任何数都没有意义,可以不枚举。其次,要满足条件二,所以每个数位可以只 ......
UVA1366 Martian Mining 题解
这个题可以用动态规划解决。 令\(sbe_{i,j}\) 为第 \(j\) 列 \(1\) 至 \(i\) 个格子 \(BE\) 矿总和,令\(snw_{i,j}\) 为第 \(i\) 行 \(1\) 至 \(j\) 个格子 \(NEW\) 矿总和。 \(dp_{i,j,0}\) 表示为以第(\(i ......
CodeForces 887E Little Brother
洛谷传送门 CF 传送门 根据初中数学知识,圆心在 \(AB\) 线段的中垂线上。 又因为给定圆与 \(AB\) 线段所在直线不交,所以圆心在中垂线的一端极远处完全包含这个给定圆,在另一端极远处与这个给定圆相离。而具体在哪一端只与圆心在 \(AB\) 的左侧还是右侧有关。 因此可以二分找到与给定圆外 ......
CF1873E Building an Aquarium 题解
这题看到第一眼就是二分。 单调性 二分最关键的东西是单调性在哪。单调性是如果高度越高,需要的水就越多,高度越矮,要用的水越少。 不难得出代码: check 函数: int check(int mid){ int sum=0; for(int i=1;i<=n;i++){ sum+=max(0ll,m ......