#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. ios 打包 异常

    1. 问题:Xcode9升级到Xcode10后运行App报错: 2. 原因分析: Xcode10中libstdc++.6.0.9和libstdc++被移除,Frameworks中libstdc++.6 ...

  2. 开启防火墙如何部署k8s

    你可以不关闭防火墙,只需要开启这些端口就行了MASTER节点6443* Kubernetes API server 2379-2380 etcd server client API 10250 Kub ...

  3. 抓取腾讯招聘python岗位

    # -*- coding: utf-8 -*- """ @author: Dell Created on Mon Dec 23 17:55:06 2019 "& ...

  4. 2019CCPC秦皇岛赛区(重现赛)- F

    链接: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1006&cid=872 题意: Z 国近年来一直在考虑遏制国土沙 ...

  5. [Functional Programming] Examples: When and Unless

    /** * When */ const _branch = (x) => { const result = (x && x.isPublic) ? dissoc('private ...

  6. js比较两个时间的大小

    function checkdate(s,e){ //得到日期值并转化成日期格式,replace(/-/g, "//")是根据验证表达式把日期转化成长日期格式,这样再进行判断就好判 ...

  7. 基于locust的性能测试平台搭建

    前段时间加入性能测试组,并参与搭建基于locust的性能测试平台,我分到的任务相对独立,开发locust的启动接口和停止运行接口,现开发的差不多了,做一个总结 一.locust运行的相关内容 二.lo ...

  8. python获取某路径下某扩展名的所有文件名和文件个数

    # -*- coding: utf-8 -*- # @Time : 19-1-10 下午10:02 # @Author : Felix Wang import os def get_file_coun ...

  9. Java线程之如何分析死锁及避免死锁

    什么是死锁 java中的死锁是一种编程情况,其中两个或多个线程被永久阻塞,Java死锁情况出现至少两个线程和两个或更多资源. 在这里,我们将写了一个简单的程序,它将导致java死锁场景,然后我们将分析 ...

  10. Centos7下设置MySql自动启动

    原文链接:http://www.cnblogs.com/Sungeek/p/9687565.html 1.将服务文件拷贝到init.d下,并重命名为mysql cp /usr/local/mysql/ ...