文章分类 - 日常刷题
树形DP
摘要:## 树形DP ## 例题 ### 树的直径 [题目🔗](https://www.acwing.com/problem/content/description/1074/) 一棵树中,最大的$dist[x][y]$, $x, y \in V$ 求解方法: 1. 任取一个点作为起点$r$, 找到离$
阅读全文
发现环-拓扑排序
摘要:## 发现环 ## 题目链接 [发现环](https://www.lanqiao.cn/problems/108/learning/?page=2&first_category_id=1&sort=students_count&second_category_id=3&tags=%E5%9B%BD%
阅读全文
幸运数-简单数论/找规律
摘要:## 幸运数 ## 题目 试题 C: 平方差(数学 / 结论) 时间限制 : 1.0s 内存限制 : 256.0MB 本题总分:10 分 【问题描述】 给定 L, R,问 L ≤ x ≤ R 中有多少个数 x 满足存在整数 y,z 使得 x = y^ 2 − z^ 2 。 【输入格式】 输入一行包含
阅读全文
搭积木-记忆化搜索-区间DP
摘要:## 搭积木 ## 题目 [搭积木](https://www.lanqiao.cn/problems/225/learning/?page=1&first_category_id=1&sort=students_count&second_category_id=3&tags=%E5%9B%BD%E8
阅读全文
对局匹配 线性DP-分块
摘要:## 对局匹配 线性DP-分块 ## 题目链接 [对局匹配](https://www.lanqiao.cn/problems/107/learning/?first_category_id=1&page=1&sort=students_count&second_category_id=3&tags=
阅读全文
HBCPC 2020 ending 概率+DFS
摘要:HBCPC 20202 Ending 题目 7-4 Ending 作者 ICPC Team 单位 北京邮电大学 Rilly is playing an interesting game during COVID-19 quarantine. The game has n different even
阅读全文
HBCPC 2020 phobia 二分答案+最长上升子序列
摘要:HBCPC 2020 phobia 题目 People with social phobia hate the moment when meeting some acquaintances on the street. So they will try to avoid any chance of
阅读全文
牛站 类Floyd-dp + 矩阵快速幂
摘要:题目 牛站 思路 首先题目没有给总共有多少点, 但是告诉我们边$T \le 100$, 所以点的个数$N \le 200$, 因此如果我们考虑$bellman-ford$魔改算法,复杂度在$\Theta(NT) \le 1e8$, 所以我们先不考虑该算法, 考虑$类Floyd$算法复杂度在$O(
阅读全文
排序 Floyd-计算传递闭包
摘要:排序 Floyd-计算传递闭包 题目 排序 思路 考虑$d[i][j]$只有两种边权$0/1$, $0$表示$i$和$j$的关系未知, $1$表示$i < j$ (即$d[i][j]$表示两点之间是否连同的问题) 第一种情况是已经排序好,第二种是存在环的情况 (例如$i < j$ ,$j <
阅读全文
观光之旅 Floyd-求最小环
摘要:观光之旅 Floyd 求最小环 题目 观光之旅途 思路 设路径$u_i \rightarrow u_w \rightarrow u_j \rightarrow \dots \rightarrow u_i$ 表示环$S$, 其中$w$表示路径中编号最大的点,且$i$和$j$ 是直接连接$w$点,那
阅读全文
01分数规划
摘要:01分数规划 题目 观光奶牛 思路 在图论问题中,求(一堆的和 / 一堆的和)这样的问题我们称之为$01$分数规划,一般我们都采用二分来做。 $\frac{\sum f_i}{\sum t_i}$ , 其中$f_i$表示点权,$t_i$表示边权。 $$ \frac{\sum f_i}{\su
阅读全文
智能护理中心统计 DFS+懒标记删除
摘要:智能护理中心统计 题目 智能护理中心系统将辖下的护理点分属若干个大区,例如华东区、华北区等;每个大区又分若干个省来进行管理;省又分市,等等。我们将所有这些有管理或护理功能的单位称为“管理结点”。现在已知每位老人由唯一的一个管理结点负责,每个管理结点属于唯一的上级管理结点管辖。你需要实现一个功能,来统
阅读全文
观光 拆点+Dijkstra(求次短路条数)
摘要:观光 题目 观光 思路 最短路计数的拓展,和拯救大兵瑞恩一样,需要我们拆点,然后在对拆后的点进行Dijkstra, 将一个点的状态拆为最短距离和次短距离,同样可能存在环形依赖,我们可以跑Dijkstra来进行状态的递推,对比最短路计数,我们只需要在加一个次短路的状态,每次状态更新的时候,如果当前
阅读全文
关于最短路算法的拓扑序列
摘要:关于最短路算法的拓扑序列 最短路计数问题 题目 最短路计数 思路 我们考虑依赖方式(动态规划的思想): 1. 先求出**全局最小值**是多少 2. 再分别求出每个子集中**等于全局最小值**的元素个数 如果存在环形依赖关系的话,这样并不能求出最终的数量。 我们举例环形依赖问题: 小王欠小张100
阅读全文
拯救大兵瑞恩 拆点+双端队列BFS
摘要:拯救大兵瑞恩 题目 拯救大兵瑞恩 思路 我们可以先状压DP的思维思考,$dp[x][y][state]$ 表示了再$(x, y)$位置有钥匙状态为$state$的最短距离,考虑到$key$最多只有$10$种,$10 \times 10 \times 2^{10}$≈$1e6$, 足以开这么大的数
阅读全文
选择最佳路线
摘要:选择最佳路线 题目 选择最佳路线 思路 比较简单的题,可以建立虚拟源点或者建立反向边,都是比较简单的思路,这里直接上各种思路的代码 Code Dijkstra建立反向边 #include <iostream> #include <cstring> #include <queue> using i
阅读全文
最优贸易-SPFA+思维
摘要:最优贸易 最贸易 思路 设我们可以以$i$为分界点,分别求经过$[1, i]$的路径的最低价格,和$[i, n]$的最高价格, 相减便可以得到以以$i$为分解点的最短路径,这样遍历所有分解点可以得到答案, 对于上述做法左右两边都是可以任意走的,也可以当天买当天卖, 那么可以用dp来求吗,显然图中
阅读全文
道路与航线 Dijkstra+DAG求最短路
摘要:道路与航线 题目 道路与航线 思路 一开始想的是SPFA, 平均情况$O(M)$, 但是最坏是$N \times M$, 提交后超时了。开始思考题目中的边和相关条件 1. 道路**无向**,且为**正权边** 1. 航线**有向**,且可能存在**负权边**,另外航线不存在回路,即为$DAG(有
阅读全文
通信线路-二分+双端队列BFS
摘要:通信线路-二分+双端队列BFS 题目 通信线路 思路 理解一下题意,找到一条路径使得,源点到终点的路径中第$k + 1$大的边权最小,也就是下图标注的$(1->2->5)$的路径花费为$4$. 求最大值最小显然我们可以想到二分答案,那么如何二分那,我们先设一个$x$, 对于$> x$ 的边权
阅读全文
双端队列BFS-电路维修
摘要:双端队列BFS 对于图中只存在边权为$0, 1$的边,我们可以考虑双端队列优化Dijkstra, 即我们用一个双端队列来维护Dijkstra中堆的性质,具体做法如下: 如果当前更新边的边权为$0$,那么我们可以将其插入到队首 如果边权为$1$我们可以将其插入到队尾 对于上面的做法, 我们
阅读全文
浙公网安备 33010602011771号