纪中 2020.07.20【NOIP提高组】模拟 总结反思

纪中 2020.07.20【NOIP提高组】模拟 总结反思

这次比赛整体稍微比前几次简单,但考得一般般。被T4坑了。。。

T1 矩阵的个数

比赛时

由于之前做过很多类似这种统计方案数的题目,再只有3列,很容易想到用DP来做。我在比赛时设 f i , a , b , c f_{i,a,b,c} fi,a,b,c表示当前第 i i i行,第一列、第二列、第三列已经填的数的和分别为 a a a b b b c c c,再枚举 x x x y y y表示当前这一行第一列、第二列分别放的数,那么这一行第三列的数可以直接算出来。由于需要6重循环来完成转移,我在比赛时觉得有很大的可能会TLE,但是发现 ∑ i = 1 n a i = c 1 + c 2 + c 3 \sum_{i=1}^{n}a_i=c1+c2+c3 i=1nai=c1+c2+c3,所以 a i a_i ai应该不会很大,就没有继续优化。

预估:50TLE

之后

实际:60TLE

还挺幸运拿了60分

其实可以减去一维, f i , a , b f_{i,a,b} fi,a,b即可,第一列第二列已经确定了,那么第三列也就确定了,然后类似地转移即可

T2 昂贵的珍珠垂饰

比赛时

这题很显然是一道数学题,然而我数学不好。

我随便推了一个公式样例对了, a n s = k n + 1 − k k − 1 − k ∗ n ans=\frac{k^{n+1}-k}{k-1}-k*n ans=k1kn+1kkn

预估:100

之后

实际:0WA

我脑残地想错了

每串珍珠垂饰都要必须由K种珍珠连成

然而我推的公式只排除了一串全是一种珠子的情况。。。。这都能想错

实际使用容斥原理(差不多是我第一次使用。。。?):
a n s = ∑ i = 1 n ( k n − C k 1 ∗ ( k − 1 ) n + C k 2 ∗ ( k − 2 ) n − . . . . . . ) ans=\sum_{i=1}^{n}(k^n-C_{k}^{1}*(k-1)^n+C_{k}^{2}*(k-2)^n-......) ans=i=1n(knCk1(k1)n+Ck2(k2)n......)
其实就是

a n s = ∑ i = 1 n ∑ j = 0 k − 1 ( − 1 ) j ∗ C k j ∗ ( k − j ) n ans=\sum_{i=1}^{n}\sum_{j=0}^{k-1}(-1)^{j}*C_{k}^{j}*(k-j)^n ans=i=1nj=0k1(1)jCkj(kj)n

解释一下, C k j ∗ ( k − j ) n C_{k}^{j}*(k-j)^n Ckj(kj)n 表示从 k k k种颜色中排除 j j j种颜色,用剩下的 ( k − j ) (k-j) (kj)种颜色组成的方案数。由于存在容斥关系,所以需要通过容斥原理计算。

再一通骚操作把这个式子展开

a n s = [ k 1 + k 2 + . . . + k n ] + ∑ i = 1 k ( − 1 ) i ∗ C k i ∗ [ ( k − i ) 1 + ( k − i ) 2 + . . . + ( k − i ) n ] ans=[k^1+k^2+...+k^n]+\\ \sum_{i=1}^{k}(-1)^i*C_{k}^i*[(k-i)^1+(k-i)^2+...+(k-i)^n] ans=[k1+k2+...+kn]+i=1k(1)iCki[(ki)1+(ki)2+...+(ki)n]
注意 [ ] [] []起来的式子,其实是等比数列,运用等比数列求和公式运算即可.

T3 戒指

比赛时

这题没怎么仔细思考,我想到 f i , j f_{i,j} fi,j表示当前填第 i i i个字母,之前10个字母的状压为 j j j的最大值,填的时候判断一下这一位和前几位结合产生的价值即可。但是状压不下,10个小写字母有 2 6 10 26^{10} 2610这么多种可能。。。

认为这题应该是需要什么高级的字符串算法来做,然而完全不会。果断放弃!

之后

这题实际也是用DP解决,设 f i , j f_{i,j} fi,j表示当前进行到第 i i i位,最后填的是第 j j j个单词的最大愉悦值。

T4 五子棋

比赛时

这题关键在于怎样找到方案使1号选手的积分最大,由于别的人先进行比赛会产生经验使1号选手处于劣势,我们就先安排1号选手和其他选手比赛,顺序用状压DP解决即可,其实转移与设都特别容易想到。这么水的题放到第四?!

预估:100

之后

AC

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值