breeding magic 878d cf

CF232B Table

`2023-08-07 16:29:49` ## 题意 有一个 $n\times m$的矩阵,求使得每个 $n\times n$的矩阵中都有正好 $k$个点的方案数,方案数对 $1e9+7$ 取模。 $1\le n\le100,n\le m\le10^{18},0\le k\le n^2$。 ## ......
Table 232B 232 CF

CF1857C Assembly via Minimums

`2023-08-08 22:58:04 solution` ## 思路: 考虑到一个最小值对答案的贡献,发现如果是序列最小值,因为配对了 $n-1$ 次,而每次配对的结果都是它,所以在 $b$ 中会出现 $n-1$ 次。 同理,次小值(可能与最小值相同)出现 $n-2$ 次,第三小出现 $n-3$ ......
Assembly Minimums 1857C 1857 via

CF1857E Power of Points

`2023-08-08 22:59:22 CF1857E solution` ## 思路 我们发现每个点的答案其实是它与之前的点的答案加上与后面的点的答案加上与自己的答案。而与前面和与后面的前后缀答案都是可以通过递推的方式得到的,我们令 $pre_i$ 表示 $i$ 点的前缀答案,$sub_i$ 表 ......
Points 1857E Power 1857 CF

CF1851 部分题解

`2023-07-30 19:35:02` ## 前言 因为我实在是太菜了,没时间也不会做最后两题,所以这里只有前 $5$ 道签到题的题解。 之后我有时间看了后两题的题解再来更新吧~ # A 先不用看那么多七七八八的,搞清楚下面几点即可: - 高度不能相同。 - 高度差得被整除。 - 高度差不能太大 ......
题解 部分 1851 CF

CF1885 前三题题解

`2023-07-30 18:55:15` 水平有限,等我有时间看懂了后面的题再写后面的吧。 写完三题太困了直接睡了(AT和CF一起打真的非常累啊啊啊)。 # A 题意:给你一个排列找使其 $\forall i \in [1,n],a_i\ne i$ 的最小交换次数。 发现偶数个相同就直接两两交换答 ......
题解 1885 CF

CF797F Mice and Holes

`2023-07-26 16:14:50` [原题](https://www.luogu.com.cn/problem/CF797F) ## 思考 考虑如何暴力转移,观察到老鼠之间的路线如果交叉或者包含都不是最优的,所以我们可以设计状态 $f[i][j]$ 表示把前 $j$ 只老鼠全部放在前 $i$ ......
Holes 797F Mice 797 and

CF1215E Marbles 题解

`2023-07-25 16:12:57 洛谷题解` # 思路 看到这道题是统计相邻交换之后操作次数,我第一反应就是求逆序对。 考虑最淳朴的暴力做法,枚举颜色之前的大小顺序关系,然后每次做一次求逆序对,复杂度 $O(n\log n |c|!)$ ($|c|$ 表示颜色种类数)。 但是光是 $20!$ ......
题解 Marbles 1215E 1215 CF

CF95E Lucky Country

`2023-07-26 14:35:10 solution` # 思路 第一眼看以为是个图论,结果发现缩点之后就是个多重背包裸题。 我们把原连通块变成一个重量为连通块大小的物体,然后发现只需要找在容量为幸运数的情况下,放满容量所选物体数量的最小值。 考虑背包,但是复杂度为 $O(n^2)$,观察到这 ......
Country Lucky 95E CF 95

CF401D Roman and Numbers

`2023-07-25 20:41:07 solution` [原题链接](https://www.luogu.com.cn/problem/CF401D) # 思路 看到这个数据和范围,果断数位 dp。 因为同一个数字交换顺序是一样的,所以我们直接把它们合并即可。 设计状态,观察到每个数字的个数不 ......
Numbers Roman 401D 401 and

CF446C DZY Loves Fibonacci Numbers

`2023-07-18 20:49:31` ## 思路: 一开始的思路是每次存两个值,因为任意两个斐波那契数列合并之后仍然满足斐波那契的基本性质 $f[x]=f[x-1]+f[x-2]$。 但是发现这样子每次修改直接的总和得暴力递推求,复杂度爆炸。 为了解决这个突破口,稍微借鉴了一下题解的斐波那契数 ......
Fibonacci Numbers Loves 446C 446

CF1806E Tree Master

`2023-07-19 10:59:11` 思路来源于题解:https://www.luogu.com.cn/problem/solution/CF1806E 算法:根号分治+记忆化搜索。 因为每一个查询都是同层的,我们可以只记忆层数少的(小于$\sqrt n$),对于层数多的层,如果大于$ \sq ......
Master 1806E 1806 Tree CF

CF1768E wonderful jump

`2023-03-01 16:50:41` ```cpp #include using namespace std; typedef long long ll; inline ll read(){ ll x=0;char c=getchar(); for(;!isdigit(c);c=getchar ......
wonderful 1768E 1768 jump CF

CF1851C题解

一道贪心题。 根据题意,我们需要在原序列中找出一条从 $1$ 到 $n$ 的路径,这条路径能被分成几个长度为 $k$ 且颜色相等的连续段。我们可以将这个问题简单化,那么这个问题就能被转化为从 $1$ 开始向后找一个颜色连续段,从 $n$ 开始向前找一个颜色相同的连续段,只要这两个连续段不相交即可,代 ......
题解 1851C 1851 CF

CF232B题解

我们首先可以观察到这道题的 $m$ 很大,所以要考虑这么多列里面是否存在一个性质,让我们求出前 $n$ 列之后快速求出后 $m$ 列的答案。观察一下可以发现第 $i,j$ 两列的答案等价时满足 $i \equiv j \pmod n$。这样的话我们只需要求出前 $n$ 列的答案即可。记 $s_i$ ......
题解 232B 232 CF

CF222E题解

这道题显然是一道 dp。转移方程式也很好推,我们记 $f_{i,j}$ 为前 $i$ 位且第 $i$ 位为 $j$ 的 DNA 序列数量。而对于输入的字符串,我们用 $vis_{i,j}=0$ 表示第 $i$ 个字母后面不能放第 $j$ 个字母。那么转移方程式即为: $$f_{i,j}= \sum ......
题解 222E 222 CF

CF1178F1题解

# CF1178F1题解 根据题意,每次选择一个区间染色,我们可以发现这道题满足了区间 dp 的一些性质,即区间答案可以合并,大区间的答案可以由小区间的答案更新而来。那么我们就可以设 $f_{i,j}$ 表示区间 $i$ 到 $j$ 的答案,那么接下来就考虑如何转移。然后考虑到题目要求从 $1$ 到 ......
题解 1178F 1178 CF F1

CF1778D题解

显然,我们可以先忽略两个串已经一样的部分,只考虑剩下不一样的部分,然后我们就可以将它抽象成一个链上游走问题。我们记 $g_i$ 为从第 $i-1$ 个到第 $i$ 个点的期望步数,此时 $g_1=1$。且 $g$ 满足: $$g_i=\frac{n}{n-i}+\frac{i \cdot g_{i- ......
题解 1778D 1778 CF

CF1157B Long Number

题目传送门——[Long Number](https://www.luogu.com.cn/problem/CF1157B) ## 简单思路 由题意得我们要改变一个区间内的数,使得最后的结果最大,所以显而易见,根据数学规则,位数越高的数越大,最后的数越大,所以我们要尽可能早的开始更改数字,所以当我们 ......
Number 1157B 1157 Long CF

CF 1872 B

## [B. The Corridor or There and Back Again](https://codeforces.com/contest/1872/problem/B) 由题意可知,对于每一个***d~i~***和***s~i~***,必须要在进入房间***d~i~***的***s~i ......
1872 CF

CF 1872 A

## [A. Two Vessels](https://codeforces.com/contest/1872/problem/A) 简单题。先计算杯子a和杯子b里水的差值,在计算需要用c杯子舀几次水就行 $$Ans=ceil(|a-b|/2c)$$ #### 代码 ```cpp #include ......
1872 CF

CF1829H Don't Blame Me

[比赛链接](https://codeforces.com/problemset/problem/1829/H) # 题解 **知识点:线性dp,位运算。** 考虑设 $f_{i,j}$ 表示考虑了前 $i$ 个数字,与和为 $j$ 的方案数。转移方程显然。 注意初值为 $f_{0,63} = 1$ ......
1829H Blame 1829 Don CF

CF1833F Ira and Flamenco

[比赛链接](https://codeforces.com/problemset/problem/1833/F) # 题解 **知识点:组合数学,枚举,双指针。** 注意到,长度为 $m$ 且数字各不相同的子序列,那么最大值与最小值的差至少为 $m-1$ 。因此,对于任意子序列,它是合法的,当且仅当 ......
Flamenco 1833F 1833 Ira and

CF1850H The Third Letter

[题目链接](https://codeforces.com/problemset/problem/1850/H) # 题解 **知识点:贪心,图论建模。** 考虑对约束 `a b d` 建边 $a \mathop{\to}\limits^d b$ 与 $b \mathop{\to}\limits^{ ......
Letter 1850H Third 1850 The

CF1872D Plus Minus Permutation

## 思路 又又又是一道 CF 诈骗题。 对于 $x$ 选出来的数,我们尽量放大的,对于 $y$ 选出来的数,我们尽量放小的,但是呢,存在同时被 $x$ 和 $y$ 选出来的数,就随便放。 但是可以发现按照题目给的数据范围,这么找选择的数,然后放最大或者是放最小,肯定是超时。 所以我们可以直接算出有 ......
Permutation 1872D Minus 1872 Plus

CF1872E Data Structures Fan

## 思路 一眼顶真,这不就是线段树吗?还挺板的,然后速打了一个线段树。 就是用两个变量分别存这个区间的两个异或值,修改就是交换这两个变量的值,询问都是询问整体的,应该很好写,就不细讲了。 ## AC code ```cpp #include using namespace std; struct ......
Structures 1872E 1872 Data Fan

CF1872F Selling a Menagerie

## 思路 对于每一个动物,我们都尽量让它比它害怕的动物先被卖。 考虑拓扑排序,每次输出出度为 $0$ 的点,然后再删点删边。 但是 $n$ 个点,$n$ 条边,必然存在环,所以只用拓扑排序是不行的。 自然想到 tarjan 缩点,对于环外,就拓扑排序好了,对于一个环,显然无法满足所有的点,所以我们 ......
Menagerie Selling 1872F 1872 CF

CF1872C Non-coprime Split

## 思路 CF 典型的诈骗题。 假设分出来的 $a$ 和 $b$ 都有因子 $k$,那么 $a+b$ 也一定有因子 $k$,并且至少还存在另一个最小为 $2$ 的因子,才能分出 $a$ 和 $b$。 所以可以发现,质数是不满足要求的,考虑一个合数,一定可以拆成 $k\times a$ 的形式,那么 ......
Non-coprime coprime 1872C Split 1872

CF1872B The Corridor or There and Back Again

## 思路 假设第 $0$ 时刻走进有陷阱的房间,那么必须在第 $t_i$ 时刻前返回到这个房间之前,因为出去还需要回来,假设到达这个房间后的第 $k$ 个房间,那么到达需要 $k$ 的时间,回来需要 $k+1$ 的时间,因为陷阱会困住当前在房间里的人,所以我们需要提前回去。 那么如果走到一个有陷阱 ......
Corridor 1872B Again There 1872

CF 842 vp记录

### A 诈骗题,看起来有点高大上,其实只要将$k$减$1$即可。 ### B 此时序列中的递增子序列是不需要移动的,所以此时本题就满足一个贪心,设不在这个递增子序列中的数的个数是$x$,则答案为$\lfloor \frac{x}{k} \rfloor$ ### C 这破比赛怎么这么喜欢排列。 此 ......
842 CF

【题解】Educational Codeforces Round 144(CF1796)

被 C 卡了。 最后被 E 的各种分讨劝退,但是同时也学习到了一种换根 dp 的简单写法。 评价:It's educational for me. ## A.Typical Interview Problem ### 题目描述: 有一个包含 F 和 B 的字符串,最开始是空的。我们开始从 $1$ 向 ......
题解 Educational Codeforces Round 1796