JZOJ 100035【NOIP2017提高A组模拟7.10】区间
2017-07-10 19:23
295 查看
题目大意:
1<=k<=n<=2∗107
1<=t,p<=109
time limits:2s
题解:
我们注意到这是没有办法用逆元的。但就就是这就是分块啊(为毛比赛没有一个人想到)。
把n个序列分成长度为k的若干段,当然最后一段不一定是k。
然后对每一块求一个前缀、后缀乘积和。
最后暴枚区间,注意到每个区间刚好会被两段或一段覆盖,直接O(1)算即可。
这道题最难点在于想到刚好每段是k个,这样查询时刚好只会覆盖两段的前缀、后缀。
如果是k+1、k-1个,还勉强可以。
k+2个,可能就不是前后缀了。
k-2个,可能就覆盖三段了,就是这么巧。
Code:
相关文章推荐
- JZOJ 100035. 【NOIP2017提高A组模拟7.10】区间
- 区间【NOIP2017提高A组模拟7.10】
- jzoj5363【NOIP2017提高A组模拟9.14】生命之树 trie+启发式合并
- JZOJ 4919.【NOIP2017提高组模拟12.10】神炎皇
- JZOJ5358【NOIP2017提高A组模拟9.12】BBQ
- 区间【NOIP2017提高A组模拟9.16】
- JZOJ 100036 【NOIP2017提高A组模拟7.10】随机
- JZOJ5347【NOIP2017提高A组模拟9.5】遥远的金字塔 斜率优化 DP
- JZOJ 100037【NOIP2017提高A组模拟7.11】后缀数组
- JZOJ5373【NOIP2017提高A组模拟9.17】信仰是为了虚无之人
- JZOJ 4778. 【NOIP2016提高A组模拟9.14】数列编辑器
- 【NOIP2017提高A组模拟10.5】Snake vs Block
- [JZOJ5395]【NOIP2017提高A组模拟10.6】Count
- 【NOIP2017提高A组模拟10.7】Repulsed
- JZOJ 5398. 【NOIP2017提高A组模拟10.7】Adore
- JZOJ5398. 【NOIP2017提高A组模拟10.7】Adore
- 【JZOJ4743】【NOIP2016提高A组模拟9.2】积木
- JZOJ 5234. 【NOIP2017模拟8.7A组】外星人的路径
- 【JZOJ4772】【NOIP2016提高A组模拟9.9】运输妹子
- JZOJ 4911. 【NOIP2017模拟12.3】人生的叹息