按着矩形周长的思路,到当前边的时候,前一层的覆盖数乘以高度加入 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}的更多相关文章

  1. HDU 5122 K.Bro Sorting(模拟——思维题详解)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5122 Problem Description Matt's friend K.Bro is an A ...

  2. POJ 2104 求序列里第K大 主席树裸题

    给定一个n的序列,有m个询问 每次询问求l-r 里面第k大的数字是什么 只有询问,没有修改 可以用归并树和划分树(我都没学过..囧) 我是专门冲着弄主席树来的 对主席树的建树方式有点了解了,不过这题为 ...

  3. 蓝桥杯 算法训练 区间k大数查询(水题)

    算法训练 区间k大数查询 时间限制:1.0s   内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. ...

  4. leetcode 395. Longest Substring with At Least K Repeating Characters(高质量题)

    只能说还是太菜,抄的网上大神的做法: idea: mask 的每一位代表该位字母够不够k次,够k次为0,不够为1 对于每一位将其视为起点,遍历至末尾,找到其最大满足子串T的下标max_idx,之后从m ...

  5. HPU第四次积分赛-K :方框(水题,打印图形)

    方框 描述 用'*'打印出一个nxn的字符图形(1<=n<=100). 输入 多组输入.每行输入一个n,输入EOF结束文件. 输出 输出一个满足题意的图形. 输入样例 1  1 2 5 6 ...

  6. POJ-2104-K-th Number(区间第K大+主席树模板题)

    Description You are working for Macrohard company in data structures department. After failing your ...

  7. USACO翻译:USACO 2012 JAN三题(3)

    USACO 2012JAN(题目三) 一.题目概览 中文题目名称 放牧 登山 奶牛排队 英文题目名称 grazing climb lineup 可执行文件名 grazing climb lineup ...

  8. USACO翻译:USACO 2012 JAN三题(2)

    USACO 2012 JAN(题目二) 一.题目概览 中文题目名称 叠干草 分干草 奶牛联盟 英文题目名称 stacking baleshare cowrun 可执行文件名 stacking bale ...

  9. USACO翻译:USACO 2012 JAN三题(1)

    USACO 2012 JAN(题目一) 一.题目概览 中文题目名称 礼物 配送路线 游戏组合技 英文题目名称 gifts delivery combos 可执行文件名 gifts delivery c ...

随机推荐

  1. GSS3 SPOJ 1716. Can you answer these queries III gss1的变形

    gss2调了一下午,至今还在wa... 我的做法是:对于询问按右区间排序,利用splay记录最右的位置.对于重复出现的,在splay中删掉之前出现的位置所在的节点,然后在splay中插入新的节点.对于 ...

  2. html&css静态页面

    状态不好,整晚未眠. 想着敲点代码,遇着复杂的又自己生气,所以就敲了博客园的,总是很纠结"哪样的文字算标题算段落或要用span""什么时候用div比较好"&qu ...

  3. C/S打包(图文)

    最近几天接触到了关于C/S打包这块. 由于自己当时遇到了很多疑点,所以特意总结一下: 1.创建Project: 2.当创建Ok后会出现如下页面,左侧3个文件夹,第一个是放置程序文件(只需要放入.exe ...

  4. Swift 概述及Swift运算符和表达式

    Swift  是用于设计 iOS 及 Mac OS X 应用的一门新 语言. Swift 特点 •   Swift  保留了 C  与 Objective-C 的优点,并摒弃 其为了兼容 C  语言所 ...

  5. cocos2d-x中Node与Node层级架构

    Cocos2d-x采用层级(树形)结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点(Node)对象.一个场景包含了多个层,一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结构中的节 ...

  6. 【学习笔记】【C语言】常量

    1. 什么是常量 常量,表示一些固定的数据 2. 常量的分类 1> 整型常量(int) 包括了所有的整数,比如6.27.109.256.-10.0.-289等 2> 浮点型常量(float ...

  7. AMQ学习笔记 - 07. 持久性订阅

    概述 一般的订阅,订阅者必须时刻处于活跃状态,才不会遗漏任何信息:持久性订阅,当订阅者处于非活动状态时,代理会为它们保留信息,下一次连接之后推送给它们. 持久订阅 与一般的定于相比,持久性订阅需要: ...

  8. netstat命令[转]

    原文地址:http://www.cnblogs.com/peida/archive/2013/03/08/2949194.html netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的 ...

  9. 深入探析koa之异步回调处理篇

    在上一篇中我们梳理了koa当中中间件的洋葱模型执行原理,并实现了一个可以让洋葱模型自动跑起来的流程管理函数.这一篇,我们再来研究一下koa当中异步回调同步化写法的原理,同样的,我们也会实现一个管理函数 ...

  10. Codevs 1474 十进制转m进制

    时间限制: 1 s    空间限制: 128000 KB    题目等级 : 白银 Silver 题目描述 Description 将十进制数n转换成m进制数 m<=16 n<=100 输 ...