TopCoder SRM 693 Div1 Medium BipartiteConstruction

传送门
由于Arena进不去所以代码就没写了,反正这种题重在思维吧。

DescriptionDescription

构造一个二分图使得其完美匹配数量为K(K<=1000000000)K(K<=1000000000),要求两边点数相同且都<=20<=20,边数<=120<=120,允许重边。

SolutionSolution

这场出题人是鏼大神,我是看cf上的blog,感觉自己语言表达能力较弱,干脆就当做个翻译好了QAQ
TopCoder SRM 693 Div1 Medium BipartiteConstruction
如果没有红色的边,那么整张图完美匹配数为00。现在,我们尝试在点kk与点AA之间加一条边,我们会发现完美匹配的数量增加了3k3^k。所以,我们可以根据KK的三进制表示来加边。最多会有4×204×20条黑边和2×202×20 条红边。