1. 程式人生 > >一道不知道哪裡來的網路流題

一道不知道哪裡來的網路流題

給出n個數字,給出m種操作。
每個操作形如:可以使第x個數和y個數同時除以一個不為1的公約數,從而使得匹配數+1。
求最大可能的匹配數。
(n<=100,m<=100,wi<=1e9)

弱化版:保證x,y奇偶性不同。

這是個傻逼題。
首先奇數下標,偶數下標各放一側。
直接分解質因數。連邊時兩側對應質因子連邊,跑一下dinic即可。

強化版:不保證上述性質。

袁神給了個很強的做法。
把所有點都在兩側擺一遍,和剛才同樣的做法,求出來後maxflow/2即為答案,證明顯然。