摘要:
题解 考虑$dp$ $$ dp[i]=\sum_{i=0}^{i 1}dp[j] (i j)^2 $$ 我们可以设$(i j)$为$x$,那么随着$i$向右移动一格,每个$x$都是会增长$1$的。 $$ dp[i]=\sum_{i=0}^{i 1}dp[j] (x+1)^2 $$ $$ dp[i]= 阅读全文
摘要:
题解 要求最大值,所以考虑$min max$ $$ \max(S)=\sum_{T|S}\min(T)^{|T|+1} $$ 那么一个集合的$min$如何求呢,我们一共有$n (m 1)+m (n 1)$个相邻的对,令该集合涉及到的相邻的对的个数为$x$,那么期望的时间为$\frac{n (m 1) 阅读全文
摘要:
题解 我们可以把每个格子拆成两个点,一个表示横向的,一个表示纵向的,相邻的格子横向和纵向连边。 如果直接按照题意做的话,我们应当在横向和纵向的点之间连边,有限制的边设下界为1,然后跑可行流。 或者考虑用链覆盖的思想,我们把横向点当成入点,纵向点当成出点,然后相邻的入点连向出点。 入点和出点之间连边表 阅读全文