2025年8月8日
摘要: 带负权的无负环最短路问题 对于一张有负边权的图,普通 Dijkstra 就不能用了,比如: 正常的 Dijkstra 扩散的节点依次为 1,3,2,41,3,2,41,3,2,4。 这时候可以发现,当点 222 扩散的时候,原本达到点 333 的路径长度是 111,路径 1⟶2⟶31\longrig 阅读全文
posted @ 2025-08-08 22:26 fish2012 阅读(7) 评论(0) 推荐(0)
  2025年7月23日
摘要: 前置知识: Dijkstra 题目1 AT_abc070_d [ABC070D] Transit Tree Path 由于点 K K K 是固定的,并且是无向图(题目说是树),其实可以理解为求点 K K K 到点 x j x_j xj​ 的最短路加上点 K K K 到点 y j y_j yj​ 的最 阅读全文
posted @ 2025-07-23 20:22 fish2012 阅读(6) 评论(0) 推荐(0)
  2025年7月22日
摘要: 图 有若干个节点,有若干条边连接节点。(两个点之间不是必须相连) 比如: 有向图 可以理解为边上面有箭头的图,比如下面这张图: 在这张图中,点 1 1 1 可以通过这条有向边到达点 2 2 2,但是点 2 2 2 到达不了点 1 1 1。 有向图的边是有单向性的。 无向图 只要连了边,边两端的点都可 阅读全文
posted @ 2025-07-22 21:01 fish2012 阅读(6) 评论(0) 推荐(0)
  2025年7月21日
摘要: 树 树有 nnn 个节点,并且只有 n−1n-1n−1 条边连接所有的点,保证所有点联通,也就是没有环。 比如: 整理后可以得到上图这样一个形状。 然后标上层数。 对于点 xxx 来说层数小于点 xxx 并且有边与之相连的点只会有一个,这个点被称为点 xxx 的父亲节点,而点 xxx 成为这个点的子 阅读全文
posted @ 2025-07-21 19:54 fish2012 阅读(18) 评论(0) 推荐(0)
  2025年7月18日
摘要: 引入 一个这样的问题,给定 n n n 个整数(可能为负) a 1 … a n a_1\ldots a_n a1​…an​ ,从中选出若干个数使其总和最大。 这明显就是贪心,正数就选,其余不管。 那如果增加一个规则,不能选相邻的两个数,就不能再贪心了。 比如: − 1 − 5 4 214748364 阅读全文
posted @ 2025-07-18 10:47 fish2012 阅读(4) 评论(0) 推荐(0)
  2025年7月12日
摘要: 题目传送门 前置知识:最小生成树 分析 对于 kruskal 算法,是对边权排序,然后依次判环然后加边。 但是这里有是限制的,我们跑出来最小生成树不一定是有 n e e d need need 条白边的最小生成树。 那怎么办? 比如白边数量大于 n e e d need need,多余的白边是什么到 阅读全文
posted @ 2025-07-12 22:54 fish2012 阅读(2) 评论(0) 推荐(0)
  2025年7月10日
摘要: 使用了二叉搜索树 其实也叫二叉查找树。 性质 一棵树,每一个节点的左儿子的值都严格小于这个点的值,右儿子的值都严格大于这个点的值。 作用 比如一道题: 给定 NNN 个元素 xxx 及其对应值 kkk,MMM 次询问每次一个整数 yyy,求其对应值,若没有,返回 000 −1018≤x,y≤1018 阅读全文
posted @ 2025-07-10 11:02 fish2012 阅读(4) 评论(0) 推荐(0)
  2025年7月9日
摘要: 当一个人类定义了一个这样的数组: int a[M][M][M][M]; 当一个人类又得到了两根木棍…… 容斥原理 两根木棍如下摆放: 长度分别为 444,777,中间重叠了 222,总长本应该是 4+7=114+7=114+7=11,但是由于中间的重叠,所以总长是 11−2=911-2=911−2= 阅读全文
posted @ 2025-07-09 08:42 fish2012 阅读(4) 评论(0) 推荐(0)
  2025年7月7日
摘要: 题目传送门 分析 首先分析样例。 小 R 第一箭就射中的概率是 1 2 \frac{1}{2} 21​,但是他也有 1 2 \frac{1}{2} 21​的概率射不中,这个时候他就只能祈祷另一个人射不中,此时的概率就是 1 2 × ( 1 ⁣ − ⁣ 1 2 ) = 1 4 \frac{1}{2}\ 阅读全文
posted @ 2025-07-07 19:57 fish2012 阅读(4) 评论(0) 推荐(0)
  2025年7月4日
摘要: Game人生历程: 【2025.7.4 17:42】代码写成 【2025.7.4 19:26】第一次修改 【2025.7.4 20:50】增加注释,再次修改 【2025.7.4 20:54】修改漏洞 【2025.7.4 21:24】修改了磁铁不能吸引的问题 【2025.7.4 21:28】修改了破坏 阅读全文
posted @ 2025-07-04 17:33 fish2012 阅读(4) 评论(0) 推荐(0)