问题 K: 【USACO2012Feb】植草 {Bronze题2}
按着矩形周长的思路,到当前边的时候,前一层的覆盖数乘以高度加入 ans 就行,然而真正的算法可能并不是这个。。只能想到这个了
const maxe=;
type
node=record
l,r,mid,sum,delta:longint;
end;
arr=array[..] of longint;
var i,j,n,bs,x1,y1,x2,y2,b1,b2,l,r,ans,_sum,v:longint;
bx:array[..maxe] of arr;
tree:array[..*maxe] of node;
procedure qsx(t,w:longint);
var mid1,mid2,l,r:longint;
tem:arr;
begin
l:=t; r:=w; mid1:=bx[(l+r) shr ,]; mid2:=bx[(l+r) shr ,];
//writeln(l,' ',r);
repeat
begin
while (bx[l,]<mid1) or ((bx[l,]=mid1) and (bx[l,]>mid2)) do inc(l);
while (bx[r,]>mid1) or ((bx[r,]=mid1) and (bx[r,]<mid2)) do dec(r);
if l<=r then
begin
tem:=bx[l];
bx[l]:=bx[r];
bx[r]:=tem;
inc(l); dec(r);
end;
end;
until l>r;
if t<r then qsx(t,r);
if l<w then qsx(l,w);
end;
procedure build(o,l,r:longint);
begin
tree[o].l:=l; tree[o].r:=r; tree[o].mid:=(l+r) shr ;
tree[o].delta:=; tree[o].sum:=;
if l<>r then
begin
build(o*,l,tree[o].mid);
build(o*+,tree[o].mid+,r);
end;
end;
procedure maintain(o:longint);
begin
tree[o].sum:=;
if tree[o].l<tree[o].r then tree[o].sum:=tree[*o].sum+tree[*o+].sum;
if tree[o].delta> then tree[o].sum:=tree[o].r-tree[o].l+;
end;
procedure update(o:longint);
begin
if (l<=tree[o].l) and (tree[o].r<=r) then inc(tree[o].delta,v)
else begin
if l<=tree[o].mid then update(*o);
if r>tree[o].mid then update(*o+);
end;
maintain(o);
end;
begin
readln(n); bs:=*n;
for i:= to n do
begin
readln(x1,y2,x2,y1);
inc(x1,); inc(x2,);
inc(y1,); inc(y2,);
b1:=*i-; b2:=*i; //writeln(y1,' ',y2);
bx[b1,]:=; bx[b1,]:=x1; bx[b1,]:=x2; bx[b1,]:=y1;
bx[b2,]:=-;bx[b2,]:=x1; bx[b2,]:=x2; bx[b2,]:=y2;
end;
qsx(,bs); ans:=;
build(,,);
for i:= to bs do
begin
l:=bx[i,]; r:=bx[i,]-; v:=bx[i,];
update();
inc(ans,_sum*(bx[i,]-bx[i-,]));
_sum:=tree[].sum;
end;
writeln(ans);
end.
(转载请注明出处:http://www.cnblogs.com/Kalenda/)
问题 K: 【USACO2012Feb】植草 {Bronze题2}的更多相关文章
- HDU 5122 K.Bro Sorting(模拟——思维题详解)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5122 Problem Description Matt's friend K.Bro is an A ...
- POJ 2104 求序列里第K大 主席树裸题
给定一个n的序列,有m个询问 每次询问求l-r 里面第k大的数字是什么 只有询问,没有修改 可以用归并树和划分树(我都没学过..囧) 我是专门冲着弄主席树来的 对主席树的建树方式有点了解了,不过这题为 ...
- 蓝桥杯 算法训练 区间k大数查询(水题)
算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. ...
- leetcode 395. Longest Substring with At Least K Repeating Characters(高质量题)
只能说还是太菜,抄的网上大神的做法: idea: mask 的每一位代表该位字母够不够k次,够k次为0,不够为1 对于每一位将其视为起点,遍历至末尾,找到其最大满足子串T的下标max_idx,之后从m ...
- HPU第四次积分赛-K :方框(水题,打印图形)
方框 描述 用'*'打印出一个nxn的字符图形(1<=n<=100). 输入 多组输入.每行输入一个n,输入EOF结束文件. 输出 输出一个满足题意的图形. 输入样例 1 1 2 5 6 ...
- POJ-2104-K-th Number(区间第K大+主席树模板题)
Description You are working for Macrohard company in data structures department. After failing your ...
- USACO翻译:USACO 2012 JAN三题(3)
USACO 2012JAN(题目三) 一.题目概览 中文题目名称 放牧 登山 奶牛排队 英文题目名称 grazing climb lineup 可执行文件名 grazing climb lineup ...
- USACO翻译:USACO 2012 JAN三题(2)
USACO 2012 JAN(题目二) 一.题目概览 中文题目名称 叠干草 分干草 奶牛联盟 英文题目名称 stacking baleshare cowrun 可执行文件名 stacking bale ...
- USACO翻译:USACO 2012 JAN三题(1)
USACO 2012 JAN(题目一) 一.题目概览 中文题目名称 礼物 配送路线 游戏组合技 英文题目名称 gifts delivery combos 可执行文件名 gifts delivery c ...
随机推荐
- 实例--post请求,完成一个抽奖程序概率的测试
一个web项目测试,测试抽奖概率的正确性,写了一个小代码,验证概率 post和get请求的一个工具类 package kankan_interface; import java.io.IOExcept ...
- CSS选择器笔记
一.元素选择符 序号 选择器 含义 1. * 通用元素选择器,匹配任何元素 2. E 标签选择器,匹配所有使用E标签的元素 3. .info class选择器,匹配所有class属性中包含info的元 ...
- C#调用存储过程简单完整例子
CREATE PROC P_TEST@Name VARCHAR(20),@Rowcount INT OUTPUTASBEGIN SELECT * FROM T_Customer WHERE NAME= ...
- Swift字典
字典初始化 基本语法: [key 1: value 1, key 2: value 2, key 3: value 3] var airports: Dictionary<String ...
- 20150313--AJAX
from,提交信息,抛弃当前页面,并刷新页面. AJAX,从当前页面获取信息,并提交.反馈信息,不会抛弃页面. 例: 用户注册时,验证用户名是否已存在, 创建两个标准控件:TextBox1,Label ...
- Js获取标签高度
能力有限:问个问题,标签相对页面高度,是怎么写? 鼠标的横坐标,X轴: event.clientX; 鼠标的竖坐标,Y轴: event.clientY; 网页可见区域宽: document.bo ...
- JS学习第三课
写表格时最好自己写上<tbody>,因为在JS里面要用,要不然html里没有,但是我们在JS里面用得飞起,也说不过去啊. 获取表格元素时,tBodis[0]一定要加上,本人试过不加,然后就 ...
- JavaScript中Array的一些实用操作技巧
最近在调试JSP页面时频繁与ajax打交道,在复杂场景下,ajax传参数就需要对大量参数进行处理.这时我才发现,熟练Array的处理真的会使开发轻松不少!! 关于Array Array的创建很灵活,可 ...
- android 数据库_sql语句总结
表的创建db.execSQL("create table info(_id integer primary key autoincrement,name varchar(20)") ...
- upTodown
------->>> 从左图变为有图,并实现将左图上面的信息隐藏. <img src="../images/up.gif" border=&qu ...