传送门
首先考虑如何求出第一问 要求边权和最小 按位分开考虑,实际上就是让这一位上的1尽量少 对于每一个点i,如果这一位已经确定,那么0:s->i,inf,1:i->t,inf 对于每一条边,将两个端点x,y,x->y,1;y->x,1 这样跑最小割
据说这样跑完最小割了之后加一个限流然后跑费用流是可以的 不过有一个非常巧妙的方法能将这两问的答案一起求出来 同样按位分开考虑,同样是想要1尽量少 对于每一个点i,如果这一位已经确定,那么0:s->t,inf,1:i->t,inf;如果这一位没有确定,那么s->i,1 对于每一条边,将两个端点x,y,x->y,n+1;y->x,n+1 这样跑出来最小割,令x=ans/(n+1),y=ans%(n+1) 可以发现x即为第一位的答案,也就是边权和最少个数的1 y的含义即为点权和最少个数的1
认真读题md
新闻热点
疑难解答