LOJ #2252. 「ZJOI2017」多项式(倍增)

该博客介绍了LOJ 2252题目,涉及ZJOI2017的一道经典简单OI题。博主通过一句题解概述了问题核心:使用倍增法和递归快速幂解决基于(mod2)的多项式平方问题。由于需求串长度限制,博主建议预处理存储所有可能长度的串,并在倍增过程中动态更新串计数,同时处理边界条件,如使用__int128处理大整数,以及通过DP确定最小保留字符数以限制每次删除操作。博客提供了AC代码作为解决方案。
摘要由CSDN通过智能技术生成

题目
思路简单代码毒瘤的经典简单OI题,真的只需要会倍增

题解主要就是一句话:一个 ( m o d 2 ) \pmod 2 (mod2)意义下的多项式的平方就是每一项的指数 × = 2 \times =2 ×=2,那么可以考虑使用递归形式的快速幂来利用可快速平方和乘一个原多项式的性质,又因为需求串长度 < = 18 <=18 <=18,所以我们可以考虑存长度为需求串长的所有串的个数,并在倍增时简单转移所有串的个数,并且每次删除最前面的若干字符来求在区间 [ x , n ∗ m + 1 ] [x,n*m+1] [x,nm+1]的串的个数即可得到 [ L , R ] [L,R] [L,R]的个数,最后只需要考虑一下边界情况,存最前面的 2 n + 1 2n+1 2n+1个字符即可。
。。。。。。

简单转移 − > -> >预处理即可。
边界处理 − > -> >__ i n t 128 \rm int128 int128大法好。
限制删除 − > -> > d p \rm dp dp求出倍增的每个时刻最少需要留多少位,即可保证每次都只删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值