题解codeforces round 879
Codeforces Round 857 (Div. 2) B. Settlement of Guinea Pigs
你非常喜欢豚鼠。每个笼子可以住两只豚鼠,且你不想把每个笼子放入不同性别的豚鼠。豚鼠只有两种性别。假设你买到豚鼠时并不知道性别,只有医生能够分辨。 接下来的 \(n\) 天方案中,若第 \(i\) 天为 \(1\) ,你买入一只豚鼠;若为 \(2\) ,你请医生分辨你的豚鼠性别。 给出方案,你最少需要 ......
Nebius Welcome Round (Div. 1 + Div. 2) B. Vaccination
你管理一个疫苗接种站,将会有 \(n\) 个人前来接种疫苗。第 \(i\) 个到来的人时间为 \(t_i\) ,已知每个人的等待时间不会超过 \(w\) 分钟。 疫苗存放在特质冰箱中,一袋疫苗有 \(k\) 支,当一袋疫苗在 \(x\) 时刻打开时,它的有效时间为 \(d\) 。 现在询问最少需要打 ......
Educational Codeforces Round 145 (Rated for Div. 2) B. Points on Plane
给一个二维平面,你需要在上面放 \(n\) 个芯片。将一个芯片放在 \((x, y)\) 的代价为 \(|x| + |y|\) 。放 \(n\) 个代价的代价为,所有芯片中耗费的最大代价。并且你需要保证任意两个芯片之间的距离严格 \(> 1\) 。 现在给出 \(n\) 给芯片,询问放 \(n\) ......
CSP-J2023 题解
T1 code #include <bits/stdc++.h> using namespace std; int n,ans; signed main() { ios::sync_with_stdio(0);cin.tie(0); cin>>n; for(int i = n; i; i -= (i ......
Codeforces Round 875 (Div. 2) C. Copil Copac Draws Trees( DFS )
Codeforces Round 875 (Div. 2) C. Copil Copac Draws Trees 思路: 在输入树的边的同时记录他们的输入顺序 从 1 开始跑 DFS ,遇到未连上的边时 , 有两种情况(用 q 表示当前点的顺序序号) 1.边的顺序在这个点连上之前,那么 DFS 的 ......
Educational Codeforces Round 149 (Rated for Div. 2)
这场D被切穿了。 A题 答案为 x 或者 x-1 1 B题 答案就是最长的连续一段的长度+1 证明的话大概可以将它看成是几段连续上升和下降的段,然后在峰谷、峰顶分别填上最小、最大,剩下的就依次递增或递减就行。 C题 将一段连续的0/1视作一个块,那么我们最小化这个块的数量就行。 D题如果猜到如果有解 ......
KDOI-06-S 模拟题解
目录P9744 「KDOI-06-S」消除序列P9745 「KDOI-06-S」树上异或 P9744 「KDOI-06-S」消除序列 发现这是一道贪心题,第一种操作只会使用一次,也就是在最开始的时候进行清零操作,从而使得整个前缀都变成0。考虑两种情况,一种是前缀全部为1,另一种为0,分别考虑转移即可 ......
【0xGame 2023】题解week1
前段时间在忙各种事情,这两天有学弟学妹要入re,想带着他们打个新生赛,我就打算把这个比赛week1的题先出一遍,后面的之后再说。 这次0xGame的re题目名称都很有意思,开始做吧。 数字筑基 解法 直接搜索字符串 代码金丹 解法 就比第一题多个判断过程,不过flag仍然明文 网络元婴 解法 进去后 ......
Codeforces Round 863 (Div. 3) B. Conveyor Belts
给一个 \(n \times n\) 的矩阵, \(n\) 是偶数。将矩阵按圈分割,同一圈的位置可以不消耗代价移动,可以消耗一个代价移动到相邻圈。 给出 \(n, x_1, y_1, x_2, y_2\) ,询问 \((x_1, y_1)\) 移动到 \((x_2, y_2)\) 的代价最小是多少。 ......
Codeforces Round 865 (Div. 2) B. Grid Reconstruction
给一个 \(2 \times n\) 的网格,且 \(n\) 是偶数。你需要将 \(1 \sim 2 \times n\) 填入这个网格。 一条路径是从 \((1, 1)\) 开始,每次只能向右或向下,到 \((2, n)\) 结束时,所经过的位置。按经过点的顺序标号,一两条路径的代价是 \(cos ......
Codeforces Round 902 (Div. 2, based on COMPFEST 15 - Final Round)
\(D. Effects of Anti Pimples\) 对每个数字能到达的所有位置先预处理最大值,那么就代表选择这个数字之后真实的贡献,那么对这样的预处理值,最小值显然只有一种做法,为 \(2^0\) ,第二小的值应该可以与最小值一起选择,所以答案为 \(2^1\) ,以此类推之后,每个值乘上 ......
Codeforces 选做
CF878E Numbers on the blackboard 好题。看到这个东西考虑打表一下最后每个点系数,需要一定的眼力才能看出相当于一个除了只有第一个是 1,后面的点每次最多比前面一个乘二的序列。知道结论证明就可以简单归纳了。 然后考虑答案的形态,发现如果我们称每次乘二的一段为连续段,那么对 ......
ABC209E Shiritori 题解
ABC209E Shiritori 题解 原题:洛谷AT_abc209_e 分析 博弈,可重复选,一眼图论,将每个单词的前三个字符向后三个字符连边,并用后三个字符代表这个单词。 看一下样例。 5 eaaaabaa 1 2 eaaaacaa 1 3 daaaaaaa 4 5 eaaaadaa 1 4 ......
Codeforces Round 872 (Div. 2) B. LuoTianyi and the Table
给一个 \(n \times m\) 的矩阵和 \(n \times m\) 个数,你需要把这些数填入矩阵。保证 \[\sum_{i=1}^n \sum_{j=1}^m \left ( \mathop{max}\limits_{1 \leq x \leq i, 1 \leq y \leq j} a_ ......
Codeforces Round 871 (Div. 4) D. Gold Rush
给一个堆 \(n\) 个石子,如果可以分裂为整数,它将分裂为 \(\frac{1}{3} n\) 和 \(\frac{2}{3} n\) 的两堆石子。并且新石堆会继续分裂。 询问过程中是否出现过大小为 \(m\) 的石堆。 显然记忆化 \(dfs\) 即可。 记忆数组一般开全局。容易观察到值域很大, ......
Codeforces Round 875 (Div. 2) B. Array merging
给定两个长为 \(n\) 的数组 \(a\) 和 \(b\) 。你需要将 \(a\) \(b\) 归并成一个数组 \(c\) 。询问所有归并方法中,连续数相同的子段最长为多少。\(1 \leq a_i, b_i \leq 2n\) 。 显然归并在 \(a\) 可以任选一段 \([l_1, r_1]\ ......
T207127 ++ 题解
原题 ++ 题目背景 题目描述 给定一个 \(n\) 个节点(编号为 \(1\) 到 \(n\))和 \(n-1\) 条边构成的无向连通图。 构造一张新图: 新图的点集与原图相同 在新图中 \(u,v\) 之间有无向边 是 在原图中 \(dis(u,v) \ge k\) 的充分必要条件 (\(k\) ......
Codeforces Round 879 (Div. 2) B. Maximum Strength
定义正整数 \(C = \overline{c_1c_2 \cdots c_k} = c_1 \cdot 10^{k-1} + c_2 \cdot 10^{k - 2} + \cdots + c_1\) 。 假设有两个正整数 \(X = \overline{x_1x_2 \cdots x_n}, Y ......
Game Bundles 题解
题目链接 Game Bundles 分析 很神奇的一道题目 先想想如何计算一个集合和为60的子集个数 可以想到通过 \(DP\) 求解: 记 \(f[i][j]\) 为前 \(i\) 个数字,和为 \(j\) 的子集个数 则 \(f[i][j]+=f[i-1][j-a[i]]\) \(f[i][a[ ......
P9745 「KDOI-06-S」树上异或 题解
原题 挺好的树形 dp ,正好 dp 不太熟练,练习一下 赛时只想到了暴力和\(X \leq 7\) 的链的部分分,过于 naive 不说了 先考虑链的情况,既然是二进制考虑按位拆分。设 \(g_{i,j,0/1}\) 表示以 \(i\) 为根,从 \(i\) 点连通块的疑惑和第 \(j\) 位为 ......
力扣题解(持续更新)
双指针、二分法、数学、分治、摩尔投票、Hash存储、队列、栈、博弈论、动态规划、模拟、排序、贪心、滑动窗口、单调栈、深度优先搜索、Mirrors遍历、Manacher、回溯剪枝 ......
[AGC002F] Leftmost Ball 题解
Description 给你 \(n\) 种颜色的球,每种颜色的球有 \(k\) 个,把这 \(n\times k\) 个球排成一排,把每一种颜色的最左边出现的球涂成白色(初始球不包含白色),求有多少种不同的颜色序列,答案对 \(10^9+7\) 取模。 \(1\leq n, k\leq 2000\ ......
Educational Codeforces Round 149 (Rated for Div. 2) C. Best Binary String
给一个字符串 \(s\) 包含 \(0, 1, ?\) 。 定义一个 \(01\) 串 \(s\) 的 \(cost\) 为:选择 \(s\) 的任意一个子段 \([l, r]\) 并 \(reverse\) 。将 \(s\) 变为一个非降序序列时的 \(reverse\) 最小次数即 \(cost ......
P5474 题解
解题思路 若车 \(A\) 限制车 \(B\) 离开,则 \(A\) 先于 \(B\) 离开,所有的限制条件构成了一个拓扑结构。 若 \(A\) 限制 \(B\),\(A\) 向 \(B\) 连边,最终可以使用拓扑排序求解。 而查找每个车辆的约束车辆时间复杂度为 \(\mathcal{O}(n\ti ......
Codeforces Round 901 (Div. 2)
Codeforces Round 901 (Div. 2) 比赛链接 "考古"啦!之前没有做,现在补上 A. Jellyfish and Undertale 题目链接 思路: 按理说用模拟应该也是可以做到的,但是我应该没有写好,因为我们要找的是最大时间,所以我们每次加上的是min(a-1,x[i]) ......
P3119 [USACO15JAN] Grass Cownoisseur G 题解
分析 大概是强连通分量里面最水的一道紫题,不过细节挺多的,做题的时候给蒟蒻震惊到了。 题目要求是从 \(1\) 走到某个点,然后再走回 \(1\) 号点,中途可逆行一次,问最多能经过几个点。 有一个明显的思路是存两个图,一个正图一个反图,正图是为了求 \(1\) 到各个点的距离,反图是为了求各个点到 ......
LuoguCF362B Petya and Staircases 题解
分析 简单排序题。 首先 Petya 可以通过跨过一个台阶和两个台阶保证不经过脏台阶,但是不可以通过跨过三个台阶来保证不经过脏台阶,所以只要看有没有连续的三个脏台阶即可。 同时,如果第一个台阶和最后一个台阶至少一个是脏台阶那么就不可以达成。 Accepted Code /*Code By Manip ......
ARC166B题解
发现还没有和我一样的做法。 觉得 B 比 A 好想的多。 令 \(A_i\) 为 \(a_i\) 变成 \(A\) 的倍数最少次数,\(B_i,C_i,AB_i,AC_i,BC_i,ABC_i\) 同理。 那么我们就有 \(A_i=(A-A\bmod {a_i})\bmod A\),其他同理。 这一 ......
CF424C的题解
简单题。CF 评分才 *1600。 可以直接先把 \(Q\) 拆成两部分。 \[\begin{aligned} \large a&=\oplus^n_{i=1}p_i\\ \large b&=\oplus^n_{i=1}\oplus^n_{j=1}\ \ \ (i\bmod j)\\ \large ......