bzoj2673】的更多相关文章

国际惯例题面:如果我们枚举放几个零件的话,第二个限制很容易解决,但是第一个怎么办?(好的,这么建图不可做)考虑我们枚举每行每列最多放几个零件t,然后计算零件总数sum.这样如果可行的话,则有t*B<=sum*A.考虑第一个限制怎么办.我们可以钦定所有可行的位置都放上零件,然后再把多的零件拆下来.我们令sxi为第i行能放的最多零件数,syi为第i列能放的最多零件数.由源点向每一行连流量sxi费用0的边,每一列向汇点连流量syi费用0的边.然后让每一行i向每一列i连流量t费用0的边,表示第i行和第j…
https://darkbzoj.cf/problem/2673 有一个芯片,芯片上有N*N(1≤N≤40)个插槽,可以在里面装零件. 有些插槽不能装零件,有些插槽必须装零件,剩下的插槽随意. 要求装好之后满足如下两条要求: 1.第 i 行和第 i 列的零件数目必须一样多(1≤i≤N). 2.第 i 行的零件数目不能超过总的零件数目的 A/B(1≤i≤N,0≤A≤B≤1000,B≠0). 求最多可以另外放多少个零件(就是除掉必须放的).如果无解输出impossible. zkw费用流就是像跑最大…
限制这么多 肯定是网络流 考虑连边 首先我们计算出每行最多放的棋子数$sx[i]$,每列最多放的棋子数$sy[i]$ 首先由源点向第$i$行连流量为$sx[i]$费用为$0$的边,第$i$列向汇点连流量为$sy[i]$费用为$0$的边,这个是套路 第一个限制很好解决,采用正难则反思想,考虑能“拆下”多少绿色信号灯,第$i$行向第$i$列连一条流量为他们最大可以拆下信号灯数量费用为$0$的边就可以了 我们考虑第二个限制 显然直接建边不是很可做 我们考虑枚举 如果枚举总流量的话,第一个限制中连的边的…
Dirichlet 卷积是两个定义域在正整数上的函数的如下运算,符号为 $*$ $(f * g)(n) = \sum_{d|n}f(d)g(\frac{n}{d})$ 如果不强调 $n$ 可简写为 $f * g$ 常用: $\mu * 1 = \epsilon$ $\phi * 1 = id$ $\epsilon(n) = [n=1]$ $id(n)=n$ Mobius 反演是基于 Dirichlet 卷积的一种....化简式子的方法? 比较有用的结论就是 $\mu * 1 = [n=1]$ 由…