rounding maximum 1857b cf

Codeforces Round 653 (Div. 3) B. Multiply by 2, divide by 6

给一个正整数 \(n\) ,每一步可以让 \(n\) 除以 \(6\) 或者让 \(n\) 乘以 \(2\) 。询问进过多少次操作可以使得 \(n\) 变为 \(1\) 。或者回答不可能。 在唯一分解定理下观察 \(n\) 。 如果 \(n\) 除以 \(6\) ,则 \(2^{\alpha_1}3 ......
Codeforces Multiply divide Round by

Educational Codeforces Round 91 (Rated for Div. 2) A. Three Indices

给一个 \(n\) 个整数的排列 \(p_1, p_2, \cdots, p_n\) ,需要找到三个数 \(i, j, k\) 满足: \(1 \leq i < j < k \leq n\) \(p_i < p_j\) , \(p_j < p_k\) 否则回答不可能。 \(key\) :若存在上述 ......
Educational Codeforces Indices Round Rated

* Codeforces Round 665 (Div. 2) A. Distance and Axis

有一个点 \(A\) 在 \(OX\) 正坐标轴上的 \(x\) 坐标为 \(n\) 。需要找到一个点 \(B\) ,使得 \(||OB| - |AB||= k\) 。 现在给出非负整数 \(n\) \(k\) ,你可以执行任意次以下操作: 每步操作可以使 \(A\) 的坐标加一或减一。 询问最少需 ......
Codeforces Distance Round Axis 665

CF1873F Money Trees

CF1873F Money Trees 双指针好题,但是我用的队列( 考虑先找出所有极长的、满足任意一个数都能被它后面的那个数整除的连续段。显然这个操作可以在 \(\mathcal{O}(n)\) 的时间复杂度内完成。 求出每个极长连续段的答案,取 \(\max\) 即为最终答案。那么现在的问题就是 ......
1873F Money Trees 1873 CF

CF1867B XOR Palindromes

CF1867B XOR Palindromes 这里是一个关于 \(n\) 的奇偶性分类讨论的做法。 设最终的答案序列为 \(\{ans_{n+1}\}\),它由 \(0,1\) 组成。 首先计算出原序列中有序数对 \((i,n-i+1)\) 的个数,使得 \(s_i \not= s_{n-i+1} ......
Palindromes 1867B 1867 XOR CF

CF1628D2 Game on Sum

题目链接(Easy) 题目链接(Hard) Part1 神奇的博弈类型 \(Dp\) 。 我们发现与当前状态有关的量,有且只有 现在是第几轮,还有 Bob 用了几次加的操作 ,这都会影响之后的决策,而和之前的决策无关,换句话说,当前决策有后效性,没有前效性。那我们考虑倒着 \(Dp\). Part2 ......
1628D 1628 Game Sum CF

CF1872B The Corridor or There and Back Again

CF1872B The Corridor or There and Back Again 观察第二组样例的解释,注意这句话:“第二个陷阱限制了你”。这启发我们计算经过每个陷阱之后最多还能向前走到哪里,然后取 \(\min\) 得到答案。 现在的问题是如何求出每个陷阱限制的最远可到达点。 由于要求折返 ......
Corridor 1872B Again There 1872

CF1867C Salyg1n and the MEX Game

CF1867C Salyg1n and the MEX Game 简单博弈论题。 设给出序列的 \(\text{mex}\) 为 \(x\),那么 Alice 第一次操作时加入 \(x\) 一定是最优的。此时显然有 \(\text{mex(s)} \ge x\)。 因为如果加入的数 \(y<x\), ......
Salyg1n Salyg1 1867C Salyg 1867

Codeforces Round 903 (Div. 3)

[比赛链接] A. Don't Try to Count 直接用string的可加性,每次 s+=s 相当于翻倍了,因为 \(nm<=25\) 所以最多翻倍5次。 判断什么的直接模拟就行。 #include<iostream> #include<algorithm> #include<cmath> ......
Codeforces Round 903 Div

CF1854C Solution

题目链接 题意 给定大小为 \(n\) 的正整数集合 \(S\),\(S\) 中的每个数在 \(1\sim m\) 之间。 每一秒进行如下操作: 从 \(S\) 中等概率随机选择一个数 \(x\)。 将 \(x\) 从 \(S\) 中删去。 若 \(x + 1\leq m\) 且 \(x + 1\n ......
Solution 1854C 1854 CF

CF585F Digits of Number Pi

CF585F Digits of Number Pi 更好的阅读体验 观察数据范围,考虑数位 DP。 首先把长串中 \(len\geq\lfloor \frac{d}{2}\rfloor\) 的串提出来,塞进一个 trie 里,然后建立 ACAM,然后直接 DP 就行了。 设 \(f_{i,j,0/ ......
Digits Number 585F 585 CF

pjudge A. 【NOIP Round #6】抉择

原题 这题和绝世好题有异曲同工之妙(虽然赛时也想到了但并没有发现贪心结论 QwQ ) 首先容易想出 \(O(n^2)\) 的 dp :设 \(dp_i\) 表示前 \(i\) 个数 \(i\) 强制选最大值,然后转移枚举上一个选的是什么 考虑正解,发现因为转移方程加上了 \(a_j \& a_i\) ......
pjudge Round NOIP

CF660E

题目传送门 description 给定 \(n,m\)。 求所有长度为 \(n\),值域是 \([1,m]\) 中的正整数的序列的本质不同子序列数量和。 \(n,m\leq 10^6\) solution 考虑计算每个长度不超过 \(n\) ,值域为 \([1,m]\) 中的正整数的序列是多少个长 ......
660E 660 CF

CF1657E

题目传送门 description 给定 \(n,k\),求 \(n\) 个点的无向完全图满足其边权为 \([1,k]\) 中的正整数且其最小生成树边权和等于与 1 号点相连的边的权值和。 \(n,k\leq 250\) solution 不妨先确定 1 号点到剩下 \(n-1\) 个点中 \(i\ ......
1657E 1657 CF

CF1264D2 Beautiful Bracket Sequence

第二次听这道题,写个推导过程。 考虑对于给定的括号序列如何算答案,考虑最终答案对应回原序列的位置,于是我们要找到一个位置让其左边的左括号与右边的右括号一样多。因为挪指针时两者之一一定变化,并且两边均单调,所以这个分界点是唯一的。 考虑枚举分界点算答案。假设左边有 \(x\) 个问号,右边有 \(y\ ......
Beautiful Sequence Bracket 1264D 1264

CF237D T-decomposition

原题链接 链式前向星,他来了 通过观察发现,每个集合的大小最小为 \(2\),显然我们需要构造一种方案使得每一个集合的大小都为 \(2\),这样是最优的。 每个集合大小为 \(2\),等价于把每条边转换成新树上的一个点,一共 \(n-1\) 边,对应 \(n-1\) 个集合,每个集合的点对在 dfs ......
T-decomposition decomposition 237D 237 CF

CF1872G Replace With Product 题解

原题 翻译 初看此题,显然感觉有点不对劲,因为感觉如果 \(a_i\) 很大的话肯定是选越多越优秀,但之后并没有什么思路,反而想到线段树上去了(值域这么大做 nm 线段树) 发现如果 \(\prod a_i > 2 \times 10^{14}\) ,那就把做右端点收敛到都不是 \(0\) 的最远位 ......
题解 Replace Product 1872G 1872

CF1204D2 Kirk and a Binary String (hard version) 题解

CF1204D2 Kirk and a Binary String (hard version) 题解 分析 先来分析 \(01\) 串的最长不下降子序列。全是 \(0\) 显然是不下降的,如果中间出现一个 \(1\),为了维护不下降的性质,后面就只能全是 \(1\)。一句话概括一下,\(0\) 后 ......
题解 version Binary String 1204D

CF785D Anton and School - 2 题解

CF785D Anton and School - 2 题解 分析 很明显有一种 \(\mathcal O(n^2)\) 的做法,遍历每一个 (,再枚举 \(k\),左边不包含这一位选 \(k-1\) 个 (,右边选 \(k\) 个 ),求组和即可。 但是数据范围是 \(n \le 2\times ......
题解 School Anton 785D 785

Codeforces Round 670 (Div. 2) A. Subset Mex

给一个正整数的集合 \(S\) ,需要将他分成两个非空子集 \(A\) 和 \(B\) 满足 \(S = A + B, A \cap B = \varnothing\) 。你需要使 \(mex(A) + mex(B)\) 最大,询问这个最大值。 若 \(mex(A) + mex(B)\) 最大,则 ......
Codeforces Subset Round 670 Div

Codeforces Round 903 (Div. 3) F. Minimum Maximum Distance(图论)

Codeforces Round 903 (Div. 3) F. Minimum Maximum Distance 思路 对标记点更新fg,从0开始进行bfs,更新d1为所有点到0的距离 获得到0最远的标记点L,从L开始bfs,更新d2为所有点到L的距离 获得距离L最远的标记点R,从R开始bfs,更 ......
Codeforces Distance Minimum Maximum Round

CF & AT 做题记录

选一些 \(\text{div 1}\) 中的好题总结一下 \(\textrm{qwq}\) 从现在开始像 \(\color{red}\text{r} \color{black}\text{ainboy}\) 一样打比赛 \(\textrm{qaq}\) $$\textrm{Codeforces R ......
amp CF AT

Codeforces Round 671 (Div. 2) A. Digit Game

\(R\) 和 \(B\) 在玩一个数字游戏,给一个含有 \(n\) 位的正整数 \(x\) 。俩人轮流操作, \(R\) 先行动。 在每一步中,\(R\) 可以选择 \(x\) 中一个未被标记的奇数位置并标记,\(B\) 可以选择 \(x\) 中一个未被标记的偶数位置并标记。 当最后只剩下一个未被 ......
Codeforces Round Digit Game 671

Codeforces Round 748 (Div. 3) B. Make it Divisible by 25

给一个正整数 \(n\) ,在一步操作中可以移除 \(n\) 中的一个。当 \(n\) 只剩下一位时将不能再操作,如果过程中产生了前导 \(0\) ,则会被自动移除且不耗费操作次数。 询问最少需要多少次操作可以使得 \(n\) 被 \(25\) 整除。 显然一个正整数 \(x\) 若可以被 \(25 ......
Codeforces Divisible Round Make 748

Educational Codeforces Round 116 (Rated for Div. 2) A. AB Balance

给一个长为 \(n\) 的字符串 \(s\) ,只包含 \(0\) \(1\) 两种字符。定义 \(AB(s)\) 是 \(s\) 中出现的 \(01\) 子串个数,\(BA(s)\) 是 \(s\) 中出现的 \(10\) 子串个数。 在一步操作中,可以选择一个字符进行异或。询问最小的操作次数使得 ......
Educational Codeforces Balance Round Rated

Codeforces Round 903 (Div. 3) E. Block Sequence(DP)

Codeforces Round 903 (Div. 3) E. Block Sequence 思路: 设dp[i]为当i~n为完美的最少删除次数 dp[n]=1,dp[n+1]=0; 从后至前对于dp[i]更新 若直接删除当前点,则为 dp[i+1]+1 若不删除 则为 min(dp[i+a[i] ......
Codeforces Sequence Block Round 903

Some seqs are too long, please rebuild the program with make parameter MAX_SEQ=new-maximum-length (e.g. make MAX_SEQ=10000000)

001、cd-hit报错如下 Some seqs are too long, please rebuild the program with make parameter MAX_SEQ=new-maximum-length (e.g. make MAX_SEQ=10000000) 002、解决方法 ......
MAX_SEQ new-maximum-length make MAX SEQ

Codeforces Round 903 (Div. 3)

D题被hack了 哭了 第一题简单的只用把字符串重复的同时尝试匹配,然后判断就好了,只是需要一点代码能力 第二题,也很简单最多剪断3次,就先从小到大排序,然后用最小的,看看大的是他的几倍,如果不是几倍的关系就不可能完成,如果是就算要几次就好了 第三题,也很简单,很明显,对于一个格子,在它旋转90度后 ......
Codeforces Round 903 Div

Codeforces Round 672 (Div. 2) A. Cubes Sorting

有 \(n\) 个方块,第 \(i\) 个方块重量为 \(a_i\) 。需要使方块按照非降序排列摆放。在每一步操作中,可以交换任意相邻的两块方块。询问可以使所有方块按照非降序排序的最小操作数 \(p\) 是否 \(\frac{n \cdot (n - 1)}{2}\) 。 考虑一个事实,对于任意第 ......
Codeforces Sorting Round Cubes 672

Codeforces Round 674 (Div. 3) B. Symmetric Matrix

有 \(n\) 块 \(2 \times 2\) 的瓷砖,瓷砖上的每个方格包含一个数字,每种瓷砖都有无数种。现在需要用所给瓷砖构造一个 \(m \times m\) 的方形矩阵 \(a\) 满足: 每块瓷砖都在方形矩阵内 瓷砖之间不能存在覆盖 \(a_{i, j} = a_{j, i}\) 。 输出 ......
Codeforces Symmetric Matrix Round 674