摘要: 仍然建出圆方树,方点与原点之间的边权与上一道题目一模一样 考虑普通的树怎么求树的直径:利用树形DP;于是尝试在圆方树上用树形DP。 如果根是圆点,那么我们需要求解形如下图的直径 按照我们之前建的边权,像普通的树形DP一样转移就好了 如果根是方点,那么我们需要求解形如下图的直径 于是就转化成了环路运输 阅读全文
posted @ 2024-08-24 22:46 最爱丁珰 阅读(8) 评论(0) 推荐(0)
摘要: 不难将题目转换成求原图的最大团,然后补图转化变成求最大独立集;由于一般无向图的最大独立集是NPC,所以考虑二分图;不难发现此时\(A\)中只有选\(0,1,2\)三种情况(分别是一个都不选,选一个偶数或者一个奇数,选一个偶数和一个奇数),于是枚举这三种情况,再在\(B\)中去掉与枚举的点有边的点,对 阅读全文
posted @ 2024-08-24 20:57 最爱丁珰 阅读(8) 评论(0) 推荐(0)
摘要: 利用这道题目的结论,可以知道,“对于任意一个元素来说,与其在同一行的数和与其在同一列的数都是不变的”,而我们最终要在主对角线上面有\(n\)个黑点,考虑这\(n\)个黑点是最开始的哪\(n\)个黑点,于是对于一个黑点,将其所在行和列连边,然后对二分图跑最大匹配,最大匹配是完备匹配就说明有解,否则无解 阅读全文
posted @ 2024-08-24 17:06 最爱丁珰 阅读(10) 评论(0) 推荐(0)
摘要: 对任意一个路径可重复点覆盖(不一定最小),如果存在一个点\(p\)被重复覆盖了,那么就任取经过其的两条路径\(···\rightarrow u\rightarrow p\rightarrow v\rightarrow···\)和\(···\rightarrow x\rightarrow p\righ 阅读全文
posted @ 2024-08-24 14:50 最爱丁珰 阅读(29) 评论(0) 推荐(0)
摘要: 提醒两个点: 一.KM求的是权值和最大不是最小所以边权要取反 二.最后累加的是w[match[i]][i],不是match[i][match[i]] 阅读全文
posted @ 2024-08-24 13:55 最爱丁珰 阅读(12) 评论(0) 推荐(0)