rounding maximum 1857b cf
Codeforces Round 699 & 772题解
Codeforces Round 699 & 772题解 今天手感确实不错,看来合理的训练配合合理的休息是很重要的。前些日子的努力没白费。不过,怎么说呢,现在的形势不是我把算法题和基础知识做好的就行了,该从系统的角度去作为一个ld去思考问题了,感觉自己还是有点欠缺的,不过我也在积极努力的学习中,希望 ......
Codeforces Round 901 (Div
C. Jellyfish and Green Apple 题解 显然\(n \% m =0\),答案一定为\(0\) 如果\(n > m\),我们显然可以将\(n / m\)的苹果分给每个人,然后再处理$n % m $ 如果\(n < m\),我们一定会将所有苹果一直对半切直到\(n > m\),所 ......
CF补题round1
目录luogu P4233 射命丸文的笔记CF1498E Two Houses luogu P4233 射命丸文的笔记 link 如果一个竞赛图含有哈密顿回路,则称这张竞赛图为值得记录的。 从所有含有 n 个顶点(顶点互不相同)的,值得记录的竞赛图中等概率随机选取一个。 求选取的竞赛图中哈密顿回路数 ......
Codeforces Round 895 (Div. 3)
A题简单的模拟计算,注意上取整的实现。 B题计算每个房间对应的每个最迟时间点,在这些时间点最取最小值,保证能安全通过所有房间。 D题拿到手就可以发现是贪心,但发现两部分会有冲突,也就是重复计算的部分。故提前找到两个数的lcm然后不计算lcm的倍数,为其他参与计算的数安排剩余数种的最大值和最小值,最后 ......
CF906C Party
CF906C Party 洛谷:CF906C Party Codeforces:CF906C Party Problem 有 \(n\) 个人,给定他们的初始认识情况,每次操作可以选择一个人,让他当前认识的所有的人都相互认识。 问至少操作几次使得所有人都相互认识,并给出任意合法且次数最少的操作方案。 ......
CF1874C Jellyfish and EVA 题解
题意 给定一个有向无环图,对于任意一条边 \((u_i, v_i)\),有 \(u_i < v_i\)。 定义一次从节点 \(u\) 开始的移动为如下过程: \(\tt{Alice}\) 选择从 \(u\) 出发的且未被删除的一条边。 \(\tt{Bob}\) 在从 \(u\) 出发的且未被删除的边 ......
Codeforces Round 811 (Div. 3)
A. Everyone Loves to Sleep #include<bits/stdc++.h> using namespace std; void solve() { int n, h, m, t; cin >> n >> h >> m; t = h * 60 + m; vector<int> ......
「题解」Codeforces Round 895 (Div. 3)
A. Two Vessels Problem 题目 Sol & Code 签到题 #include <bits/stdc++.h> typedef long long ll; int min(int a, int b) { return a < b ? a : b; } int max(int a, ......
题解-CF402D Upgrading Array
题意 已知 \(m\) 个坏素数 \(b_i\),定义一个数 \(x\) 的分值 \(f(x)=f(\frac xp)+k\),其中 \(p\) 为 \(x\) 的最小质因数,如果 \(p\) 为坏素数则 \(k=-1\),否则 \(k=1\),初始 \(f(1)=0\),一个数组的分值为其中所有数 ......
Codeforces Round 901 (Div. 2)
Codeforces Round 901 (Div. 2) A - Jellyfish and Undertale 解题思路: 卡在最后秒放。 若\(x_i > (a - 1)\):那么该\(x_i\)的贡献为\(a - 1\)。 否则,该\(x_i\)的贡献为\(x_i\)。 代码: #inclu ......
CF1873F Money Trees
思路 要求最长长度,想到可以二分答案。 那么现在需要考虑如何快速验证答案是否正确。 可以 \(O(n)\) 枚举区间左端点,因为有了长度,所以可以直接获得右端点的值,直接验证右端点是否合法。 因为要求区间的每个数都是右边的数的倍数,所以可以提前预处理每个点最远的满足这个条件的右端点,直接判断合不合法 ......
CF1873G ABBC or BACB
思路 首先发现,无论是 AB 变 BC,还是 BA 变 CB,最重要的都是 A,因为 B 的数量不会变化,C 既不是变化所需要的,数量还会变多,只有 A 是需要的并且数量还会变少。 首先思考 AB 变 BC 的情况,什么情况下可以继续变化呢?很显然 AB 前还有 A就可以继续变化,而后面因为 C的出 ......
CF1875B Jellyfish and Game
思路 题意大概是两人都有一组数,奇数轮,第一个人可以选择和第二个人交换一个数字也可以不换,偶数轮,第二个人可以选择和第一个人交换一个数字也可以不换。 首先可以猜测,我们每次都应该选择交换对方的最大值和自己的最小值,如果自己的最小值都比对方大的话就不交换。应该比较好想,这里感性证明一下。 如果用的不是 ......
CF1875D Jellyfish and Mex
思路 看到 \(n\) 的范围只有 \(5000\),并且 \(\sum n\) 的范围也是 \(5000\),所以可以考虑 \(n^2\) 的做法。 每次操作肯定都是一次性删完某个数字,如果删除某个数字删一半又去删别的数字,答案肯定会变大。 所以我们可以考虑统计所有数字的数量,记为 \(num_i ......
CF1875C Jellyfish and Green Apple
思路 首先我们可以考虑把能分的都先分了,再选择去切剩下的苹果。 那么我们只需要考虑苹果数量少于人数的情况,每个人能分的苹果都必然少于目前的单个苹果,所以每个苹果都必须切一刀,那么答案数就会增加当前的数量,再把能分的都分了,重复这一过程,直到分完为止。这样去切一定是最优的。 那么,什么时候无解呢? 因 ......
题解 CF1875D【Jellyfish and Mex】
显然,除非 \(\operatorname{mex}a=0\),否则不会删除 \(>\operatorname{mex}a\) 的数。而 \(\operatorname{mex}a=0\) 时不对答案产生贡献,因此任意时刻我们都可以忽略 \(a\) 中 \(>\operatorname{mex}a\ ......
Codeforces Round 653 (Div. 3)
A*800: 给定 x,y,n。 找出k%x==y && k<=n。 让 t=(n-y)/x, 答案就是t*x+y B*900: 如果说n有除了2,3以外的质数,答案就是-1 让c2=2出了多少次, c3情况相同 如果c2>c3,答案也是-1因为不可能移除掉那些2 其他情况:答案就是c3+(c3-c ......
[CF1654F] Minimal String Xoration
Minimal String Xoration 有点智慧但不是特别智慧反正是我达不到的智慧。 打表可以看出长度为 \(2^x\) 的 \(i\oplus k\) 出现次数为 \(2^{n-k}\)。 进一步发现,设 \(f(k,x)\) 当前选取 k 时,数列前 \(2^k\) 的下标。 则 \(f ......
Educational Codeforces Round 155 (Rated for Div
B. Chips on the Board 题解:贪心 显然我们可以把题意转化为:对于任意一个\((i,j)\),我们可以花费\(a_{i,j}\)的代价占据第\(i\)行和第\(j\)列,求占据所有格子的最小代价 考虑两种情况: 在每一行选一个格子 在每一列选一个格子 贪心选即可 int n, a ......
CF1575I Illusions of the Desert
prologue 还是太菜了,这个 154 行的树剖20min才敲完。 analysis 首先,处理这个给到我们的这个式子。 \[\max(\mid a _ u + a _ v \mid, \mid a _ u - a _ v \mid) \]我们可以分类讨论: \(a > 0, b > 0\): ......
Codeforces Round 898 (Div. 4)
由于题目补完才来写总结,导致前面的有的题目都需要重新再看一遍,只好当作复习了。 但考虑到趁热打铁,先看H. H题:从小白视角来看乍一看是博弈论,仔细思考以后发现是图论。本题给的是基环树,意识到这一点很重要,这个条件是让本题不是很复杂的关键。n个点n条边且没有重边保证这个联通图中只有一个环。由于瓦能够 ......
CF1148G
冒个泡(? rainbow_sjy 老师做法. gcd > 1 无论是 fair 还是 antifair 都无法给出一个很好的限制, 这启发我们建立补图, 即化为 gcd = 1, 此时两种判定分别是: 选出大小为 \(k\) 的独立集 和 选出大小为 \(k\) 且每个点所在联通块 \(\ge 2 ......
Codeforces Round 900 (Div. 3)
目录写在前面ABCDEFG写在最后 写在前面 比赛地址:https://codeforces.com/contest/1878。 前天晚上他妈睡不着觉又不想看漫画打游戏于是到阳台上开把 div3 放松心情。 40min 过了 5 题把剩下两题都口了感觉没意思了于是睡觉。 太菜了还是,现在是 div3 ......
【题解】CF1110D Jongmah(DP)
【题解】CF1110D Jongmah 代码很短,但是思路我怎么也想不到的神仙 DP。 题意概述 你在玩一个叫做 Jongmah 的游戏,你手上有 \(n\) 个麻将,每个麻将上有一个在 \(1\) 到 \(m\) 范围内的整数 \(a_i\)。 为了赢得游戏,你需要将这些麻将排列成一些三元组,每个 ......
Educational Codeforces Round 122 (Rated for Div. 2)
A. Div. 7 #include<bits/stdc++.h> using namespace std; void solve(){ int n , a , b , c ; cin >> n; c = n % 10 , n /= 10; b = n % 10 , n /= 10; a = n % ......
CF38F 题解
blog。严重怀疑这题放到 2023 年至少 *2000,评绿合情合理。 首先是博弈论。然后数据范围很小。直接暴力 DP 啪的一下上去了,很快啊! 这就抽象起来了。另一篇题解说不能暴力转移,但是你先预处理出来 \(num(s)\),然后直接记忆化搜索,暴力枚举每一次操作的字符,这不就做完了吗。 具体 ......
CF961E Tufurama 题解
CF961E Tufurama 题解 二维数点做法 题意 给定长度为 \(n\) 的序列 \(a\),统计二元组 \((i,j)\) 的个数,使得该二元组满足 \(1 \leq i < j \leq n, a_i \geq j, a_j \geq i\)。\(n\) 在 \(2 \times 10^ ......
[题解] CF1003E - Tree Constructing
CF1003E - Tree Constructing 题目传送门 知识点:贪心 题意 给定 \(n\) 个顶点,问是否能够构造出一棵直径为 \(d\) 的树,且每个顶点的度数最多为 \(k\) 。 思路 我们要构造出一棵树,使得其直径长度一定为 \(d\) ,那么我们可以先选择 \(d + 1\) ......
[CF762D] Maximum path 题解
[CF762D] Maximum path 题解 想法 首先考虑问题的弱化版,如果不能往左走,能取到的最大值是多少。 这个问题可以用一个显然的 DP 解决,\(f_{i,j}\) 表示走到第 \(i\) 列,第 \(j\) 行,并且不会再访问这一列其它的方格,能取到的最大值。 转移可以从三个方向考虑 ......
[CF1882D 题解]
对于一颗子树,我们一定是先将其根节点所有儿子所在的子树变成相同,然后再将这颗子树变成相同。 我们设 \(f_i\) 表示第 \(i\) 个节点的父亲节点,\(siz_i\) 表示第 \(i\) 个节点的子树大小。 我们需要求 \(\displaystyle\sum_{i=1}^{n}(a_i\opl ......