摘要: 前言 题目链接:洛谷 题目链接:CodeForces 题意 给定 \(n\) 个区间 \([l_i,r_i]\) ,请你构造一个序列,每个元素 \(a_i\) 满足 \(a_i\in[l_i,r_i]\) ,且该序列的最长严格上升子序列最长。 思路 \(n^2\) 的 DP 都想了半天 QAQ 。 阅读全文
posted @ 2021-05-25 21:05 Last_Breath 阅读(105) 评论(0) 推荐(2) 编辑
摘要: 前言 题目链接 题意 有 \(n\) 个点,\(q\) 次连边,以及起点 \(s\) 。连边具体分三种: \(1\) \(v\) \(u\) \(w\) 从 \(v\) 到 \(u\) 连一条边。 \(2\) \(v\) \(l\) \(r\) \(w\) 从 \(v\) 向 \(l\) 到 \(r 阅读全文
posted @ 2021-05-15 13:54 Last_Breath 阅读(88) 评论(0) 推荐(1) 编辑
摘要: 前言 题目链接 题意 \(n\) 个城市,构成一棵树。给定 \(m\) 个人生活在的城市,输入时的 \(A_i\) 表示编号为 \(i\) 的人居住的城市。 有 \(q\) 次询问,给定两个城市,求两个城市的路径中,编号前 \(a\) 小的人的编号并输出。 思路 树上倍增。 可以将 \(u\) 到 阅读全文
posted @ 2021-04-19 13:37 Last_Breath 阅读(73) 评论(0) 推荐(1) 编辑
摘要: 前言 题目链接 题意 给定一个数集 \(A\) ,求一个严格上升的序列使得序列每个数都属于 \(A\) ,且任意相邻的两个数不互质。求构造出的数列的最大长度。 思路 考虑 DP, 设 \(dp[i]\) 以 \(i\) 为质因数之一的数结尾的最大长度。 首先预处理分解质因数,对于 \(A\) 中的数 阅读全文
posted @ 2021-04-17 15:34 Last_Breath 阅读(73) 评论(0) 推荐(1) 编辑
摘要: 前言 运用算法:点双连通分量,圆方树,树链剖分,splay(可以用 multiset 维护,不知道 OI 可不可以使用,所以就用了 splay )。 题目链接。 题目大意 有 \(n\) 个点, \(m\) 条边,每个点 \(i\) 都有点权 \(w_i\) 。有两个操作: C a w: 表示 a 阅读全文
posted @ 2021-04-16 21:53 Last_Breath 阅读(99) 评论(0) 推荐(1) 编辑
摘要: 1.CF995E Number Clicker 双向BFS+逆元 2.CF487E Tourists 点双连通分量+圆方树+树链剖分+splay 3.CF264B Good Sequences 线性筛质数+DP 4.CF587C Duff in the Army 树上倍增+LCA 5.CF786B 阅读全文
posted @ 2021-04-16 21:07 Last_Breath 阅读(229) 评论(0) 推荐(2) 编辑
摘要: 前言 线段树+网络最大流的建模题。 题目链接 题目大意 最初时有 \(n\) 个 \(1\) 。给定 \(op\) 、 \(l\) ,其中, \(l\) 为操作次数上限。你有四个操作: 若 \(op=1\) ,则接下来两个整数 \(a,b\) ,表示可以将 \(a\) 变为 \(b\) 。 若 \( 阅读全文
posted @ 2021-04-02 22:36 Last_Breath 阅读(193) 评论(1) 推荐(2) 编辑
摘要: 题目大意 在一个 \(n\times n\) 的矩形中,题目会给出 \(m\) 个障碍物。有两个小球,你可以选定四个方向(上下左右)的其中一个,小球会朝着这四个方向一直滚动,直到遇到障碍物或是矩形的边缘停止。有 \(q\) 条形如 \(a\) \(b\) \(c\) \(d\) 的询问,代表两个小球 阅读全文
posted @ 2021-03-30 14:05 Last_Breath 阅读(483) 评论(0) 推荐(3) 编辑
摘要: 题目链接(洛谷) 题目大意 给定两个数 \(u\) , \(v\) 。有三种操作: \(u=u+1(mod\) \(p)\) 。 \(u=u+p−1(mod\) \(p)\) 。 \(u=u^{p−2}(mod\) \(p)\) 。 求最小能把 \(u\) 变为 \(v\) 的操作步数。 思路 BF 阅读全文
posted @ 2021-03-09 21:38 Last_Breath 阅读(156) 评论(0) 推荐(1) 编辑
摘要: 前言 模拟退火 \(Simulated\) \(Annealing\) , 简称 \(SA\) ,最早在 \(1953\) 年由 \(N. Metropolis\) 提出,后经优化得到现在广泛应用的算法,应用在很多领域当中。 本文题目链接 算法思想 模拟退火是随机化搜索的一种,若随机化搜索写得好,则 阅读全文
posted @ 2021-03-09 21:38 Last_Breath 阅读(907) 评论(0) 推荐(1) 编辑
摘要: 前置知识 线段树 \(and\) 树上基本操作 定义 几个在树链剖分很重要的概念。 重儿子 对于一个父节点,含有节点数最多的儿子称为重儿子。但重儿子只有一个,若满足条件的儿子有多个,则指定其中任意一个儿子为重儿子。 轻儿子 对于一个父节点,除了重儿子以为,其余的都称为轻儿子。 重边 由父节点与重儿子 阅读全文
posted @ 2021-03-06 22:50 Last_Breath 阅读(252) 评论(0) 推荐(1) 编辑
摘要: 前言 博主很笨 ,如有纰漏,欢迎在评论区指出讨论。 二分图的最大匹配使用 \(Dinic\) 算法进行实现,时间复杂度为 \(O(n\sqrt{e})\),其中, $n$为二分图中左部点的数量, \(e\) 为二分图中的边数。若是匈牙利算法,时间复杂度为 \(O(nm)\) , \(m\) 为二分图 阅读全文
posted @ 2021-02-23 17:36 Last_Breath 阅读(1741) 评论(1) 推荐(3) 编辑
摘要: 前言 最开始搞 \(OI\) 的时候接触了搜索算法,后面基本上没有在练过了。若本文有误,请在讨论区指出。 本文例题链接 思想 假设一张图, \(ans1\) 在很深的地方, \(ans2\) 离搜索树的根节点最近,但是需要找到的答案为 \(ans3\) 。 首先考虑 \(DFS\) ,一般是一搜搜到 阅读全文
posted @ 2021-02-04 17:35 Last_Breath 阅读(1319) 评论(1) 推荐(2) 编辑
摘要: 前言 斜率优化通常使用单调队列辅助进行实现,用于优化 \(DP\) 的时间复杂度。 本文例题链接 适用范围 使用单调队列优化 \(DP\) ,通常可以解决型如: \(dp[i]=min(f(j))+g(i)\) 的状态转移方程。其中 \(f(i)\) 是只关于 \(i\) 的函数, \(g(j)\) 阅读全文
posted @ 2021-02-02 17:08 Last_Breath 阅读(397) 评论(4) 推荐(4) 编辑
摘要: 前言 题目链接 题意 有 \(n\) 只球队, \(m\) 场比赛,有实力值 \(a_i\) 和帅哥数 \(b_i\) 。 \(m\) 场比赛的输入格式为 \(p_i\) \(q_i\) 。有一男一女,男生认为精彩度为两比赛的实力乘积,女生认为是帅哥数之和。在女生认为的精彩度不少于 \(c\) 时, 阅读全文
posted @ 2020-12-31 13:29 Last_Breath 阅读(125) 评论(0) 推荐(1) 编辑