[JZOJ5410]【NOIP2017提高A组集训10.22】小型耀斑 (口胡)
来源:互联网 发布:美国实时经济数据 编辑:程序博客网 时间:2024/06/15 03:48
Description
Uthuso 的核反应失控了,她在地灵殿释放了几颗大核弹.地灵殿可以看做一个大小为n*m 的矩阵.一颗大小为k 的核弹,对于任意一个与爆炸中心曼哈顿距离小于k 的地区,会造成(k-(该地区到爆炸中心曼哈顿距离))*(该地区的价值)的损失.现在,地灵殿方面想统计一下每颗核弹造成的损失,请你来帮忙计算.
对于100%的数据,满足1<=n<=2000,1<=m<=2000,1<=Q<=200000,1<=k<=min(x,y,n-x+1,m-y+1),1<=每个区域的价值<=1000000
Solution
我们发现题目给出爆炸范围一定全部在矩阵中。
那只需要维护一个菱形一样的东西。
有一个非常巧妙的办法
令sum[i][j]表示i,j为直角顶点的向左上的直线和向左下的直线围成的区域的和。
那么这个菱形的和就可以表示出来。
但是还要乘上的曼哈顿距离。
可以发现,最外一圈算了1次,向内递增
相当于把原来的菱形分成了K个大小递减的菱形
统计他们需要的+sum,-sum以及剩余的+1-1分别在横着和竖着的一条直线上
弄个前缀和即可
Code
因为是口胡,所以没有代码!
阅读全文
0 0
- 【JZOJ5410】【NOIP2017提高A组集训10.22】小型耀斑
- jzoj5410【NOIP2017提高A组集训10.22】小型耀斑
- [JZOJ5410]【NOIP2017提高A组集训10.22】小型耀斑 (口胡)
- JZOJ 5410. 【NOIP2017提高A组集训10.22】小型耀斑
- 【JZOJ 5410】【NOIP2017提高A组集训10.22】小型耀斑
- Jzoj5410 小型耀斑
- 【NOIP2017提高A组集训10.22】友谊
- 【NOIP2017提高A组集训10.22】友谊
- 【JZOJ 5411】【NOIP2017提高A组集训10.22】友谊
- JZOJ 5414. 【NOIP2017提高A组集训10.22】幸运值
- 【NOIP2017提高A组集训10.22】幸运值
- JZOJ5416. 【NOIP2017提高A组集训10.22】密码 DP
- JZOJ5415. 【NOIP2017提高A组集训10.22】公交运输 DP
- JZOJ5414. 【NOIP2017提高A组集训10.22】幸运值
- [JZOJ5411]【NOIP2017提高A组集训10.22】友谊
- 【JZOJ 5414】【NOIP2017提高A组集训10.22】幸运值
- 【JZOJ 5415】【NOIP2017提高A组集训10.22】公交运输
- 【JZOJ 5416】【NOIP2017提高A组集训10.22】密码
- 3.1 数字图像的基础知识
- java 多线程核心技术第二章笔记
- 插入、选择、冒泡、快排、shell、merge排序(可运行)
- linux基础学习3
- 页面布局:两列布局
- [JZOJ5410]【NOIP2017提高A组集训10.22】小型耀斑 (口胡)
- ActiveMQ在windows版本的安装部署
- HTML文本格式化
- beam+flink整合异常
- Binary Search:29. Divide Two Integers
- codevs 2594 解药还是毒药(状压+bfs)
- C语言关键字volatile
- Ubuntu 14.04实现三台虚拟机SSH免密码登录
- [USACO08FEB]酒店Hotel