cf-div 872 div cf

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

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

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

CF1303D Fill The Bag

贪心,二进制 很容易想到:把 \(n\) 转化为二进制,考虑如何得到每一位。 很显然,用小的数去“凑出”大的数不花费代价,用大的数“分解”出小的数要花费代价。所以。一个简单的贪心是:设当前要得到 \(n\) 的第 \(i\) 位的数 \(2^i\),尽量用小的数凑,若小的数凑不出,再用大的数分出 \ ......
1303D 1303 Fill Bag The

CF1816B

Grid Reconstruction 题面翻译 题目描述 在一个 \(2×n\) 的网格中 (\(n\) 为偶数),标记 \(1,2,\ldots,2n\),但每个数只能被使用 \(1\) 次。 某条路径是从 \((1,1)\) 开始的单元序列,随后不断地向下走或向右走,直到到达 \((2,n)\ ......
1816B 1816 CF

CF1816A

Ian Visits Mary 题面翻译 题目描述 \(\textrm{lan}\) 和 \(\textrm{Mary}\) 是生活在笛卡尔坐标系格点上的青蛙,\(\textrm{lan}\) 在 \((0,0)\),而 \(\textrm{Mary}\) 在 \((a,b)\)。 \(\textr ......
1816A 1816 CF

CF1815A

Ian and Array Sorting 题面翻译 题目描述 为了感谢 \(\textrm{lan}\),\(\textrm{Mary}\) 赠送了 \(\textrm{lan}\) 一个长度为 \(n\) 的序列。为了让他自己看起来聪明,他想要让序列按非递减排序。他可以执行以下操作若干次: 选择 ......
1815A 1815 CF

CF1817A Almost Increasing Subsequence

CF1817A 题面翻译 给定长度为 \(n\) 一个序列 \(a\) 以及 \(q\) 次询问,每次询问给出 \(l\) 和 \(r\),找出序列 \(a\) 在 \([l,r]\) 内最长的几乎递增子序列。 对于几乎递增的定义:如果一个序列中不存在连续的三个数 \(x\),\(y\),\(z\) ......
Subsequence Increasing Almost 1817A 1817

CF1874F Jellyfish and OEIS【容斥,DP】

给定序列 \(m_i\),求有多少排列 \(p\) 满足:对于满足 \(l \le r \le m_l\) 的所有 \((l,r)\),\(p_{l \sim r}\) 都不是 \(l \sim r\) 的排列。答案对 \(10^9 + 7\) 取模。 \(n \le 200\),时限 \(\tex ......
Jellyfish 1874F 1874 OEIS and

Codeforces Round 903 (Div. 3)

D. Divide and Equalize 思路: 1.某个数除以x,某个数再乘以x,可发现数组总的乘积没有变化 2.也就是说,要使数组中的每一个元素相同,它们总的质因子应该满足:某个质因子的数量%n==0 E. Block Sequence 简单的dp dp[i],表示删除这个数字后的最小删除次 ......
Codeforces Round 903 Div

题解:CF118E

Tarjan 思路 先来看一下题目给出的无解的这个样例。 不难发现,导致无解的两条边就是 \(6 - 7\) 和 \(2 - 4\) 这两个桥。所以这个题就转换成了求桥,如果存在桥就是无解。 代码 #include<bits/stdc++.h> using namespace std; const ......
题解 118E 118 CF

Educational Codeforces Round 96 (Rated for Div. 2) A. Number of Apartments

有三种建筑:三室厅、五室厅、七室厅。每个房间严格有一扇窗户。现在有 \(n\) 扇窗户,询问完全用完这些窗户的情况下,\(3, 5, 7\) 室厅各有多少间。输出任意一种答案,或者回答不可能。 假设一定有解,显然可以选择 \(mod\) 任意一个数贪心,不妨选最小的 \(3\) 。假设答案为 \(a ......

Codeforces Round 677 (Div. 3) C. Dominant Piranha

有 \(n\) 只水虎鱼在水族馆,大小为 \(a_1, a_2, \cdots, a_n\) 。 一只水虎鱼被称为是主导的,当它可以吃掉水族馆中其他所有水虎鱼。其他水虎鱼不会有任何行动。 一只水虎鱼只可以吃掉当前与它相邻并且体型严格比它小的水虎鱼。当大小为 \(x\) 的水虎鱼吃掉大小为 \(y\) ......
Codeforces Dominant Piranha Round 677