摘要: A Shortest path of the king 题目大意: 给出$8*8$的棋盘,给定起点和终点,输出从起点到达终点的最短步数以及路径。 思路: 必定会尽可能选择沿着两点连线前进,容易得到这样最多能够行走$max(abs(end[0] - start[0]), abs(end[1] - st 阅读全文
posted @ 2020-09-26 20:37 Nepenthe8 阅读(111) 评论(0) 推荐(0) 编辑
摘要: Tree Tag 题目大意: 有一棵$n$个点的树,$Alice$和$Bob$起初分别在树上的节点$a$,\(b\)。 他们轮流在树上移动一段距离不超过$da$,$db$的路径。 两点间的路径长度为两点间树上简单路径的边数。 如果$Alice$能在无限次追及中追到$Bob$,则$Alice$赢,否则 阅读全文
posted @ 2020-09-24 16:12 Nepenthe8 阅读(193) 评论(0) 推荐(0) 编辑
摘要: Balanced Bitstring 题目大意: 给定字符串长度$n$和子串长度$k$,接下来给出字符串,该字符串由$0$,$1$和$?\(组成,其中\)?$可以代替$0$或$1$(代替完不能再修改),要求判断该该字符串的长度为$k$的子串中$0$和$1$的数量是否相等。 思路: 首先推出一个性质。 阅读全文
posted @ 2020-09-24 15:52 Nepenthe8 阅读(188) 评论(0) 推荐(2) 编辑
摘要: luogu-P3374 【模板】树状数组 1 luogu-P3368 【模板】树状数组 2 在这里稍微总结一下$luogu$上树状数组的两个模板。 稍微提一嘴$update()$和$query()$的遍历次序。 在$update()\(中\) x+=lowbit() $相当于每次加上从右往左数的(第 阅读全文
posted @ 2020-09-19 19:24 Nepenthe8 阅读(95) 评论(0) 推荐(0) 编辑
摘要: Lizards and Basements 2 题目大意: 有一队人,你可以用火球点某个人,会对当前人造成$a$点伤害,对旁边的人造成$b$点伤害。 不能打$1$号和$n$号,求最少多少发点死所有人。 输出最少次数和每次选择攻击的人的序列。 思路: 看数据范围容易想到暴力$dfs$,由于$1$号点不 阅读全文
posted @ 2020-09-18 17:47 Nepenthe8 阅读(122) 评论(0) 推荐(0) 编辑
摘要: CF6E Exposition 题目大意: 给一个$n$个元素的序列,从中挑出最长的子串,要求子串中元素差的最大值不超过$k$。问有几个最长子串,子串长度,以及这几个子串的起始、终止位置。 思路: 很容易想到尺取法。 我们使用$multiset$来完成对维护尺取的区间,因为$multiset$具有有 阅读全文
posted @ 2020-09-17 19:40 Nepenthe8 阅读(99) 评论(0) 推荐(0) 编辑
摘要: CodeForces - 1C 题目大意: 给出一个正$N$多边形的三个点,问其最小可能面积是多少。 思路: 多边形各个点肯定都在外接圆上,并且边越多越接近外接圆的面积,因此我们考虑选取尽可能少的边数。 已知三角形ABC三点坐标,可以求出该三角形三边边长,借助海伦公式可以得到$S_{\Delta A 阅读全文
posted @ 2020-09-15 17:51 Nepenthe8 阅读(135) 评论(0) 推荐(0) 编辑
摘要: POJ-1511 题目大意: 求1号点到各个点的最短距离,以及各个点到1号点的最短距离。 思路: 链式前向星+dijkstra堆优化 正反向存图+2次dijkstra code: #include <bits/stdc++.h> using namespace std; typedef long l 阅读全文
posted @ 2020-09-10 15:40 Nepenthe8 阅读(69) 评论(0) 推荐(0) 编辑
摘要: POJ-1502 #include <bits/stdc++.h> using namespace std; typedef pair<int, int> PI; const int N = 105; const int INF = 0x3f3f3f3f; struct Edge { int to, 阅读全文
posted @ 2020-09-09 18:02 Nepenthe8 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 点分治 POJ-1741 #include <cstdio> #include <algorithm> using namespace std; const int N = 10010; const int INF = 0x3f3f3f3f; int n, k, ans; int head[N], 阅读全文
posted @ 2020-08-26 22:40 Nepenthe8 阅读(97) 评论(0) 推荐(0) 编辑