1754c cf c1

CF1845C Strong Password

## 思路 这场 edu 爆炸了,特此记录。 由于 $m \le 10$,因此可以直接考虑搜索。对于定义状态为 $(idx, cur)$,表示当前在填密码的第 $idx$ 位,且使用了 $s$ 中的前 $cur$ 个字符。首先注意到对于同一个数字,如果其在 $s$ 中出现了不止一次,那么出现在前边的 ......
Password Strong 1845C 1845 CF

CF1827

# CF1827 ## A. Counting Orders 简单计数。 两个都排序,双指针维护一下 `a[i]` 在 `b[p]` 的位置(`a[i] ## C. Palindrome Partition ~~回文好题~~。 考虑利用 `Manacher` 求出每一个偶数的回文串。 > 参考:[算 ......
1827 CF

CF1827 题解

# CF1827题解 ### A 将$a$和$b$排序,对于每个$a_i$,可以找到最大的$j$,使得$a_i > b_j$,由于排序,这个$j$一定具有单调性,且$a_i$排列后对应的数一定是这$j$个中的一个。 又因为前面$i - 1$个数已经选了$i - 1$个$b_t,t \leq j$,( ......
题解 1827 CF

[CF1827F]Copium Permutation

吓人题。 一个显然的想法是对于 $k$, 将贡献分为 $3$ 类 :$[1,k]$ 子区间的贡献,$[k+1,n]$ 子区间的贡献和跨过 $k$ 的贡献。 首先 $[1,k]$ 的贡献我们可以沿用 Pudding Monsters 的做法,从左往右枚举 $r$,统计 $r$ 作为右端点的贡献。发现一 ......
Permutation Copium 1827F 1827 CF

CF1637H Minimize Inversions Number

我直接?????????????????? 考虑一个数怎么做,就是逆序对减去一个 $i$ 前面的逆序对再加上顺序对。考虑很多数怎么做,就是这个玩意的和再加上子序列种的顺序对减去逆序对,顺序对可以用逆序对表示,现在只考虑顺序对。 **注意到**,如果 $ip_j$ 且 $i$ 在子序列中 $j$ 不在 ......
Inversions Minimize Number 1637H 1637

Codeforces[CF1036B]Diagonal Walking v.2题解

# 题目大意 很明显,这道题就是求 k 步之内到达点 $(a,b)$ ,然后尽量走对角线,求能走对角线的最大值。 # 做题思路 首先明白一个事实,即一个对角线可以通过增加一步而抵达点不变,如图: ![image](https://img2023.cnblogs.com/blog/3175066/20 ......
题解 Codeforces Diagonal Walking 1036B

CF1843E Tracking Segments

# CF1843E Tracking Segments VP 的时候本来摆烂了,结果快结束的时候想到了做法(没时间敲了 qwq)。这里提供一种和已有题解不同的思路。 我们发现,对于每个修改,我们可以将该点的值修改为这次修改的时间,未修改的点则赋为 $n+1$。这样转化后,区间合法的条件就是区间内小于 ......
Tracking Segments 1843E 1843 CF

CF Gym 102994 Travel Dream

## 题意 求一张带权无向图中最大的 $k$ 元简单环,无解输出 `impossible`。 $1 \le n, m \le 300, k \le 10$。**注意 $k$ 的范围** ## 题解 $k$ 很小,存在简单办法对小环小链进行预处理,考虑折半。首先考虑怎么求长度小于等于 4 的链。长度为 ......
102994 Travel Dream Gym CF

CF1815

# CF1815 > `Div. 1` 确实难,`Virtual Contest` 上只完成了两道题,想出来了三道题。 ## A. Ian and Array Sorting 秒切题……考虑将前 $n - 1$ 个数变成一样的一个数 $x$。显然可以完成。 然而考虑此时最后一个数。如果 $\ge x ......
1815 CF

「解题报告」CF500G New Year Running

来个垃圾做法。 首先这个树没啥用,我们只需要找到两条路径的交与方向即可。分类讨论即可得到,略掉了。 把距离找出来之后,我们可以将运动路径写成序列,那么我们现在相当于有两个分成五段的序列,其中有两端为 $1 \to d$ 与 $d \to 1$。我们枚举几种情况,分别是 $1 \to d, 1 \to ......
Running 报告 500G Year 500

CF1834 题解

# CF1834 题解 ### A 考虑答案与元素位置无关,只与$1$和$-1$的个数有关。要求$1$必须多于或等于$-1$,并且$-1$个数为偶数。分讨: 序列中$num(1) \geq num(-1)$,只需要看$num(-1)$正负性,奇数1步,偶数0步 序列中$num(1) using na ......
题解 1834 CF

CF1834

# CF1834 > Virtual Contest 做了 5 道题,非常不错。 ## A.Unit Array 秒切题,判断个数,然后判断一下奇偶即可。 提交: ## B.Maximum Strength ### 题目描述 每一种材料的力量由一个十进制整数表示。 对于一个武器,由**两种**材料构 ......
1834 CF

CF1836

# A.Destroyer 开个桶记录个数,看满不满足单调不上升即可。 # B.Astrophysicists > 辛辛苦苦写了这么久的文章就没了????烦死了。 > 自己做 Virtual Contest 的时候这道题打表打了半天(~~20min~~)才搞定…… ## 题目大意 有 $n$ 个人, ......
1836 CF

【CF1842F】Tenzing and Tree

# 题目 题目链接:https://codeforces.com/contest/1842/problem/F 给定一棵 $n$ 个点的树,你可以选择其中 $k$ 个点染黑,定义一条边的价值为割去这条边之后,剩下两颗树的黑点数量差;一棵树的价值为所有边的价值之和。 对于 $k\in [0,n]$,求 ......
Tenzing 1842F 1842 Tree and

CF 1300 - ?

`*`:不错的题。 ### Codeforces Round 618 #### CF1299C Water Balance \*2100 注意到答案序列一定是单调递增的,证明:如果不是单调递增的则一定可以通过一次操作将字典序变小。 故,使用单调栈维护当前最靠右区间的权值,如果两个相邻区间合并后字典序 ......
1300 CF

CF1834 Div.2 做题记录

## A [题面](https://codeforces.com/contest/1834/problem/A) 分类讨论即可 点击查看代码 ``` #include #define ull unsigned long long #define ll long long #define pii pa ......
1834 Div CF

CF1580D Subsequence 题解

本文网址:https://www.cnblogs.com/zsc985246/p/17509039.html ,转载请注明出处。 ## 传送门 [CF1580D Subsequence](https://codeforces.com/contest/1580/problem/D) ## 题目大意 有 ......
题解 Subsequence 1580D 1580 CF

CF1843E 二分+前缀和

题意: 给定一个长度为n且均为0的数组,q次单点修改(从0改为1),以及m个基于该数组的区间。 规定好区间为:区间内1的个数严格大于0的个数。 上述m个区间若存在一个好区间则为合法,问按顺序进行q次单点修改过程中最早出现合法的单次修改编号,若无则输出-1。 马后炮思考: 对于m个区间,其实际关系是无 ......
前缀 1843E 1843 CF

CF1411G No Game No Life

猜它是一个 multi-sg,只用算出每个位置的 sg 值。不过注意到这是一个图,你要求 mex 肯定不会太大,毛咕咕一下不会超过 $\sqrt{m}$。并且根据均摊,你求 mex 的复杂度是 $O(m)$ 的。接下来相当于你有一个数 $v$ 每次选一个点异或上它的 sg 值,求最后是 $0$ 的概 ......
1411G 1411 No Game Life

CF1144G Two Merged Sequences

# CF1144G Two Merged Sequences ## 题意 现在给你一个长度为$n$的序列 你要把它拆成一个严格递增序列和一个严格递减序列 如果不可行输出$NO$ 如果可行输出$YES$并输出每个数属于递增序列还是递减序列 ## 题解 感觉脑子瓦特了,感觉这个 $dp$ 的状态设计是比 ......
Sequences Merged 1144G 1144 Two

CF603E Pastoral Oddities

# CF603E Pastoral Oddities ## 题意 给定一张 $n$ 个点的无向图,初始没有边。 依次加入 $m$ 条带权的边,每次加入后询问是否存在一个边集,满足每个点的度数均为奇数。 若存在,则还需要最小化边集中的最大边权。 ## 题解 感觉自己找性质的能力还是太弱了。 首先有一个 ......
Pastoral Oddities 603E 603 CF

「解题报告」CF757G Can Bash Save the Day?

好好好。 求一个点到一个集合内点的距离和,这相当于在考虑若干条路径的长度,我们可以考虑使用点分治,建出点分树,这样每次查询时只需要对于这个点到根上的每个分治中心,找到所有经过这个中心的路径和即可。容易拆成每个点到分治中心的距离之和加上点数乘分治中心到查询点的距离,那么我们直接拿前缀和维护一下这个东西 ......
报告 757G Bash Save 757

CF Round 881 (Div. 3)

# CF Round 881 (Div. 3) > Div. 3 果然简单,虽然但是,我还是有 1 道题没有想出来。 ## A.Sasha and Array Coloring 排序双指针向内即可。 ## B.Long Long > 好啊,就是这道题没想出来。 `Virtual Contest` 上 ......
Round 881 Div CF

CF1393E2 Twilight and Ancient Scroll

显然有一个 $|S|\log |S|$ 的 dp 做法,但是瓶颈在给字符串排序。也就是真正的瓶颈在于求 lcp。AFewSuns 给出了一种不需要科技的做法,orz。 第一个排序的部分,令 $t_{i,j}$ 代表第 $i$ 个字符串去掉第 $j$ 个字符后的字符串,要给所有 $t_{i,j}$ 排 ......
Twilight Ancient Scroll 1393E 1393

CF1843E Tracking Segments 做题笔记

题目链接 这题其实还行。 如果能想到二分答案就会比较简单,我们来看如何写 check 函数。 把当前所有的单点修改存起来,然后依次遍历每个区间,观察这个区间内被单点修改的点的个数是否严格大于该区间长度的一半即可。 我们需要一个支持单点修改区间查询的工具,首先想到树状数组,但前缀和就够用了。 时间复杂 ......
Tracking Segments 笔记 1843E 1843

CF321C Ciel the Commander 题解 点分治

题目链接:[http://codeforces.com/problemset/problem/321/C](http://codeforces.com/problemset/problem/321/C) 解题思路: 点分治模板题。 每次找到重心给他分配一个字符,分治往下走的时候分配的字符ASCII码 ......
题解 Commander 321C Ciel 321

CF765F. Souvenirs

[压位 trie](https://www.cnblogs.com/xx019/p/17503466.html) 好厉害。 显然加一个数很好维护,删一个数有点不好做,考虑回滚莫队。用平衡树维护数的集合,每次插入之前用前驱/后继与插入数的差更新一下答案,可以 $O(n\sqrt{n}\log n)$, ......
Souvenirs 765 CF

CF1553F. Pairwise Modulo

终于过了,感觉还是有点东西的。 首先我们有一个很好想的 $O(n(\ln A+\sqrt{A})\log n)$ 的做法。首先这个式子能写成 $p_i=\sum\limits_{j=1}^i\sum\limits_{k=1}^i\left(a_j-a_k\left\lfloor\dfrac{a_j} ......
Pairwise Modulo 1553 CF

使用libavcodec将mp3音频文件解码为pcm音频采样数据【[mp3float @ 0x561c1ec49940] Header missing】

一.打开和关闭输入文件和输出文件 想要解决上面提到的问题,我们需要对mp3文件的格式有个大致了解,为了方便讲解,我这里画了个示意图: ID3V2 包含了作者,作曲,专辑等信息,长度不固定,扩展了 ID3V1 的信息量。 Frame 一系列的帧,个数由文件大小和帧长决定 ID3V1 包含了作者,作曲, ......
音频 libavcodec mp3 mp3float missing

CF1400E Clear the Multiset

CF1400E Clear the Multiset 一道经典简单的分治 由贪心可知,对于一段区间[L,R],一共有两种处理方式 1.一个一个减,次数为l-r+1 2.先区间减,直到最小的减没了,在考虑最小值隔开的两个区间。如果有多个最小值,其实也不影响,再往下分的时候一定会分开。区间答案就是 $m ......
Multiset 1400E Clear 1400 the