摘要: 子序列肯定不可能是无限长的 由于amax=1e8 nmax=2e5 kmax=1e5 则summax=1e8 2e5 1e5=2e18 而longlong刚好能hold住 那也就是说一个子序列里面非1的个数不超过64个(longlong范围是2^64) 那我们可以把连续的1缩成一坨 然后枚举每个点 阅读全文
posted @ 2018-10-24 22:06 Patrickpwq 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 我们固定左端点 每当右边加入一个数 那么gcd肯定在原来的基础上丢掉某几个质因数 由于一个数最多有log个质因子 所以对于一个l gcd(l,r)不同的区间最多有log个 于是我们枚举左端点 二分寻找右端点 用线段树/st表查询一个区间里的gcd 再用哈希表更新 但是只能拿80分 区间是可合并的 用 阅读全文
posted @ 2018-10-24 17:43 Patrickpwq 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 我们发现直接做dp是不行的 有后效性 又发现T是满足单调性的 想到二分 考虑check 先来想想如何确定一个区间内的数经过修改能否满足limit 我们肯定是要把这个区间内的数两两的差改的尽量递增地平均才行 写出式子就是 (a[j] a[i])/(j 1) define INF 0x3f3f3f3f 阅读全文
posted @ 2018-10-24 16:37 Patrickpwq 阅读(119) 评论(0) 推荐(0) 编辑