【2018.10.20】noip模拟赛Day3 二阶和
今年BJ省选某题的弱化版……
这看起来就没那么难了,有几种方法维护,这里提两种。
第一种(傻逼的我写的)
维护 一维&二维前缀和。
对于一个长度为$m$的序列$b_1,b_2,...,b_m$,
由于 二维前缀和$=b_1*m+b_2*(m-1)+...+b_m*1$,
每一项都和$m$有关系,而$m$可以是任意子区间的长度,于是很不好维护。
我们可以解除这些数与$m$的关系,最简单的方法就是把它们反过来维护。
我们已经维护了一维前缀和(即$b_1 to b_m$的和),
所以我们可以反过来维护 $b_1*0+b_2*1+...+b_m*(m-1)$ 的和,二维前缀和就是$(b_1+b_2+...+b_m)*m-[b_1*0+b_2*1+...+b_m*(m-1)]$。
这样就有一个全局维护的方法能够解除每个数与$m$的直接关系,而只跟每个数本身的位置$-1$有关系,即线段树维护每个区间$[l,r]$的一维前缀和 $b_l+b_{l+1}+...+b_r$ 与二维前缀和 $b_l*(l-1)+b_2*l+...+b_m*(r-1)$。
然后我还写了对拍,包括最终测评数据在内,所有$n,m\le 5000$的数据都过了……我没理解啊……
因为测了大数据$n,m=100000$后我就WA上天了(基本上没有跟标答一致的输出)。
后来浪费时间查了好久,发现增加线段树上的二维前缀和时,求等差数列 $(l-1)+l+...+(r-1)$ 的和的通项公式中有个$÷2$,而除法不能随便取模(被除数和除数中任意组成部分都不能取模)……
应该是这么写 $((((ll)(l-1+r-1)*(r-l+1))>>1)\%mod)$
我是这么写的 $((((ll)(l-1+r-1)*(r-l+1)\%mod)>>1)$
数学没学好$=GG$
改完就差不多了吧。
也可以把除以$2$改成乘$2$的逆元,这样两边就可以随便取模了。$2$的逆元也比较简单,就是$\frac{mod+1}{2}$。
第二种(机房dalao们写的)
换一种反过来维护的方式。
我们考虑当一个数
【2018.10.20】noip模拟赛Day3 二阶和的更多相关文章
- 2018.10.16 NOIP模拟赛解题报告
心路历程 预计得分:\(100 + 100 + 20 = 220\) 实际得分:\(100 + 100 + 30 = 230\) 辣鸡模拟赛.. T1T2都是一眼题,T3考验卡常数还只有一档暴力分. ...
- 2018.10.30 NOIp模拟赛 T1 改造二叉树
[题目描述] 小Y在学树论时看到了有关二叉树的介绍:在计算机科学中,二叉树是每个结点最多有两个子结点的有序树.通常子结点被称作“左孩子”和“右孩子”.二叉树被用作二叉搜索树和二叉堆.随后他又和他人讨论 ...
- 2018.10.20 NOIP模拟 蛋糕(线段树+贪心/lis)
传送门 听说是最长反链衍生出的对偶定理就能秒了. 本蒟蒻直接用线段树模拟维护的. 对于第一维排序. 维护第二维的偏序关系可以借助线段树/树状数组维护逆序对的思想建立权值线段树贪心求解. 代码
- 2018.10.03 NOIP+ 模拟赛 解题报告
得分: \(30+5+0=35\)(考得真不咋滴) \(T1\):奥义商店(点此看题面) 以为很简单,对着这题想了一个多小时,最后果断打了个暴力交了... ... 看完题解发现其实也不是很难. 对于\ ...
- 2018.10.20 NOIP模拟 巧克力(trie树+dfs序+树状数组)
传送门 好题啊. 考虑前面的32分,直接维护后缀trietrietrie树就行了. 如果#号不在字符串首? 只需要维护第一个#前面的字符串和最后一个#后面的字符串. 分开用两棵trie树并且维护第一棵 ...
- 2018.10.20 NOIP模拟 面包(数学期望)
传送门 把方差的式子拆开. 方差=平方的期望-期望的平方. 显然只用维护点对的个数和总方案数就行了. 利用分步的思想来统计. 要统计覆盖一个矩形(x1,y1,x2,y2)(x1,y1,x2,y2)(x ...
- 2018/3/20 noip模拟赛 5分
T1 傻逼题,写了cmp没sort,5分. T2 树上差分,写了树剖线段树,超时,0分. T3 树归,0分. 我是个zz
- 2018.10.30 NOIp模拟赛T2 数字对
[题目描述] 小 H 是个善于思考的学生,现在她又在思考一个有关序列的问题. 她的面前浮现出一个长度为 n 的序列{ai},她想找出一段区间[L, R](1 <= L <= ...
- 10.16 NOIP模拟赛
目录 2018.10.16 NOIP模拟赛 A 购物shop B 期望exp(DP 期望 按位计算) C 魔法迷宫maze(状压 暴力) 考试代码 C 2018.10.16 NOIP模拟赛 时间:2h ...
随机推荐
- 【Web应用-FTP】FTP 容量显示说明
现象描述 Azure 门户显示的文件系统存储容量跟网站本身的磁盘空间不符. 问题分析 Azure Web 应用的文件系统存储用量和网站本身有关,具体容量如下所示: 但目前门户预览中关于 FTP 的容量 ...
- 接口接收gzip压缩数据并解压
asp.net 接收前端gzip 压缩后的数据,接收端需要进行解压 public string GetResponseBody(HttpWebResponse response) { string r ...
- sublime text 3中emmet常用技巧
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- fluent_python2
字典和集合 泛映射类型, 继承自collections.abc, Mapping和MutableMapping 标准库里的所有映射类型都是利用 dict 来实现的,因此它们有个共同的限制,即只有可散列 ...
- 提取循环中包含continue的语句封装成方法
demo如下: private void button1_Click(object sender, EventArgs e) { ;i<;i++) { if (!a(i)) { continue ...
- Alfred的配置和使用
http://www.jianshu.com/p/f77ad047f7b0 Alfred:mac上的神兵利器,提升工作效率*n,快捷键:option + 空格.鉴于是看了池老师的<人生元编程 ...
- web框架 http协议
http 协议是超文本传输协议,位于osi七层的应用层,协议规定的就是请求与响应双方的一个消息格式,请求(请求行,请求头,空行,请求数据,请求行--请求方式URL协议版本\r\n请求头--user-a ...
- shell脚本,如何写进度条。
[root@localhost ~]# cat jindutiao.sh #!/bin/bash #进度条 n=$((/)) N=$((/)) ` do sleep 0.01 [ $(($i%$n)) ...
- mongodb测试类
public class MongoManager { private static final String MONGO_DBNAME="local"; private stat ...
- tableview 删除cell
正如在以前的帖子说,但是我在转到故事版(StoryBoard)教程之前,我有另外一个问题来回答. 我如何从UITableView删除一行呢? 当人们构建简单的表视图引用程序后,这是另一个常见的问题 ...