该文被密码保护。 阅读全文
posted @ 2021-11-26 13:22 Jayun 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-08-11 21:16 Jayun 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 注:本文只是代理,原文在此处。 总所周知,**【数据删除】**OJ 是一个题单 OJ,所以这里就是它的罪行((( 以洛谷作为主要的OJ(以P开头的就是洛谷) 写问号的有待补充 第一部分 基础算法 递推算法 例题1 → P1595 信封问题 例题2 → AcWing96. 奇怪的汉诺塔 例题3 → P 阅读全文
posted @ 2021-05-27 16:29 Jayun 阅读(315) 评论(0) 推荐(1) 编辑
摘要: 文章没有写完,近期填完这坑 参考文章: https://www.luogu.com.cn/blog/froggy/duo-xiang-shi-tai-za-hui https://www.cnblogs.com/zwfymqz/p/8244902.html https://www.cnblogs.c 阅读全文
posted @ 2021-01-31 14:27 Jayun 阅读(385) 评论(3) 推荐(0) 编辑
摘要: 参考文章: 【洛谷日报#33】时空复杂度分析及master定理 李卿. 递归算法分析中主定理的应用[J]. 黑龙江科技信息, 2011(29):97+207. Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein. 殷建 阅读全文
posted @ 2020-10-17 14:06 Jayun 阅读(3772) 评论(1) 推荐(6) 编辑
摘要: 链接 洛谷 题目大意 给定一棵树,多组询问,每组询问给定 \(k\) 个点,你可以删掉不同于那 \(k\) 个点的 \(m\) 个点,使得这 \(k\) 个点两两不连通,要求最小化 \(m\),如果不可能输出 \(-1\)。询问之间独立。 思路 虚树板题。 虚树 针对一些有多组特殊点的树上问题。 如 阅读全文
posted @ 2022-05-10 13:25 Jayun 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 链接 洛谷 题目大意 有 \(n\) 个二元组 \((a_i, b_i)\),编号为 \(1\) 到 \(n\)。 有一个初始为空的栈 \(S\),向其中加入元素 \((a_i, b_i)\) 时,先不断弹出栈顶元素直至栈空或栈顶元素 \((a_j,b_j)\) 满足 \(a_i \neq a_j\ 阅读全文
posted @ 2022-04-10 13:30 Jayun 阅读(35) 评论(0) 推荐(0) 编辑
摘要: UVA1619 感觉不错 Feel Good 链接 UVA1619 感觉不错 Feel Good (luogu.com.cn) 题目大意 给出正整数 \(n\) 和一个长 \(n\) 的数列,要求找出一个子区间,使这个子区间的数字和乘上子区间中的最小值最大。输出这个最大值与区间的两个端点。 思路 用 阅读全文
posted @ 2022-01-15 08:58 Jayun 阅读(47) 评论(0) 推荐(0) 编辑
摘要: CF817D Imbalanced Array 链接 CF817D Imbalanced Array 题目大意 求: \[ \sum_{l=1}^n\sum_{r=l}^n\left(\max_{i=l}^r\{a_i\}-\min_{i=l}^r\{a_i\}\right) \] 思路 方法一 \ 阅读全文
posted @ 2022-01-14 15:47 Jayun 阅读(134) 评论(0) 推荐(1) 编辑
摘要: [USACO06NOV]Bad Hair Day S 洛谷题面 题目大意: 给定有 \(n\) 个数的数组 \(a_i\),找到在 \(i\) 之后的第一个大于 \(a_i\) 的数 \(a_j\),那么 \(a_i\) 能造成 \(j-i\) 贡献。求总贡献。 思路: 倒着跑单调栈。 代码: co 阅读全文
posted @ 2022-01-13 09:17 Jayun 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 构建一个序列 \(a\),满足 \(m\) 条限制使得 \(\bigwedge\limits_{i=l}^ra_i=p\). 正文: 线段树区间或上 \(p\),最后再查询每个限制是否符合。 代码: const int N = 1e5 + 10; inline ll Rea 阅读全文
posted @ 2021-12-09 23:06 Jayun 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 给出一个数字串找到一个最大的子串使得其出现次数大于等于 \(k\)。 思路: 简单题。对后缀排序后,求 \(\mathrm{height}\) 数组。那么任意一段区间 \([l,r]\) 后缀的 \(\mathrm{height}\) 的最小值就是它们的 LCP,也是出现次 阅读全文
posted @ 2021-12-09 21:47 Jayun 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 给你一个由小写拉丁字母组成的字符串 \(s\)。我们定义 \(s\) 的一个子串的存在值为这个子串在 \(s\) 中出现的次数乘以这个子串的长度。 对于给你的这个字符串 \(s\),求所有回文子串中的最大存在值。 正文: 建一棵回文树,每一次插入字符,将当前最长回文后缀加一 阅读全文
posted @ 2021-12-08 13:11 Jayun 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 给定一个字符串 \(s\),找到最小的 \(t\) 使得 \(t\) 匹配的位置能覆盖 \(s\)。 思路: \(t\) 一定是 \(s\) 的一个前后缀(\(s\) 也算),考虑 DP。设 \(f_i\) 表示前缀 \(i\) 的答案,那么 \(f_i\) 要么是 \(i 阅读全文
posted @ 2021-11-19 23:54 Jayun 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 一张图,经过一条路后,边权为原来的乘上这条路的“恢复系数”,再下取整。求最长路。 正文: 发现除了环中的,其它的边不会经过第二次。那么缩点带点权做最长路。 代码: const int N = 160010, M = 2e5 + 10; inline ll Read() { 阅读全文
posted @ 2021-11-19 16:19 Jayun 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: \(n\) 个长 \(m\) 的 01 串,问能否找到一个选择方案使得每一位 \(0\) 的个数都不小于 \(1\) 的个数。 \(m\leq 4\)。 正文: 这个问题有两个性质: 手玩几个数据会发现方案中最多两个 01 串。 \(m\leq4,2^m\leq16\),所 阅读全文
posted @ 2021-11-19 14:13 Jayun 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 一棵树有 \(n\) 个节点,第 \(i\) 个节点的点权为 \(a_i\)。 你需要回答:能不能选择这棵树中的至少 \(1\) 条边、至多 \(k-1\) 条边删除,使得删除完这些边的树每个联通块的点权异或和相等。 思路: \(a\oplus a=0\) 真的好用,就可以 阅读全文
posted @ 2021-11-19 11:23 Jayun 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 博客园 题目大意: 求 \(a\) 有多少排列使得 \(\forall i\in\left[1,n\right)\) ,有 \(\bigwedge\limits_{j=1}^ia_j=\bigwedge\limits_{j=i+1}^na_j\)。 思路: 对于 \(i=1\) 的情况 阅读全文
posted @ 2021-11-19 08:39 Jayun 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 在一个 \(n\) 位数字中有 \(m\) 段长度相同的区间内容相同,求这个数的方案数。 正文: 相同的就只能算一次,所以就用并查集维护,太暴力的 \(\mathcal{O}(nm)\) 的纸飞机飞不远,但优化是自由,明天换一个倍增算法,后天就有了 Accepted,这就是 阅读全文
posted @ 2021-11-18 19:01 Jayun 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 博客园 题目大意: 给定一张 \(n\) 个点 \(m\) 条边的无向图,第 \(i\) 条边边权为 \(w_i\)。 对于一条点 \(1\) 到点 \(n\) 的路径,设其经过的边集为 \(E\),定义这条路径的长度为 \(\sum_{e\in E}w_e-\max_{e\in E} 阅读全文
posted @ 2021-11-18 18:40 Jayun 阅读(96) 评论(0) 推荐(1) 编辑
摘要: 链接: 洛谷 题目大意: 在一张图上,有 \(k\) 条边可以免代价,求 \(s\) 到 \(t\) 的最短路。 正文: 这是分层图最短路板子。建 \(k\) 层图,上一层到本次的边权为 \(0\)。很好理解。 代码: const int N = 1e6 + 10, M = 5e6 + 10; in 阅读全文
posted @ 2021-11-18 03:48 Jayun 阅读(34) 评论(0) 推荐(0) 编辑
摘要: T1: 洛谷 题目大意: 有 \(n\) 个廊桥,\(m_1\) 个一类飞机、\(m_2\) 个二类飞机,贪心原则分配廊桥,问做多能给多少飞机分上廊桥。 思路: 设 \(f_i\) 表示分 \(i\) 个廊桥给一类飞机的最多的飞机,\(g_i\) 表示分 \(i\) 个廊桥给二类飞机的最多的飞机。题 阅读全文
posted @ 2021-11-18 02:29 Jayun 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 在圆上选择 \(n\) 个点互相连接,问最多能分出多少面。 正文: 一遇到点面线就考虑欧拉公式 \(F-E+V=2\Rightarrow F=2+E-V\)。 在本题中,点数为原本的点和线段之间的交点 \(V=n+\dbinom{n}{4}\);边数就是弧、原本点之间相连的 阅读全文
posted @ 2021-11-16 13:14 Jayun 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 基环树森林直径板子。 代码: const int N = 2e6 + 10; int n; int head[N], tot = 1; bool loop[N << 1]; int a[N][2], cnt; int fa[N]; int Find(int x){retur 阅读全文
posted @ 2021-11-16 11:46 Jayun 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 求第 \(k\) 个非完全平方数(或其倍数)。 正文: 换句话说,题目要我们求第 \(k\) 个质因子最高次小于二的数,这就很 \(\mu\)。 求第 \(k\) 大考虑用二分,每次判断 \([1,\mathrm{mid}]\) 中的合法数是否大于 \(k\)。 代码: c 阅读全文
posted @ 2021-11-16 10:55 Jayun 阅读(51) 评论(0) 推荐(0) 编辑
摘要: CSP J/S Day -10: 最近一直翻别人的游记,大爷都好强啊,仿佛进队是轻而易举,属实牛。 CSP 比赛当周我们还有月考,草,真爽。决定了,在十五号之前把文化课复习完,通宵背书。 Day -9: 昨晚咕了。 但今晚有 CF,大概是第一次认真地打 CF。虽然是 Div.3,但打得还是很菜,还是 阅读全文
posted @ 2021-11-02 13:55 Jayun 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 笛卡尔树: 序号满足二分查找树的性质,值满足堆的性质的树。 构建: 方法: 用单调栈构建。 代码: const int N = 1e7 + 10; inline ll Read() { ll x = 0, f = 1; char c = getchar(); while (c != '-' && ( 阅读全文
posted @ 2021-10-21 11:08 Jayun 阅读(47) 评论(1) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: \(H\) 国有 \(n\) 个城市,这 \(n\) 个城市用 \(n-1\) 条双向道路相互连通构成一棵树,\(1\) 号城市是首都,也是树中的根节点。 \(H\) 国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决 阅读全文
posted @ 2021-10-21 10:12 Jayun 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 给定一个串,每次选择最前或最后的字符,求最后能得到字典序最小的串。 正文: 贪心时遇到 \(\texttt{BACB}\) 这样的串时,不能随便选,于是想到了后缀数组。那么取最后的字符,就相当于把原串反过来。所以先对原串如此处理:\(S'=S+\texttt{@}+\bar 阅读全文
posted @ 2021-10-20 19:56 Jayun 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 优质讲解:埃及分数 优质讲解:悬线法 优质讲解:差分约束系统 优质讲解:决策单调性优化 优质讲解:cdq分治和整体二分 优质讲解:分层图最短路 优质讲解:主定理 优质讲解:区间最值操作 优质讲解:常用距离计算 优质讲解:二次离线莫队 优质讲解:ETT 优质讲解:神的字符串 优质讲解:矩阵树定理 优质 阅读全文
posted @ 2021-10-20 17:20 Jayun 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 题目大意: 有 \(n\) 个人,每个人有一个高度 \(h_i\),从左到右按以下原则依次将每个人插入: 第一个人直接插入空的当前队形中。 对从第二个人开始的每个人,如果他比前面那个人高(\(h\) 较大),那么将他插入当前队形的最右边。如果他比前面那个人矮(\(h\) 较小),那么将 阅读全文
posted @ 2021-10-20 15:41 Jayun 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 链接: 洛谷 博客园 题目大意: 给你两个可重集 \(a,b\),\(a,b\) 的元素个数都为 \(n\),它们中每个元素的大小 \(x\in [1,n]\)。请你分别找出 \(a, b\) 的子集,使得它们中的元素之和相等。 正文: 这是一道非常牛逼的构造题。 设 \(A,B\) 分别为 \(a 阅读全文
posted @ 2021-10-19 21:42 Jayun 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 简介: 光速幂主要思想是分块,把幂分为 \(\sqrt{p}\) 份,那么 \(a^b=a^{k\sqrt p+t}\),其中 \(k,t\) 为常数,\(p\) 表示模数。\(\mathcal{O}(\sqrt p)\) 预处理出所有 \(a^{k\sqrt{p}}\) 和 \(a^t\)。然后 阅读全文
posted @ 2021-10-07 08:37 Jayun 阅读(449) 评论(2) 推荐(0) 编辑
摘要: 题目大意: 有一个长为 \(n\times k\) 的数组,它是由长为 \(n\) 的数组 \(A_1,A_2,\cdots,A_n\) 重复 \(k\) 次得到的。 定义这个数组的一个区间的权值为它里面不同的数的个数,现在,你需要求出对于这个数组的每个非空区间的权值之和。 正文: 有一个关键的性质 阅读全文
posted @ 2021-09-26 13:41 Jayun 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 链接: 牛客 题目大意: 定义一个集合 \(S\) 的 \(f\) 函数为 \(f(S)=\max\{a\}-\min\{a\}(a\in S)\) 给定一个集合 \(S\),求该集合所有非空子集的 \(f\) 函数之和。对 \(10^9+7\) 取模。 正文: 先排序,然后贡献就为: $$\beg 阅读全文
posted @ 2021-09-25 17:01 Jayun 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 前言: 本文应该可以帮助你解决绝大部分初赛问题,或者复习。 但是有一些原题历史过于久远,知识点已经不重要了,或是一些太过于简单的问题(如“IT”的含义等),也就没必要介绍了。 查阅知识点可以通过翻目录或者 Ctrl+F。 忽然发现有些复赛的知识点(如博弈论)初赛也用得上,所以本文会持续更新。 关于计 阅读全文
posted @ 2021-09-04 09:59 Jayun 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求 \(A^B\) 约数之和。 思路: 分治递归即可。 代码: const int N = 0, mod = 9901; inline ll Read() { ll x = 0, f = 1; char c = getchar(); while (c != '-' && (c < '0' 阅读全文
posted @ 2021-08-19 07:49 Jayun 阅读(63) 评论(0) 推荐(0) 编辑
摘要: [COCI2014-2015#7] JANJE: 题目大意: 题目有点长,链接。 思路: 简单组合题,初赛内容。 代码: inline ll Read() { ll x = 0, f = 1; char c = getchar(); while (c != '-' && (c < '0' || c 阅读全文
posted @ 2021-08-17 15:57 Jayun 阅读(71) 评论(0) 推荐(0) 编辑
摘要: [COCI2014-2015#7] PROSJEK: 题目大意: 给出包含一个 \(N\) 个整数的数组 \(A\)。找出一段长度至少为 \(K\) 的连续序列,最大化它的平均值。 思路: 二分答案,考虑到可以以当前平均值是否存在为 key。 代码: const int N = 3e5 + 10; 阅读全文
posted @ 2021-08-17 15:56 Jayun 阅读(45) 评论(0) 推荐(0) 编辑
摘要: [HNOI2006]公路修建问题: 题目大意: 思路: 由于 \(c2\leq c1\),那我们只连 \(k\) 条一级边,其余都是二级。两遍生成树即可。 代码: const int N = 1e4 + 10; inline ll Read() { ll x = 0, f = 1; char c = 阅读全文
posted @ 2021-08-17 15:53 Jayun 阅读(31) 评论(0) 推荐(0) 编辑
摘要: [CERC2014]Virus synthesis: 题目大意: 初始有一个空串,利用下面的操作构造给定串 \(S\) 。 1、串开头或末尾加一个字符 2、串开头或末尾加一个该串的逆串 求最小化操作数, \(|S| \leq 10^5\) 。 思路: 回文自动机好题。在求出失配指针时,求出 \(\m 阅读全文
posted @ 2021-08-17 15:51 Jayun 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有 \(n\) 块木板从左到右排成一行,有 \(m\) 个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第 \(i\) 个木匠要么不粉刷,要么粉刷包含木板 \(S_i\) 且长度不超过 \(L_i\) 的连续的一段木板,每粉刷一块可以得到 \(P_i\) 的报酬。不同工匠的 \(S_ 阅读全文
posted @ 2021-08-17 13:11 Jayun 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 比赛概括: \(\mathrm{sum}=25+0+0+0\) 换组别了爆零我真开心。 T1 [USACO21FEB] No Time to Dry P: 题目大意: 思路: 莫队,并用线段树求出一个点左右与其相同的点的位置。 代码: const int N = 2e5 + 10; inline l 阅读全文
posted @ 2021-08-17 07:30 Jayun 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 比赛概括: \(\mathrm{sum}=26.7+0+40+0\) T1 [USACO 2021 US Open]Do You Know Your ABCs? S: 题目大意: 思路: 暴力把输入的数按升序填入 \(A,B,C,A+B,A+C,B+C,A+B+C\),因为有的时候 \(C > A+ 阅读全文
posted @ 2021-08-16 07:51 Jayun 阅读(74) 评论(0) 推荐(0) 编辑