开花
来源:互联网 发布:怎样拼网络ip地址 编辑:程序博客网 时间:2024/04/27 16:26
Description
在遥远的火星上,上面的植物非常奇怪,都是长方形的,每个植物用三个数来描述:左边界L、右边界R以及高度H,如下图所示描述一个植物:L=2,R=5和H=4。
每天都有一个新植物长出来,第一天的植物高度为1,后面每天长出的植物比前一天的高1。
当一个新植物长出来的时候,跟其他植物的水平线段相交处会长出一朵小花(前提是之前没有长出花朵),如果线段交于端点,是不会长花的。
下图为样例1的示意图:
给出每天的植物的坐标,计算每天长出多少新花。
Input
第一行包含一个整数N(1<=N<=100000),表示天数。
接下来N行,每行两个整数L和R(1<=L<=R<=100000),表示植物的左右边界。
Output
输出每天长出新植物后增加新花的数量。
Sample Input
输入1:
4
1 4
3 7
1 6
2 6
输入2:
5
1 3
3 5
3 9
2 4
3 8
Sample Output
输出1:
0
1
1
2
输出2:
0
0
0
3
2
题目描述
这题应该没必要做再多的解释了吧?
题解
其实,这是一颗线段树,然后我们每次把读入的
不过要判断
还有一个问题就是要用一个
最后,只要求出
对累加不懂的,可以看下面:(因为线段数要开100000,所以这里我只开了8的大小来做讲解)
样例1:
读入:1 4
计算过后……
注意
然后把红线经过的所有点的和加起来,就是可以开花的数量,记得要减去
读入:3 7
计算后……
然后,继续……
读入:1 6
读入:2 6
记得不要忘了减去原有的花。
自认为这次的题解很烂,所以看不懂的话,看标吧。
var a:array[0..100000] of longint; f:array[0..900000] of longint; n,i,j,l,r,ans,s,k,p:longint;procedure add(x,y,a,b,t:longint);var mid:longint;begin if (x=a) and (y=b) then begin inc(f[t]); exit; end; mid:=(x+y) div 2; if mid>=b then add(x,mid,a,b,t*2) else if mid<a then add(mid+1,y,a,b,t*2+1) else begin add(x,mid,a,mid,t*2); add(mid+1,y,mid+1,b,t*2+1); end;end;procedure get(x,y,i,j,t:longint);var mid:longint;begin ans:=ans+f[t]; if (x=i) and (y=j) then exit; mid:=(x+y) div 2; if mid>=j then get(x,mid,i,j,t*2) else if mid<i then get(mid+1,y,i,j,t*2+1) else begin get(x,mid,i,mid,t*2); get(mid+1,y,mid+1,j,t*2+1); end;end;begin readln(n); for i:=1 to n do begin readln(l,r); ans:=0; k:=a[l];p:=a[r]; if l+1<=r-1 then add(1,100000,l+1,r-1,1); get(1,100000,l,l,1); a[l]:=ans; get(1,100000,r,r,1); a[r]:=ans-a[l]; writeln(ans-k-p); end;end.
- 开花
- 开花
- 开花.
- 开花
- 圣白树开花
- 正在开花
- 老树开花
- 开花茄子
- 脑袋开花
- 所有梦想都开花
- 吊兰开花了
- 草莓又开花了
- 烟花灿烂:开花导航
- 苞米不会开花
- Edmonds 开花算法
- 开花 (Standard IO)
- 芝麻开花节节高
- 一颗会开花的树
- cocos2d-x 屏幕适配新解
- Android测试中被测应用挂了怎么办?
- 微信js-sdk:关于menuItem:delete按钮无法显示的问题
- java中引用数据类型有哪些?
- Python字符串的encode与decode研究心得
- 开花
- WEB开发者必备的7个JavaScript函数
- js方法进行邮箱验证代码,完美运行 正则表达式
- MPLS学习笔记
- 【转载】阿里云CentOS 7.1使用yum安装MySql5.6.24
- PHP中static静态变量的使用
- Android解析Json数据之FastJson解析
- dictionary对象构建二维数组研究
- 收集的深度学习论文和资料