polynomials similar 1817c cf

「解题报告」CF1290F Making Shapes

最近好像一直懒得写题解,但是感觉还是写一写比较好。 首先若干个向量组成一个凸包有经典做法,就是把向量按照极角排序,然后按照极角顺序依次拼接,得到的就是一个凸包,且方案唯一(由于本题限制不存在共线的两个向量)。 那么我们实际上只需要知道每个向量最终用了多少就可以了。设第 $i$ 个向量用了 $c_i$ ......
报告 Making Shapes 1290F 1290

套cf后 站点WAF防火墙规则设定 这两条就够了 全能防御恶意流量攻击!

源网站 最近导航网站经常被流量攻击,疯狂跑网站流量,两个小时20G左右吧,一直困扰着我, 后来在电报群里的大神指点下,用上了CF的WAF的防火墙规则! 添加防火墙规则表达式 第一 (cf.threat_score ge 5 and not cf.client.bot) or (not http.re ......
全能 防火墙 恶意 流量 规则

CF1693D Decinc Dividing——值域有连续性的 dp 通用分治策略

这个分治策略其实跟整体二分差不多,但是它的应用面比较单一和具有针对性。 通常是 $dp_1,dp_2,dp_3,...,dp_n$ 只有 $O(d)$ 段。然后我们通过分治来看 $dp_i=v$ 的应该是哪一段。 ``` def solve(l,r) if dp(l)==dp(r) fill dp( ......
值域 连续性 Dividing 策略 Decinc

CF28B pSort

2021-03-16 ## 大致题意 给你一串数字,然后告诉你每一个格子能与哪些格子中的数字交换,问你最后能不能得到给你的一组排列。 ## 思路 对于位置i,可以与位置(i+d[i])和(i-d[i])位置的数交换 则可以考虑把位置i可以交换的位置放入一个集合里,就想到用并查集来解决。 如样例2,合 ......
pSort 28B CF 28

CF1519E Off by One

简化题意:给定一个无向联通图,给边两两配对,要求一对边有公共顶点,求最多配对数。 我们对原图 dfs。遍历到一个顶点,如果它连接偶数条边,全部配对。否则,保留它到父亲的边,其余全部配对。 最后至多 $1$ 条连接根的边没有被配对。 答案显然为 $\lfloor \frac{m}{2} \rfloor ......
1519E 1519 Off One CF

CF149E Martian Strings 题解

#### 题意 给定一个主串 $s$ 和一些模式串 $p_i$,问主串中是否存在两个不相交的非空字串,拼起来和模式串相同。 考虑如何拼接 $p_i$。我们可以从前向后匹配一遍主串,找到 $p_i$ 的所有长度的前缀在主串中最先出现的位置,并记录下来;然后再从后向前跑匹配,每次匹配上一个后缀,就判断该 ......
题解 Martian Strings 149E 149

CF1559D2 Mocha and Diana (Hard Version) 题解

[Luogu](https://www.luogu.com.cn/problem/CF1559D2) | [Codeforces](https://codeforces.com/problemset/problem/1559/D2) ### 题意 给定两个森林 $A$ 和 $B$,均有编号 $1$ ......
题解 Version 1559D Mocha Diana

CF936E

首先考虑为什么会有一个白格子四联通的限制,这意味着没有封闭的白格子区域。 那么我们将每列都划分成一些黑格子的连续段,有相邻格子的连续段之间连边,会形成一棵树。 然后考虑如何在树上求两个格子之间的距离。可以找到他们的 $lca$ 然后把 $lca$ 的每个格子放进队列里进行一次 $bfs$ ,得到两个 ......
936E 936 CF

CF1838E - Count Supersequences

先考虑正着做,我们只考虑整个 $b$ 序列中出现的第一个子序列 $a$。 这样,我们就是要往 $a$ 中插入 $m-n$ 个数,其中 $a_{i-1}$ 和 $a_i$ 之间不能有 $a_i$(否则就会有更靠前的子序列)。$a_1$ 前面不能有 $a_1$,$a_n$ 后面什么都可以有。 我们发现, ......
Supersequences 1838E Count 1838 CF

CF338D GCD Table 题解

# CF338D GCD Table 题解 ## 题目描述 你有一个长度为 $k$ 的数列 $a$ , 询问是否存在 $x\in[1,n]~~~y\in[1,m]$ 使得 $\forall i~~~ \gcd(x,y+i-1)=a_i$。 ## 解析 我们转换一下可以得到: $$ \forall i ......
题解 Table 338D 338 GCD

CF做题笔记

### CF R876 ##### D - Ball Sorting 首先不考虑小球的数量,假设有充足的小球,要求最少的移动次数,我们只需要拿出序列的最长上升子序列,这就是始终不会移动的小球的数量。 加上小球数量的限制。设始终不会移动的小球的集合为 $S$,显然集合需要满足单调上升,它们将整个序列分 ......
笔记

「解题报告」CF809E Surprise me!

好像是典题。 简单莫反一下。 $$ \begin{aligned} & \sum_{i=1}^n \sum_{j=1}^n \varphi(a_i \cdot a_j) \operatorname{dis}(i, j)\\ =& \sum_{i=1}^n \sum_{j=1}^n \frac{\va ......
Surprise 报告 809E 809 CF

CF1818D 题解

一、题目描述: 给你一颗 $n$ 个点,$m$ 条边的简单无向图,可能不连通。 我们定义 $鱼图$ 为满足以下条件的无向图: $包含恰好\ 1\ 个环,环上有\ 1\ 个特殊的结点\ u\ ,u\ 除了连在环上的\ 2\ 条边外还正好有\ 2\ 条边连向不在此环上的结点。$ 求是否存 $鱼图$。若存 ......
题解 1818D 1818 CF

CF1329E Dreamoon Loves AA 题解

令 $p_0=0,m\leftarrow m+1,p_{m}=n,a_i=p_i-p_{i-1}$,设在 $(p_{i-1},p_i)$ 中有 $d_i-1$ 个 `B` 变成了 `A`,满足 $\sum_{i=1}^m(d_i-1)=k$,让 $k\leftarrow k+m$,这样 $d$ 需要 ......
题解 Dreamoon 1329E Loves 1329

「解题报告」CF768G The Winds of Winter

真的不难,为啥是 3300\*。还是模拟赛 T3,很气啊,为什么不先看这个题。 首先贪心很容易发现一定是将当前子树大小最大的那棵树的某个子树移动到最小的那个树内。那么我们记移动的这个子树的大小为 $x$,所有树中最小的树大小为 $a$,最大的为 $c$,次大的为 $b$,那么我们就是在最小化 $\m ......
报告 Winter Winds 768G 768

「解题报告」CF936D World of Tank

~~lxl。~~ 模拟赛 T1。3000\*。不过好像确实不是很难,考场上做出来的。 首先这玩意看起来就很 DP 了。格子很多,但是离散化一下之后就很少了,可以直接跑 DP。那么我们考虑如何 DP 这个过程。 首先很容易发现一点,就是**我们攻击到的格子一定会经过**。否则显然攻击这个格子是没有意义 ......
报告 World 936D Tank 936

「解题报告」CF1329E Dreamoon Loves AA

好题。 首先可以把题意转化一下,我们先把每相邻两个 A 的距离写成一个数组,然后对这个数组进行考虑。那么我们每改一个数,实际上就是将这个数组中的一个数分成两个数,我们要求的就是把这个数组分成 $K = k + m + 1$ 个数,最小化极差。 首先不难得出一点,就是每个数最后肯定是被均分成若干份一定 ......
Dreamoon 报告 1329E Loves 1329

CF1808E3 题解

## 题意 [传送门](https://www.luogu.com.cn/problem/CF1808E3) 求有多少包含 $n$ 位数码的 $k$ 进制数,满足存在一位数等于其他 $n-1$ 位数的总和模 $k$。 $1\le n\le 10^{18},1\le k\le 2000$。 ## 题解 ......
题解 1808E 1808 CF E3

CF321E - Ciel and Gondolas

考虑 $dp_{i,j}$ 表示用 $i$ 条船载走前 $j$ 个人的最小贡献,$w_{i,j}$ 表示区间 $[i,j]$ 里的人同乘一条船的代价。则 $dp_{i,j}=\min_{1\le k\lt j}(dp_{i-1,k}+w_{k+1,j})$。 我们发现,$w_{i,j}$ 可以通过 ......
Gondolas 321E Ciel 321 and

CF1759F

## CF1759F - 因为每次只对原数加 $1$,所以表示出来所有的数最多需要 $p-1$ 次(一共 $p$ 种数字,$in[1]$ 已经被表示出来了) - 对于输入数的最低位 $in[1]$,如果有比他小的数没被表示出来,那么一定存在进位(进位过程中,所有大于 $in[1]$ 的数全被表示出来 ......
1759F 1759 CF

CF101234A Hacker Cups and Balls【二分+线段树】

## Description 给一个长度为 n 的排列,对它做 m 次操作,每次对 [l, r] 区间内进行升序/降序排序。 问最后的序列处于最中心的数是多少(n为奇数)。 ## Solution 是一类没有写过的题,[参考题解](https://www.cnblogs.com/ShinaCloud ......
线段 101234A 101234 Hacker Balls

「解题报告」CF739E Gosha is hunting

来南京第二天就感冒了,然后嗓子疼,头疼炸了。哈哈。 等等是不是春季赛前我也这个状态来着。呃呃。好像确实一模一样。 这玩意跟 DP 有个鬼关系。 下面两个概率用 $u_i, v_i$ 表示。 首先如果只选两者之一,贡献为 $u_i / v_i$,如果两者都选那么贡献为 $u_i + v_i - u_i ......
hunting 报告 Gosha 739E 739

CF803 - EDU20

#### A 最优化字典序问题一般考虑贪心。我们从左上往右下一路扫描,然后贪心的往里填,只要当前的 $k$ 够就填一个。如果到最后 $k$ 都没用完就说明不存在方案。 #### B 一个位置最近的 $0$ 要么在左边要么在右边。考虑从左右各扫一次求出每个数到左边和右边最近的 $0$ 的距离。然后取 ......
803 EDU CF 20

[CF9D]How many trees?

# 2023-06-01 ## 题目 [题目传送门](https://www.luogu.com.cn/problem/CF9D) ### 难度&重要性(1~10):5 ### 题目来源 Codeforces,luogu ## 题目算法 dp ## 解题思路 深度最大为 $n\left(1\le n ......
trees CF9D many CF9 How

「解题报告」CF1152F2 Neko Rules the Catniverse (Large Version)

发现有互不相等的限制,那就考虑一下连续段 DP。每次从小到大考虑每个数是否填,填的话填到哪里即可。 容易发现题目中的限制相当于要求每一个连续段的右边填的数不能与它差出 $m$,且容易发现每个段的差的要求一定不相等,那么我们可以直接 $2^m$ 状压记录每个连续段的差值要求。然后再记录一下是否已经确定 ......
Catniverse Version 报告 1152F Large

[CF19B]Checkout Assistant

# 2023-06-01 ## 题目 [题目传送门](https://www.luogu.com.cn/problem/CF19B) ### 难度&重要性(1~10):5 ### 题目来源 Codeforces,luogu ## 题目算法 01背包,dp ## 解题思路 这道题只需要将题面的意思转换 ......
Assistant Checkout 19B CF 19

CF1823F Random Walk 树上随机游走

设 $F_{i}$ 为经过点 $i$ 时的期望 , $in_{i}$ 为点 $i$ 度数 , 我们易得 : $\begin{aligned} F_{t} &= 1\\ F_{s} &= 1+ \frac{F_{fa}}{in_{fa}} + \sum_{v \in V_{i}}\frac{F_{v} ......
Random 1823F 1823 Walk CF

CF6E Exposition 题解 ST表+倍增

题目大意: 求所有极差不超过 $k$ 的最长连续子序列。 解题思路: 先开一个 ST 表方便求解区间最大值和区间最小值。 然后基于倍增思想(详见 `cal` 函数)求极差不超过 $k$ 的最长连续子序列。 示例程序: ```c++ #include using namespace std; cons ......
题解 Exposition CF6E CF6 CF

CF1398E Two Types of Spells 题解 set

题目链接:[https://codeforces.com/problemset/problem/1398/E](https://codeforces.com/problemset/problem/1398/E) ### 题目大意 你有一个集合,初始为空。 有两种类型的元素,一种是普通元素,一种是强化 ......
题解 Spells 1398E Types 1398

CF506D - Mr. Kitayuta's Colorful Graph

本质不同的算法主要有两种:对子图大小根号分治和类启发式均摊。此外还有很多实现上的差别。 #### 对子图大小根号分治 在线做法: 我们发现,把每个颜色的边和它们的顶点取出为一个子图,所有子图大小的和是 $O(n)$ 级别的。那么我们就可以根号分治。 首先,要预处理每个颜色子图下的连通块。可以用并查集 ......
Kitayuta Colorful Graph 506D 506