rounding maximum 1857b cf
CF513G3 Inversions problem
CF513G3 Inversions problem 更好的阅读体验 推式子题。 task 1 直接爆搜,统计每种结果的答案,最后加在一起除以总方案数。 task 2 数据范围变大,显然不能记录整个数组的状态,考虑拆位算贡献。设 \(f_{i,j,k}\) 表示交换了 \(k\) 步,\((i,j) ......
Codeforces Round 882 (Div. 2) B. Hamon Odyssey
给一个长为 \(n\) 的数组 \(a_1, a_2, \cdots, a_n\) 。定义 \(f(l, r) = \&_{i=l}^{r} a_i\) 。 你需要对 \(a\) 进行分段,使得各段的 \(f(l, r)\) 之和最小。在各段 \(f(l, r)\) 之和最小的情况下,尽可能分出更多 ......
CF557D D. Vitaly and Cycle
小清新分类讨论题 首先不难发现这题加边的上界就是\(3\),并且只有当图中一条边没有时才会取得,方案数就是\(C_n^3\) 而一条边不加的情况也很容易,可以先跑个染色看下有没有奇环,如果有的话就直接输出即可 而加两条边的情况也比较简单,当图中都是孤立边和孤立点时(即所有点度数均\(\le 1\)) ......
CF1873B题解
这题其实可以数学方法差小积大解决。 差越小积越大,那肯定是让最小的数加一啦。将所有数的积除以最小值再乘上最小值加一。 #include<bits/stdc++.h> using namespace std; signed main(){ int T; cin>>T; while(T--){ long ......
CF1868C Travel Plan 题解
原题 翻译 发现所有长度相同的简单路径的权值可能情况相同,且最长的简单路径长度为 \(O(\log n)\) 级别,考虑维护所有长度的简单路径在一棵树上出现的次数,每种简单路径的权值在所有树上出现的次数,相乘即使答案。 我们考虑长度为 \(x\) 的路径对答案的贡献,考虑枚举这条路径的贡献 \(k\ ......
【前缀和优化 dp】CF1542E1 Abnormal Permutation Pairs (easy version) 题解
CF1542E1 首先时间复杂度肯定是 \(\mathcal{O}(n^3)\) 的。 容易想到先枚举最长公共前缀,然后枚举 \(p_{len+1}\) 和 \(q_{len+1}\),再枚举逆序对数进行统计。 令 \(f_{i,j}\) 表示有 \(j\) 个逆序对的 \(i\) 阶排列的个数。 ......
【前缀和优化 dp】CF1542E2 Abnormal Permutation Pairs (hard version) 题解
CF1542E2 首先时间复杂度肯定是 \(\mathcal{O}(n^3)\) 的。 容易想到先枚举最长公共前缀,然后枚举 \(p_{len+1}\) 和 \(q_{len+1}\),再枚举逆序对数进行统计。 令 \(f_{i,j}\) 表示有 \(j\) 个逆序对的 \(i\) 阶排列的个数。 ......
【树上背包】CF1856E1 PermuTree (easy version) 题解
CF1856E1 发现题目的要求只需要相对的大小关系,考虑一个子树时,不妨令子树内部编号连续。类似于一个 dp,这样也可以更好地将信息由儿子转移到父亲。 设 \(u\) 的孩子为 \(v_1,v_2,\dots,v_k\)。由于每棵子树内的编号是连续的,令以 \(v_i\) 为根的子树的编号为 \( ......
Educational Codeforces Round 152 (Rated for Div. 2) B. Monsters
有 \(n\) 个怪物,第 \(i\) 个怪物的血量为 \(a_i\) 。英雄一次攻击可以造成 \(k\) 点伤害,但只会攻击当前生命值最高的怪物。若有多个最高血量的怪物,则选择编号最小的怪物攻击。当怪物的血量 \(\leq 0\) 时则被消灭。 输出一个排列,表示怪物被消灭的编号顺序。 容易想到, ......
Codeforces Round 888 (Div. 3) C. Tiles Comeback
有 \(n\) 个瓷砖和一个正整数 \(k\) ,第 \(i\) 个瓷砖染色为 \(c_i\) 。你一开始在第 \(1\) 块瓷砖上,可以向右跳到任意一个位置的瓷砖。你可以得到一个长为 \(p\) 的路径,长度代表你曾经站过的瓷砖。 你需要确定是否存在一条长度为 \(p\) 的路径满足以下条件: 路 ......
Codeforces Round 888 (Div. 3) C. Tiles Comeback
有 \(n\) 块瓷砖和一个正整数 \(k\) ,第 \(i\) 块瓷砖染色为 \(c_i\) 。一开始站在第 \(1\) 块瓷砖往,然后可以开始往右跳吗,到第 \(n\) 块瓷砖停止。你可以得到的路径长度 \(p\) 为你从 \(1\) 到 \(n\) 踩过瓷砖的数量。 你需要确定是否存在一条长度 ......
Codeforces Round 893 (Div. 2) C. Yet Another Permutation Problem
有一个 \(gcd\) 游戏,按以下步骤进行: 选择一个 \(n\) 的排列 \(p_1, p_2, \cdots, p_n\) 。 对于每个 \(i\) ,\(d_i = gcd(p_i, p_{i \% n + 1})\) 排列 \(p\) 的 \(score\) 为数组 \([d_1, d_2 ......
[题解] CF1790E - XOR Tree
CF1790E - XOR Tree 题意 给定一颗无根树,在可以改变任意一个点的点权操作基础上,让树上任意简单路径的异或和不为 \(0\) ,问最少需要多少次操作。 思路 假设某个点为根,设 \(pre_x\) 为 \(x\) 点到根的树上前缀异或和, \(a_x\) 为 \(x\) 的点权,则 ......
Codeforces Round 892 (Div. 2) B. Olya and Game with Arrays
一系列 \(n\) 个数组,第 \(i\) 个数组的大小 \(m_i \geq 2\) 。第 \(i\) 个数组为 \(a_{m_1}, a_{m_2}, \cdots, a_{m_i}\) 。 对于每个数组,你可以移动最多一个元素到另一个数组。 一系列 \(n\) 个数组的 \(beauty\) ......
[CF1168C] And Reachability
And Reachability 题面翻译 题目描述 Toad Pimple 有一个整数数组 \(a_1,\dots,a_n\)。 当 \(x < y\) 且存在 \(x = p_1 < \dots < p_k = y\) 的数列 \(p\) 满足 \(a_{p_i} \& a_{p_{i+1}} ......
Codeforces Round #870 (Div. 2) A. Trust Nobody
题解 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <algorithm> #include <iostream> #include <stack> #include <bitset> ......
[题解]CF514D R2D2 and Droid Army
思路 首先,可以转化题意,找到一个极长的区间 \([l,r]\) 使得(其中 \(mx_i\) 表示 \([l,r]\) 区间中属性 \(i\) 的最大值): \[\sum_{i = 1}^{m}mx_i \leq k \]显然对于这个东西当 \(l,r\) 发生移动时,是极其好维护的,所以想到双指 ......
CF484D Kindergarten
看着没思路就推性质呗。 如果一段数不是严格单调就可以弄成两半使得差的和至少不减小。具体方法如下: 最大值与最小值有一个不在两端。直接将不存在最大值与最小值的一段割掉。因为一段的值为非负数所以差的和不会减少。 最大值与最小值均在两端。从前往后或者从后往前找到第一个不满足单调性的位置割开,最坏情况下差的 ......
四舍五入的数字 round(列名,小数点位数)
select sal as '原始数据', round(sal) as '四舍五入后的数据' ,round(sal,1) as '四舍五入1个小数点后的数据'from emp; ......
CF529B Group Photo 2 (online mirror version)
看值域这么小,考虑枚举最大高度 \(maxh\): \(h_i>maxh\) 且 \(w_i>maxh\),不合法。 \(h_i>maxh\) 且 \(w_i\leq maxh\),必须换。 \(h_i\leq maxh\) 且 \(w_i>maxh\),不能换。 \(h_i\leq maxh\) ......
Cactus Wall (CF E)
思路: 自己想的是 记忆化搜索 题解 是 在合法点建图连边 本来有仙人掌 就边权为0, 不然为1, 从左端到达有段的最短路径 由于边权是1 或者0 , 直接双端bfs 即可, deque, 0放前面, 1放后面, deque<> q; ......
CF837G Functions On The Segments
CF837G Functions On The Segments Functions On The Segments - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 目录CF837G Functions On The Segments题目大意思路code 题目大意 你有 \(n\) ......
[CF1178 F2] Long Colorful Strip
F2 - Long Colorful Strip 很牛的题! 首先,我们可以将颜色相同的一段区间缩成一个点,那么每次加入一个新的颜色时,最多只能将其所覆盖的那个颜色所属的区间分成三部分(原本:00000000,加入1后\(\rightarrow\)0001111000),也就是增加了两个点,那么也就 ......
Codeforces Round 886 (Div. 4) (E,G,H)
E. Cardboard for Pictures 如果没有过可能是爆LL,在循环判断即可 二分枚举宽度大小,比较两者面积 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 2e5+10,mod=1e11; #defi ......
CF814B An express train to reveries
思维好题,保证有解大大降低了代码难度。 显然最多有两个位置不同,不然根据鸽巢原理一定有一个序列不同位置超过一个。 然后大力分类讨论: 仅有一个位置不同。此时其余位置与排列相同,否则一定有一个序列不同位置超过一个。然后将没有用过的那个数丢到这个位置即可。 有两个位置不同。此时其余位置显然也与排列相同。 ......
CF1470B Strange Definition
\[\frac{\operatorname{lcm}(x,y)}{\gcd(x,y)}=p^2 \]\[xy=(p\times\gcd(x,y))^2 \]可以看出 \(x\) 与 \(y\) 有关联等价于 \(xy\) 是完全平方数,也就是说每个质因子出现次数的奇偶性必须相同,而这东西是有传递性的 ......
CF1068B LCM
\[\frac{\operatorname{lcm}(a,b)}{a}=\frac{\frac{a\times b}{\gcd(a,b)}}{a}=\frac{b}{\gcd(a,b)} \]因为 \(a\) 最大可以到 \(10^{18}\),而 \(b\) 最大只有 \(10^{10}\),对于 ......
CF841B Godsend
首先偶数是可以忽略的,因为拿了不影响奇偶性,并且序列中只有偶数或没有数均为先手必败,所以两人拿多少也都没有关系。 考虑奇数的个数,如果有奇数个奇数,先手直接拿完获得胜利。 否则先手可以先拿奇数个奇数,剩下仍然有奇数个奇数,而后手只能拿偶数个奇数,这就保证了下一轮的奇数个数变成了奇数,先手仍然必胜。 ......
CF1879F Last Man Standing 题解
原题 翻译 观察题目,容易发现当题目难度为 \(x\) 时一个 OIer 存活时间为 \(h_i \lceil \frac{a_i}{x} \rceil\) 发现 \(a_i\) 较小,所以我们先考虑暴力枚举 \(x \in [1, \max a_i]\) ,然后把原数组按 \(a_i\) 排个序, ......