魔术球问题

这道题几个重要信息:

1、依次放入编号为1,2,3,...的球。

2、任何2个相邻球的编号之和为完全平方数。

这两点就可以确定网络流构图,一定是$DAG$图。

难点在于放入到底多少个球呢?

网络流算法比较强大的是可以在残余网络中继续求解。

所以我们从小往大的球放,同时建立与其他点的连接。

直到最小路径覆盖$ball\_num-maxflow>n$即可。

连接方法不再赘述,可参考最小路径覆盖问题。只不过这道题是动态的构图,不影响求解。

原文地址:https://www.cnblogs.com/ac-evil/p/10367477.html