摘要: 我是在在做网络流最小路径覆盖的时候找到这道题的 然后发现是个贪心+树形dp \\( f[i] \\)表示在\\( i \\)为根的子树中最少有几条链,\\( v[i] \\) 表示在\\( i \\)为根的子树中\\( i \\) 是( 0)否(1)为一条链的端点 然后贪心转移即可(有链端点则连起来 阅读全文
posted @ 2018-01-03 21:54 lokiii 阅读(265) 评论(0) 推荐(0)
摘要: 果然还是不会建图… 设\\( i \\)到\\( j \\)有通路,代价为\\( w[i][j] \\),瞬移到i代价为\\( a[i] \\),瞬移到i代价为\\( a[j] \\),逗号前是流量。 因为每个点只能经过一次,所以流量限制为1,注意到从s开始很难保证出发点不同,所以但是又有联通条件, 阅读全文
posted @ 2018-01-03 20:29 lokiii 阅读(136) 评论(0) 推荐(0)
摘要: 其实不用拆点,对于每个人我们假装他是\\( s[i]+1 \\)个点,可以由他向T点分别连\\( s[i]+1 \\)条边,容量为\\( t[i][j] t[i][j 1]\\),由S点向所有产品i连容量为c[i]的边,由所有产品向能制造它的人连容量为inf的边。 因为是最小费用最大流,\\( w[ 阅读全文
posted @ 2018-01-03 18:52 lokiii 阅读(103) 评论(0) 推荐(0)
摘要: 达成成就:为二分调参 !:多次memset的话要把数组大小开严格一点,否则会T 看到网格图,首先黑白染色。 注意到每次操作都是在一个黑格子和一个白格子上进行的,也就是说,最后黑格子数字和白格子数字和的差是不变的。 对于n m%2==0的情况: 注意到在这种情况下黑格子和白格子一样多,也就是当黑格子数 阅读全文
posted @ 2018-01-03 16:43 lokiii 阅读(161) 评论(0) 推荐(0)
摘要: 先跑一遍最大流,然后对残量网络(即所有没有满流的边)进行tarjan缩点。 能成为最小割的边一定满流:因为最小割不可能割一半的边; 连接s、t所在联通块的满流边一定在最小割里:如果不割掉这条边的话,就能再次从s到t增广 连接两个不同联通块的满流边可能在最小割里:新图(即缩点后只有满流边的图)的任意一 阅读全文
posted @ 2018-01-03 11:43 lokiii 阅读(243) 评论(0) 推荐(0)
摘要: 玄学计数 LYY Orz 第一次见这种神奇的计数方式,乍一看~~非常不靠谱~~但是仔细想想~~还卡不掉~~ 就是把在建图的时候把正权变成w\ 10000 1,负权变成w\ 10000+1,跑最大权闭合子图。后面的1作用是计数,因为在最大权闭合子图中划到s点一侧的代表选,这样一来,后四位就是起了计数作 阅读全文
posted @ 2018-01-03 08:49 lokiii 阅读(267) 评论(0) 推荐(0)