「2019.8.9 考试」神仙的dp总让人无所适从

  T1是个容斥,我掐手指一算他为了卡容斥的正确性,绝不会把n和m出的很相近($O(n^2)$算法在nm相等的时候达到最高时间复杂度),不然就太好做了,于是开了特判+各种卡常和滚动数组优化,卡到了70分,$n^2$过100000,暴力碾标算。T2十三分钟AC没啥说的,也就是审题吧。大概是个flag了。T3的话自以为状压拿了50,看来是我太天真了。WA了10分,QJ的另外10分没拿到noooooooo。其实是题意理解有偏差。

T1想了好久组合数没有想到,T2直接秒掉,T3打了半天废的,大概这就是命吧,下次目标就是A掉T1,(这么多场从没A过T1。。)

下面是题解:

T1:考虑大力容斥,考场上一直在想怎么挖掉dp的一维,最终发现不可挖,就直接过了,没有想容斥,其实挺好想的。

$ans=C_{m-n+n-1}^{n-1}+\sum \limits_{i=1}^{min(n,m/K)}(-1)^iC_{m-n+(n-1)-iK}^{n-1}C_n^i$

$ans=C_{m-1}^{n-1}+\sum \limits_{i=1}^{min(n,m,K)}(-1)^iC_{m-1-iK}^{n-1}C_n^i$

O(m)容斥既可。

T2:老套路建反图Tarjan缩点+拓扑+dp即可。

设$dp[i]$为第i个的SCC完全被轰炸所需要的时间。

$dp[i]=\max \limits_j^{e(i,j)} dp[j]+sz[i]$

$ans=\max \limits_{i=1}^{n} dp[i]$

T3是个神仙dp,是真的神仙。

猜你喜欢

转载自www.cnblogs.com/Lrefrain/p/11330377.html
今日推荐