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

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

第一题:找规律题,首先把在同一个大三角形的点转化。然后答案为经过第三个三角形或者不经过。发现跟二的次幂有关系。

第二题:我的做法:设fif_ifi表示前iii个字符构成的最短文本长度。有转移fi=fj+k+i−jk(k∣(i−j))f_i=f_j+k+\frac{i-j}{k}(k|(i-j))fi=fj+k+kij(k(ij))。优化一下,用哈希判重。时间复杂度可以做到O(n2log⁡n)O(n^2\log n)O(n2logn)。还可以设fi,jf_{i,j}fi,j表示以iii为结尾的串i−j+1i-j+1ij+1iii的最短压缩答案。转移可以用ggg维护,时间O(n2)O(n^2)O(n2)

第三题:迭代加深启发式搜索。注意几点优化:估值函数,考虑优化左上方的联通块,每次不递归上面。时间复杂度玄学。

第四题:考虑用线段树维护三个值l,r,suml,r,suml,r,sum,分别表示区间从左/右开始的最长空连续段和区间的最长空连续段。pushup时分类讨论一下,查询时先看左子树再看中间最后看右子树。注意:懒标记用完后要清空。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值