2019.07.10【NOIP提高组】模拟 B 组总结

今天考的不是很理想
估分:100+100+50+0=250
实际:100+30+60+0=190

第一题:

Fibonacci sequence

矩阵乘法
f[0..3]表示第n个斐波那契的数,第n+1个数,前n个数的和,转移显然。


第二题:

Number

二分
二分mid,在1~mid中容斥原理即可。然而考场因细节打挂了,而且没开long long。

第三题:

PermRLE

状压dp。
设f[ S ][ i ][ j ]表示选数状态为S,每个块中开头选了第i个,结尾选第j个的最大能删的数的个数。
预处理出inside[ i ][ j ],表示每个块中第i个数与第j个数不相等的个数。
between[ i ][ j ]表示相邻两个块中前一个块的第i个与后一个块中第j个不相等的个数。
f[ S ][ i ][ j ]=max{ f[ S-(1<<j-1) ][ i ][ k ] +inside[ j ][ k ] }。
发现空间不够,我们可以将i那维压掉。

第四题:

TreeCount

我们发现1到所有点的最短路径是构不成环的,如果一个连通图不能构成环,那么它一定是一棵树。因此题意可以转化为求1到任意点的最短路构成的树的种数,因此根据乘法原理,我们直接将1到每个点的最短路个数乘起来即可。

 有待提高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值