摘要:
据说这个叫分层图最短路 是个常见套路 一般就是:有k次机会可以直接通过一条边,问起点与终点之间的最短路径 我的理解:就相当给dis和inque数组加了一维表示用了j次免费机会 然后在松弛的时候就有两种决策:1.走免费边 2.走要钱的边 8102年了 别写spfa了 cpp include defin 阅读全文
摘要:
好神奇的一道题 我们发现给白边加上权值后 跑MST后 选到的白边就越少 然后就二分这个加上的权值 不过边界好像有点恶心?不过没关系 思想最重要 cpp include define N 50005 define M 100005 using namespace std; struct Edge { 阅读全文
摘要:
好题 一开始想状压 但是转移根本无从下手 设f[i][j]表示i~j天的最低成本 可以想到从第i天到第j天要么不换方案,要么从第k天换一种方案,类似于floyd求最短路 就是 f[i][j]=min(f[i][j],f[i][p]+f[p+1][j]+k) 这是个区间dp 然后我们发现 对于题目中有 阅读全文
摘要:
显然最近的两个部落的距离是有单调性的 因此可以二分 考虑check 我们遍历所有点 先把 define N 1005 define eps 1e 6 using namespace std; template inline void read(T &x) { x=0; static char ch= 阅读全文