摘要:
stack stack<int>sta; //定义一个栈sta sta.push(a); //将a入栈 sta.pop(); //将栈顶元素出栈 sta.top(); //访问栈顶元素 sta.empty(); //bool类型,若sta为空返回true,不为空返回false sta.size(); 阅读全文
摘要:
树的重心: 1 #include <cstdio> 2 #include <algorithm> 3 4 const int MAXN = 1e5; 5 const int INF = 0x3f3f3f3f; 6 7 int n; 8 int head[2 * MAXN + 10], numEdge 阅读全文
摘要:
题目link:http://poj.org/problem?id=3017 Part1: 首先拿到这道题,先得出普通的 dp。 设 f_i 表示将前 i 个数按最优方案分为几个合法的区间的最大值之和。 那么容易得出 dp 方程: f_i = min{ f_j + Max(j + 1, i) } (0 阅读全文
摘要:
前言: 设 $vis_i$ 表示第 $i$ 个点是否更新过其他点; 设 $dis_i$ 表示从起点 $s$ 到达第 $i$ 个点的最短距离; 设 $sdis_i$ 表示从起点 $s$ 到达第 $i$ 个点的严格次短距离; 设 $dis(u,$ $v)$ 表示第 $u$ 个点到达第 $v$ 个点的距离 阅读全文
摘要:
题目link:https://www.luogu.com.cn/problem/P1437 Part1: 首先可以考虑用第 $i$ 行来表示状态。 但是容易发现,如果想要知道第 $i$ 行的第 $j$ 个的状态,最差情况是需要枚举上面的 $2^n$ 个状态的。 因为每枚举到一个砖块,都需要考虑上面两 阅读全文
摘要:
曼哈顿距离: $Manhattandis(i,$ $j)$ $=$ $|x_i$ $-$ $x_j|$ $+$ $|y_i$ $-$ $y_j|;$ 切比雪夫距离: $Chebyshevdis(i,$ $j)$ $=$ $\max$$(|x_i$ $-$ $x_j|,$ $|y_i$ $-$ $y_ 阅读全文
摘要:
题目link:https://www.luogu.com.cn/problem/UVA1394 Part0: 题意简化: 约瑟夫问题。 给定 $n$ 个编号由 $1$ $\text{~}$ $n$ 的人,最开始杀掉第 $m$ 个人,接着每数 $k$ 个人就杀掉最后数到的那个,求最后剩下的人的编号。 阅读全文
摘要:
题目link:https://www.luogu.com.cn/problem/P2151 Part0: 注意题目有重边。 Part1: 首先这道题的题目限制为走过一条边不能按原边返回,这就导致了这个图的有向性,从而得出需要拆边的结论。 Part2: 拆完边后,容易看出如果要想满足题目限制,那么相当 阅读全文
摘要:
题目link:https://www.luogu.com.cn/problem/P5343 Part1: 首先这道题能够想到一个比较显然的 $dp$ 。 设 $dp[i]$ 表示长度为 $i$ 的序列有几种分块方式。 那么容易的出转移方程: $dp[i]$ $=$ $∑$ $dp[i$ $-$ $p 阅读全文
摘要:
题目link:https://www.luogu.com.cn/problem/P2579 Part1: 首先不看鳄鱼,那么题目要求的就是豆豆从 $s$ 走到 $e$ 并走过 $k$ 条边的方案数(这里每过一个石桥需要 $k$ 单位的时间,因此也可将其看作走过 $k$ 条边)。 这里不难想到图论中邻 阅读全文