#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<ctime>
#include<deque>
using namespace std;
const long long N=;
long long n,m,x1,y11,x2,y2,t;
struct tree{
long long l,r,a,b,c;
}tree[*N];
void build(long long o,long long l,long long r){
tree[o].a=tree[o].b=tree[o].c=;
tree[o].l=l;
tree[o].r=r;
if(l==r){
return;
}
long long mid=(l+r)/;
build(o*,l,mid);
build(o*+,mid+,r);
}
void pushdown(long long o){
tree[o*].a+=tree[o].a;
tree[o*].b+=tree[o].b;
tree[o*].c+=tree[o].c;
tree[o*+].a+=tree[o].a;
tree[o*+].b+=tree[o].b;
tree[o*+].c+=tree[o].c;
tree[o].a=tree[o].b=tree[o].c=;
}
long long query(long long o,long long k){
long long l=tree[o].l,r=tree[o].r;
if(l==r){
return k*k*tree[o].a+k*tree[o].b+tree[o].c;
}
long long mid=(l+r)/;
pushdown(o);
if(k<=mid){
return query(o*,k);
}
else{
return query(o*+,k);
}
}
void update(long long o,long long ql,long long qr,long long a,long long b,long long c){
long long l=tree[o].l,r=tree[o].r;
if(ql<=l&&r<=qr){
tree[o].a+=a;
tree[o].b+=b;
tree[o].c+=c;
return;
}
long long mid=(l+r)/;
if(ql<=mid){
update(o*,ql,qr,a,b,c);
}
if(qr>mid){
update(o*+,ql,qr,a,b,c);
}
}
int main(){
scanf("%lld%lld",&n,&m);
build(,,);
for(long long i=;i<=n;i++){
scanf("%lld%lld%lld%lld",&x1,&y11,&x2,&y2);
update(,max(x2,y2)+,,,,(x2-x1)*(y2-y11));
if(x2<y2){
update(,max(x2,y11)+,y2,,x2-x1,y11*(x1-x2));
}
else{
update(,max(x1,y2)+,x2,,y2-y11,x1*(y11-y2));
}
if(max(x1,y11)<min(x2,y2)){
update(,max(x1,y11),min(x2,y2),,-(x1+y11),x1*y11);
}
}
for(long long i=;i<=m;i++){
scanf("%lld",&t);
printf("%lld\n",query(,t));
}
return ;
}

UOJ#495晒被子的更多相关文章

  1. hdu4533 威威猫系列故事——晒被子

    Problem Description 因为马拉松初赛中吃鸡腿的题目让不少人抱憾而归,威威猫一直觉得愧对大家,这几天他悄悄搬到直角坐标系里去住了. 生活还要继续,太阳也照常升起,今天,威威猫在第一象限 ...

  2. HDU 4533 威威猫系列故事——晒被子

    题目链接 扫描线可做,然后当时比赛后问虎哥,他说可以标记,然后拖了很久,今天从早上折腾到晚上,终于把两种情况写出来,分析太弱.改天扫描线,再来一次. 被子如果被y = x 穿过,可以分成两部分,上和下 ...

  3. HDU-4533 威威猫系列故事——晒被子(区间更新)

    题目大意:在平面直角坐标系的第一象限中,给出n个矩形(可能重叠).有m次询问,每次询问点(t,t)的左下方的正方形区域中矩形的总面积(重叠部分重叠几次就得统计几次). 题目分析:线段树的叶子节点x维护 ...

  4. 线段树总结 (转载 里面有扫描线类 还有NotOnlySuccess线段树大神的地址)

    转载自:http://blog.csdn.net/shiqi_614/article/details/8228102 之前做了些线段树相关的题目,开学一段时间后,想着把它整理下,完成了大牛NotOnl ...

  5. 互联网时代的社会语言学:基于SNS的文本数据挖掘

    今年上半年,我在人人网实习了一段时间,期间得到了很多宝贵的数据,并做了一些还算有意义的事情,在这里和大家一块儿分享.感谢人人网提供的数据 与工作环境,感谢赵继承博士.詹卫东老师的支持和建议.在这项工作 ...

  6. c#委托概念

    委托的官方概念是:安全封装方法的类型. 百度百科的概念是,委托是个类,定义了方法的类型,使得方法可以作为另外一个方法的参数进行传递.使得程序具有很好的扩展性. 揉碎了讲一下这个概念: 张三要做三件事: ...

  7. hdu 4533 线段树(问题转化+)

    威威猫系列故事——晒被子 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Tot ...

  8. 基于大规模语料的新词发现算法【转自matix67】

    最近需要对商品中的特有的词识别,因此需新词发现算法,matrix的这篇算法很好. 对中文资料进行自然语言处理时,我们会遇到很多其他语言不会有的困难,例如分词——汉语的词与词之间没有空格,那计算机怎么才 ...

  9. EF CodeFirst 初识

    随着EntityFramework的发展,原先的三种方式,{Code First ,Model First,Database First }  CodeFirst基本摆脱了另外两种方式 成为了 最受欢 ...

随机推荐

  1. 洛谷P3690 Link Cut Tree (动态树)

    干脆整个LCT模板吧. 缺个链上修改和子树操作,链上修改的话join(u,v)然后把v splay到树根再打个标记就好. 至于子树操作...以后有空的话再学(咕咕咕警告) #include<bi ...

  2. Python numpy.ZIP 安装问题

    今天在python上安装numpy,按照网上教程,安装pip,然后命令行直接:pip install numpy  .但是一直因为资源问题下载失败. 后来下载了一个numpy-1.11.2.zip 安 ...

  3. python面向对象基础(三)内置方法 __xx__

    __str__和__repr__,__format__ 改变对象的字符串显示__str__,__repr__ 自定制格式化字符串__format__ #_*_coding:utf-8_*_ forma ...

  4. WIF配置说明

    <configuration> <configSections> <!--添加 WIF 4.5 sections :如下两条--> <section name ...

  5. 系统开发模型MVC和三层架构

    系统开发模型共经历四个阶段: 一.纯JSP 二.JSP+JavaBean的ModeI1 JavaBean的分类               三.MVC的Model2 四.三层架构

  6. 在Ubuntu 18.04系统中蓝牙鼠标连接失败问题的解决

    2018-08-22 16:00:35作者:谖瓞稿源:linux站 如果你在Ubuntu 18.04操作系统中有蓝牙鼠标连接失败问题,那就参考下面的解决方法处理. 解决方法 首先在系统终端下输入: b ...

  7. codevs 2924 数独挑战 x(三种做法+超详细注释~)

    2924 数独挑战  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 钻石 Diamond   题目描述 Description “芬兰数学家因卡拉,花费3个月时间设计出了世界上迄今 ...

  8. jQuery属性操作之值操作

    值操作是对DOM属性value进行读取和设置操作. 比如html(). text(). val(). 1. html 1. 1 html()获取值 返回值:String 描述:获取集合中第一个匹配元素 ...

  9. ettercap局域网DNS切换到恶意网址

    ettercap -i eth0 -Tq -M arp:remote -P dns_spoof /// /// Dns欺骗--Ettercap工具进行Dns欺骗 转载至 https://blog.cs ...

  10. Java 读取模板并生成HTML静态文件实例

    原理都很简单,主要是对模板的解析.so,我们先准备一个html模板mb.html,做个文件其中的###title###之类的标签用于程序进行查询替换. HTML code复制代码 <html&g ...