摘要: 我们先来考虑没有特殊节点怎么做 设\(f[i][0/1]\)表示以\(i\)为根的子树,\(i\)是否放置军队的最小代价,这个DP非常简单,方程就不写了 然后考虑有一个特殊节点怎么做,我们不妨以这个特殊节点为根,于是就可以发现,其他点的\(f\)的值显然都不变,对于根节点,题目要求是否放置,输出对应 阅读全文
posted @ 2024-02-06 19:40 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题目真的不只是绿题。。蓝肯定是有的 设状态\(f[i][j][l]\)表示从\(i\)到\(j\)的长度是\(2^l\)是否可行 注意到题目给的每一条边的长度都是\(1\),所以对任意一条路径,每次跑步机结束时一定是停在某个点上的,不会停在某条边上,所以这个状态设置是正确的 然后还注意,为什么第 阅读全文
posted @ 2024-02-06 18:33 最爱丁珰 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 蓝书求最小环的思路,就是说我们要保证遍历所有的环 那么怎么保证遍历所有的环呢?我们就要给每个环选一个代表元素,由于\(k\)(阶段)是很特殊的,所以我们选择\(k\)当代表元素,而且让\(k\)最大,然后就不难想到蓝书上的做法 注意一定要在floyd算法执行之前进行ans的更新 当然也可以把\(k\ 阅读全文
posted @ 2024-02-06 17:21 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 单源最短路求解路径条数很好做,但是多源最短路要稍微麻烦一点 dij求最短路计数是不是有问题?只适用于正边权图计数吧,如果有\(0\)边不一定能保证取出的时候的计数是正确的?(自己造个数据测试一下) spfa想一下,还没想 这一道题目就是用floyd求解多源最短路条数,正确性的话也是按照蓝书上那么想 阅读全文
posted @ 2024-02-06 17:09 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 这道题目主要是读懂题意,知道是求最短路。。。联系下实际就好了 但是我想了一个问题啊,floyd求解的时候,比如求最短路,为什么要没有负环呢?很显然是因为存在负环时,就没有最短路了,但是现在floyd不像dij,他还是只会跑\(O(N^3)\),那他跑出来的东西是啥 我觉得是不经过环的最短路,用数学归 阅读全文
posted @ 2024-02-06 16:43 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 方法一: 来证明一下为什么一定可以找到严格次短路 显然最终得到的\(ans\)比\(dis[n]\)大,如果\(ans\)不是严格次短路,那么\(ans\)还比严格次短路大,假设图中严格次短路为下图 那么我们枚举这条路径上面的边的时候,得到的\(temp\)肯定比\(ans\)小。因为\(temp\ 阅读全文
posted @ 2024-02-06 16:08 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑