【水水】关于11.7模拟赛
洛谷84 cena60(STL的锅)
启发一:线段树压缩内存(尽量不要用STL存数,严重拖慢速度!)
发现一个map的优化
启发二:(1 3 3 2 个数排名为 1 3 4 2(即第一个3与第二个3不一样))可以将范围(1,maxn_shu)拖到(1,n*maxn_shu)
cena 洛谷 20分
二分神题
抓住重点→至多只有一个奇数 所以若(l,mid)个数和为奇数,则答案在(l,mid)反之则在(mid+1,r),若两个区间都为偶数,则无解
(一开始想到了但因为坚信答案在端点所以WA了o(╥﹏╥)o)
cena 洛谷 40分,去掉低级错误100分
dp[m]=dp[m-i]+ans(i)<-这个形式挺常见的
还有就是俺蠢飞了
所以一定要明晰dp每一维的作用
没打,嘿嘿
法一:关于性质:长度n的序列的所有子序列的公约数,最多有logn个
所以记录下所有涉及到的gcd,然后存下每个gcd中最大区间,然后处理答案
法二:分治(很好的分治题)
题解中的一段话 在我们现在考虑的区间 [L,R]中,设最大价值区间为[l,r],设 mid=(L+R)/2 那么它只有三种可能: [l,r] 在区间 [L,mid)中。 [l,r]在区间 (mid,R]中。 l 在 [L,mid]中,r在 [mid,R]中。