其他分享
首页 > 其他分享> > 2022.7.22NOIP测试

2022.7.22NOIP测试

作者:互联网

T1.tree

思路:

化简一下问题:在一颗树中,将其划分为子树大小相同,且子树大小与子树个数相乘为\(N\),的方案数。

经过思考发现,每一种因数情况只有1或0种方案。所以要对每一个情况进行验证。

在每次验证,由于要把树划分成子树,所以必有\(n|d\)个节点满足\(siz\)大小为\(d\)的倍数。

T2.seq

思路:

设f[i][j]为第i位向上涨了j的代价。

从第i-1位转移到第i位,\(O(n*a^2)\).

\[f[i][j]=\min(f[i][j],f[i-1][k]+j*j+c*abs(a[i]+j-a[i-1]-k) \]

最后对\(f[n][i]\)取min即可。

T3.color

思路:

背包DP。

\(dp[i]\)表示i被表示了多少次。

转移:

\[dp[0]=1 \]

\[dp[i]+=dp[i-a[i]] \]

\[ans=\sum {dp[i]*abs(x-i*2)} \]

T4.mex

FJOI[2016]神秘数

对于\(l\)到\(r\)这一段区间,设排名前i的数的值域为\([0,x]\)这时加入\(y,y<=x+1\)值域变成\([0,x+y]\),如果没有\(y\)那么就是\(x+1\)

可以采用主席树维护值域前缀和,然后每次将\([lst+1,now+1]\)之间的数全部加入。
\(lst=now+1,now+=sumplus\)

标签:22NOIP,min,值域,lst,abs,测试,2022.7,now,dp
来源: https://www.cnblogs.com/sszxlcy/p/16511062.html