摘要:
测试地址:放棋子 做法:本题需要用到DP+组合数学。 观察发现,每种颜色的棋子都独占若干行和若干列,如果我们能知道在正好占用若干行若干列时,放若干个棋子的方案数的话,就可以做二维背包了!令f(i,j,k)为k个同色棋子正好占用i行j列的方案数,那么可得状态转... 阅读全文
摘要:
测试地址:轮状病毒 做法:本题需要用到DP+组合数学+高精度。 我们发现题目实际上求的是:将环划分成若干个区间,然后中心点向每个区间连一条边的方案数。我们不妨先考虑链上的情况。令f(i)为对一条长为i的链进行上述操作的方案数,那么有状态转移方程: f(i)=... 阅读全文
摘要:
测试地址:狼抓兔子 做法:本题需要用到平面图最小割转最短路。 注意到题目中要求一个平面图的最小割,然而这个图点数太多,我们不可能直接用网络流求解,但是我们注意到,如果在平面图中每两个相邻区域之间连双向边(我们把右、上边界和左、下边界看做两个不相邻的平面区域)... 阅读全文