题解1328e cf

Alice and Hairdresser题解

Alice and Hairdresser 第一眼线段树,第二眼好像可以直接用数组模拟。 当一根头发长于 $l$,它再长多长其实都一样,所以不用开 long long。 如果一根新的头发长到比 $l$ 长,那可以分成以下几种情况: 如果它左侧和右侧只有一个元素大于 $l$ ,那答案不变。 如果左侧和 ......
题解 Hairdresser Alice and

CF1839D Ball Sorting

原题 翻译 我们钦定\(a\)中一些数字是选定点,及保证他们不与零球交换,首先容易发现这些选定点一定是单调递增的。因此\(0\)球个数就是未选定点的连续段个数,而交换次数就是未选定点的个数 因此我们考虑判断每个球选定不选定:设\(dp_{i,j}\)表示前\(i\)个球中用了最多\(j\)个\(0\ ......
Sorting 1839D 1839 Ball CF

罪人挽歌 题解

罪人挽歌 题解 简化题意: 给定 \(n\) 个二元组,第 \(i\) 个二元组的值为 \((a, b)\),保证任意两个二元组都不相同。 求是否存在一个二元组的排列,使得这些二元组满足对于任意 \(1 \leq i < n\),有 \(A_i = A_{i+1}\) 或 \(B_i = B_{i+ ......
题解 挽歌 罪人

CF1825A

CF1825A 题目 给你一个回文字符串,找出里边长度最大的非回文字符串子串并输出长度,如果没有则输出 \(-1\) 输入 t \((1 \le t \le 50)\) 个测试样例,每个样例长度 \(\le 1000\) 输出 每行输出最长非回文字符串子串长度,如果没有就输出 \(-1\) 分析 观 ......
1825A 1825 CF

「题解」BZOJ 3305 Catalan 数

\(f_{i,j}=f_{i-1,j-1}+f_{i-1,j+1}(j+1)\) 看成生成函数就有 \(F_n=xF_{i-1}+F_{i-1}'\),思路是凑微分,想凑出一个 \(G_i\) 是和 \(F_i\) 有关的,然后 \(G_i\) 有比较简单的形式。 这里就 \(G_n=F_n\tim ......
题解 Catalan BZOJ 3305

[题解]Pa?sWorD(2023ICPC网络预选赛第一场I题)

I Pa?sWorD 下次不要认为2e8可以莽过去了 思路 计数DP + 状压(其实也可以不压) + 前缀和优化(倒着写是差分) dp[i][j][k]表示第i位填j,状态为k的方案数 k这一维用于状态压缩,表示 数字、大写、小写 是否出现 前缀和优化:在处理?的时候,暴力会有62X62X8的单次复 ......
题解 预选赛 sWorD 网络 2023

题解 P6821 [PA2012] Tanie linie

本来想写 wqs 二分来着,然后推不出 dp 方程,摆烂了。 题目描述 给定含 \(n\) 个数的序列,求至多 \(k\) 个不相交子段的和的最大值。 具体思路 由于选 \(k\) 堆连续的数,因此一堆连续的符号相同的数,只有可能是同时被选或者同时不被选。 因此我们先对原序列预处理一遍,将相同符号的 ......
题解 P6821 Tanie linie 6821

CF1867D Cyclic Operations

事实上我们可以发现,如果\(b_i=x\)最后,那么我们可以连一条边,从\(i\)到\(x\) 这样我们就得到了一个有向图,在这张有向图呢,可以证明的是 如果\(k=1\),那么必须全部都是自环。 若不成立,则必须每个环的大小恰好为\(k\) 这样就可以解决了。 #include<cstdio> # ......
Operations Cyclic 1867D 1867 CF

Death DBMS题解(AC自动机)

题目传送门 CF1437G 好题 观察这道题,发现有关字串的题目,一般来说,这种题都要构建\(AC\)自动机,所以考虑构建。 构建之后,原来的所有 \(fail\) 是一个树形结构。 解法 \(1\): 考虑从询问入手,那么对于每一个询问,等价于就是查询每一个 \(Q_i\) 包含的后缀的最大值,再 ......
自动机 题解 Death DBMS

题解 LOJ2549【[JSOI2018] 战争】

problem 给你两个平面凸多边形 \(A,B\),\(Q\) 次询问,每次询问是一个向量 \(\vec v\),回答 \(A\) 与 \(B + \vec v\) 是否有交。\(n,Q \leq 10^5\)。 solution 观察闵可夫斯基和(Minkowsky sum)的定义,若将这个运算 ......
题解 战争 2549 2018 JSOI

[CF1264D]Beautiful Bracket Sequence

题目描述 This is the hard version of this problem. The only difference is the limit of $ n $ - the length of the input string. In this version, $ 1 \leq n ......
Beautiful Sequence Bracket 1264D 1264

CF70D Professor's task 题解 & 动态凸包板子

CF70D Professor's task 题解 前言 此篇题解用的是 \(Andrew\),不想看这种做法的可以绕道。 题意 动态凸包板子题。 维护动态凸包。两种操作,加一个点或查询一个点是否在凸包内。 题解 首先你得会静态二维凸包。 维护二维凸包的方法挺多的,比如什么 \(Andrew\) 算 ......
凸包 题解 板子 Professor 动态

[ABC320E] Somen Nagashi题解

2023-09-16 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 优先队列 解题思路 水题一道。 需要两个优先队列: 因为每一次是队首的人拿到面条,即队列中编号最小的拿面条,就用一个优先队列用来维护当前队列中的编号最小的人。 由于每一次拿了面条后再 ......
题解 Nagashi Somen 320E ABC

CF1863G

简洁的题面,深邃的思想。 首先,一个经典的套路是: 对于序列中涉及到对于 \(a_{a_i}\) 和 \(a_i\) 进行操作的问题,一般可以考虑建立 \((i,a_i)\) 的内向基环树或者 \((a_i,i)\) 的外向基环树转化为图论问题。 我们建立 \((i,a_i)\) 的内向基环树,\( ......
1863G 1863 CF

cf1860f

萌萌题,但是细节比较麻烦。 首先注意到,\(ax+by=\lambda\),由于我们只需要若干括号的相对顺序,其中一个未知数完全可以舍去,因为可以通过另一个未知数达到相同值。 设我们只关心 \(x\) 的取值,变为按照 \(ax+b\) 排序。那么设 \(k'=a\),变成 \(\lambda =k ......
1860f 1860 cf

【题解】AtCoder-ABC320

AtCoder-ABC320A Leyland Number 依题意计算。 提交记录:Submission - AtCoder AtCoder-ABC320B Longest Palindrome 直接 \(O(n^2)\) 枚举,\(O(n)\) 判断。 提交记录:Submission - AtC ......
题解 AtCoder-ABC AtCoder ABC 320

[ABC320F] Fuel Round Trip 题解

题意 在坐标轴上给定 \(N\) 个点,坐标依次为 \(X_1, X_2, \cdots, X_N\),你需要从原点前往 \(X_N\) 并折返,其中在第 \(1\) 个到第 \(N - 1\) 个点上有加油站,其中第 \(i\) 个加油站可以花费 \(P_i\) 购买 \(F_i\) 升汽油,汽油 ......
题解 Round 320F Fuel Trip

CF1827B1

Range Sorting (Easy Version) 题面翻译 对一个数组 \(\{p_i\}\) 的一段区间 \([l,r]\) 排序的代价为 \(r-l\) ,对整个数组 \(p_i\) 排序的代价为选定若干区间并排序,使得整个数组有序的代价之和。 求 \(\{a_i\}\) 的所有子段排序 ......
1827B 1827 CF B1

CF1017H The Films

Da 1y3。 今天因为初赛实在是没时间(懒得)写题了www,就放一道之前模拟赛场切的题吧。还有这个 CF 评分是假的,难点在于看懂题。 考虑令 \(c_i\) 表示序列中 \(i\) 元素的出现次数,对于一次询问 \(l,r\),令 \(d_i\) 表示 \(a_l,a_{l+1},\cdots, ......
1017H Films 1017 The CF

合并果子题解-C++ STL priority_queue容器的使用

说明:本博文关于priority_queue容器的说明来源于www.cnblogs.com/fusiwei/p/11823053.html 本人是刚刚接触算法竞赛的萌新,如果有大佬发现了错误,还望指出(真的有人会看本蒟蒻的博文吗) 这是我的第一篇博文,更多是作为测试 以后会将博客作为笔记记录学习的体 ......
题解 果子 priority_queue 容器 priority

CF677D Vanya and Treasure

这题纯大力搞过去的,没用到啥技巧,后面看了下别人的做法发现还是很有意思的 我的做法就很粗暴,考虑令\(f_{i,j}\)表示走到\((i,j)\)的最短路,转移的话不难发现是个分层图DP 但是有一个显然的问题是当相邻两层间的点数很多时,暴力做的话会退化成\(O(n^2\times m^2)\),因此 ......
Treasure Vanya 677D 677 and

CF1827A

Counting Orders 题面翻译 求有多少种重新排列 \(a\) 的方式,使得对于任意 \(1\le i\le n\),都满足 \(a_i>b_i\),结果对 \(10^9+7\) 取模。 \(1\le n\le 2\times 10^5,1\le a_i,b_i\le 10^9\),保证 ......
1827A 1827 CF

CF1542E1 Abnormal Permutation Pairs (easy version) 题解

CF1542E1 Abnormal Permutation Pairs (easy version) 题解 不会 Hard version 对于第一个限制字典序,我们可以考虑枚举前 \(i\) 位相同,然后考虑后 \(n-i\) 位。我们只需要保证 \(p_{i+1} < q_{i+1}\) 即可。 ......
题解 Permutation Abnormal version 1542E

CF1852B Imbalanced Arrays 题解

CF1852B Imbalanced Arrays 题解 Links 洛谷 Codeforces Description 对于一个给定的长度为 \(n\) 的数组 \(A\),定义一个长度为 \(n\) 的数组 \(B\) 是不平衡的当且仅当以下全部条件满足: \(-n \leq B_{i} \le ......
题解 Imbalanced Arrays 1852B 1852

CF671C Ultimate Weirdness of an Array

区间 max gcd 计数显然没有任何性质,考虑倒序枚举,转化为计算 \(\sum_i\sum_{l,r}[f(l,r)\ge i]\)。 考虑用一个线段树维护这个东西。\(x\) 节点上存最小的满足 \(f(x,r)<i\) 的 \(r\)。那么一次操作只需要全局求和。 我们考虑 \(i+1\to ......
Weirdness Ultimate Array 671C 671

CF1828B

Permutation Swap 题面翻译 给你一个长度为 \(n\) 的未排序的排列。找到最大的整数 \(k\) 满足可以通过只交换下标差为 \(k\) 的元素使排列被从小到大排序。 题目描述 You are given an unsorted permutation $ p_1, p_2, \l ......
1828B 1828 CF

LeetCode-Java题解 209. Minimum Size Subarray Sum

题目地址:209. Minimum Size Subarray Sum 解题思路: 看到这道题,心里本身是有双指针这个概念的,但是不知道怎么用,脑子里第一反应就是暴力解法,双for一把梭,然后时间就超时了...看了题解才知道滑动窗口这个解法,不禁直呼妙啊!感觉和双指针非常类似,其核心点在于避免了暴力 ......

CF453C Little Pony and Summer Sun Celebration

如果一个点需要经过奇数次我们称其为奇点,偶数次则称其为偶点。 考虑不合法的情况,有任意两个奇点不连通,因为不经过也是经过偶数次。 那么需要处理的部分就是包含奇点的唯一一个连通块。先随意撸出一棵生成树,然后正常地 DFS 下去。显然有些结点可能不符合要求的奇偶性,对于父亲结点 \(u\) 和儿子结点 ......
Celebration Little Summer 453C Pony

CF662B Graph Coloring

很一眼的题 考虑枚举最后所有边的颜色,然后每个点是否变化可以用一个bool变量表示,就是个很典的2-SAT问题,根据当前边和目标的颜色相同与否连边即可 但这题的难点在于要找一个操作次数最少的方案,乍一看很难搞 但如果你对图论和2-SAT那一套理解比较深的话就很容易发现,这道题中所有边都是双向的 这就 ......
Coloring Graph 662B 662 CF

题解 UVA1566 John

题目描述 两个人轮流取石子,每人每次可以 \([1,a_i]\) 个石子,最后取完石子的人为负。问最终谁会赢。 具体思路 若堆数为 \(1\) 且该堆数量为 \(1\),先手必败。 若堆数不为 \(1\) 且每堆数量都为 \(1\),若有奇数堆,先手比败,否则,先手必胜。 若堆数不为 \(1\),转 ......
题解 1566 John UVA