题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5213
BC 上的题,题解很清楚,会莫对的应该不难,
对于一个询问,我们拆成四个询问,开始拆成求区间矩形的样子,我想多了。
然后就是模板的莫队了。
一个变量打错,一直DEBUG  
 #include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<string>
#include<iostream>
using namespace std; #define N 600055
typedef long long LL;
int a[N],pos[N],block;
int n,m,k,idx;
int ans1[N],tmp[N]; struct node
{
int l,r,id;
int p;
}q[N]; //BZOJ 4129
int cmp(node a,node b)
{
if (pos[a.l]==pos[b.l]) return a.r<b.r;
return pos[a.l]<pos[b.l];
} void solve()
{
int l=,r=;
int ans=;
for (int i=;i<=m;i++)
{
while (l>q[i].l)
{
l--;
if (k-a[l]>) ans+=tmp[k-a[l]];
tmp[a[l]]++;
}
while (r<q[i].r)
{
r++;
if (k-a[r]>) ans+=tmp[k-a[r]];
tmp[a[r]]++;
}
while (l<q[i].l)
{
if (k-a[l]>) ans-=tmp[k-a[l]];
tmp[a[l]]--;
l++;
}
while (r>q[i].r)
{
if (k-a[r]>) ans-=tmp[k-a[r]];
tmp[a[r]]--;
r--;
}
ans1[q[i].id]+=q[i].p*ans;
}
} int main()
{
while (scanf("%d%d",&n,&k)!=EOF)
{
memset(ans1,,sizeof(ans1));
for (int i=;i<=n;i++)
scanf("%d",&a[i]);
memset(tmp,,sizeof(tmp)); block=sqrt(n);
for (int i=;i<=n;i++)
pos[i]=(i-)/block+;
idx=;
scanf("%d",&m); for (int i=;i<=m;i++)
{
int l,r,l2,r2;
scanf("%d%d%d%d",&l,&r,&l2,&r2);
q[++idx].l=l;q[idx].r=r2;q[idx].id=i;q[idx].p=;
if (r+<=l2-)
{
q[++idx].l=r+,q[idx].r=l2-,q[idx].id=i,q[idx].p=;
}
q[++idx].l=l;q[idx].r=l2-;q[idx].id=i,q[idx].p=-;
q[++idx].l=r+;q[idx].r=r2;q[idx].id=i,q[idx].p=-;
}
swap(idx,m);
sort(q+,q+m+,cmp);
//for (int i=1;i<=m;i++) cout<<q[i].id<<" ";
//cout<<endl;
// cout<<m<<" "<<idx<<endl;
solve();
for (int i=;i<=idx;i++)
printf("%d\n",ans1[i]);
}
return ;
}

HDOJ 5213的更多相关文章

  1. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  3. HDOJ 1326. Box of Bricks 纯水题

    Box of Bricks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  4. HDOJ 1004 Let the Balloon Rise

    Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...

  5. hdoj 1385Minimum Transport Cost

    卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...

  6. HDOJ(2056)&HDOJ(1086)

    Rectangles    HDOJ(2056) http://acm.hdu.edu.cn/showproblem.php?pid=2056 题目描述:给2条线段,分别构成2个矩形,求2个矩形相交面 ...

  7. 继续node爬虫 — 百行代码自制自动AC机器人日解千题攻占HDOJ

    前言 不说话,先猛戳 Ranklist 看我排名. 这是用 node 自动刷题大概半天的 "战绩",本文就来为大家简单讲解下如何用 node 做一个 "自动AC机&quo ...

  8. 最近点对问题 POJ 3714 Raid && HDOJ 1007 Quoit Design

    题意:有n个点,问其中某一对点的距离最小是多少 分析:分治法解决问题:先按照x坐标排序,求解(left, mid)和(mid+1, right)范围的最小值,然后类似区间合并,分离mid左右的点也求最 ...

  9. BFS(八数码) POJ 1077 || HDOJ 1043 Eight

    题目传送门1 2 题意:从无序到有序移动的方案,即最后成1 2 3 4 5 6 7 8 0 分析:八数码经典问题.POJ是一次,HDOJ是多次.因为康托展开还不会,也写不了什么,HDOJ需要从最后的状 ...

随机推荐

  1. MySQL插入SQL语句后在phpmyadmin中注释显示乱码

    自己写一个建一个简单的数据表,中间加了个注释,但是用PHPmyadmin打开后发现注释不对. 就先查询了一下sql 语句 发现SQL 语句并没有问题,感觉像是显示编码的问题,就先用set names ...

  2. bootstrap下拉菜单(Dropdowns)

    本章将重点讲解bootstrap下拉菜单(Dropdowns),下拉菜单是可切换的,是以列表格式显示链接的上下文菜单. <!DOCTYPE html><html><hea ...

  3. css布局--两列布局,左侧固定,右侧自适应(其中左侧要可以拖动,右侧水平滚动条)

    (css布局所要实现的效果) 在前端面试中经常会被问到CSS布局,两列布局,左侧固定,右侧自适应.前几天去面试,遇到了这道题的升级版,要求左侧可拖动,右侧要有水平滚动条.拿到题目确实有些大脑短路,不知 ...

  4. 初涉期望dp/概率dp【在更】

    大致可以分为两种:爆精度:小数取模.

  5. python私有成员与公有成员(_和__)

    python并没有对私有成员提供严格的访问保护机制. 在定义类的成员时,如果成员名以两个下划线“__”或更多下划线开头而不以两个或更多下划线结束则表示是私有成员. 私有成员在类的外部不能直接访问,需要 ...

  6. proto_ops和proto区别

    **proto_ops:**该结构体包含了某个特定的"protocol family"的一系列functions. 其包含的functions和struct proto很类似,但是 ...

  7. 无法解析具体reference那个同名文件

    公司平台,如果src和gen文件系统中有同名文件.reference时会根据depend.cfg文件优先reference遇到的同名文件.这样如果存在同名文件且引用顺序不对就会有莫名的bug. 像rt ...

  8. (转) 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)

    原文地址:http://blog.csdn.net/holydancer/article/details/9219333 概述: 苹果的证书繁锁复杂,制作管理相当麻烦,今天决定重置一个游戏项目中的所有 ...

  9. Codeforces Round #439 (Div. 2) B. The Eternal Immortality

    B. The Eternal Immortality 题目链接http://codeforces.com/contest/869/problem/B 解题心得:题意就是给出a,b,问(a!)/(b!) ...

  10. SpringMVC之HandlerAdapter执行流程

    01.protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Except ...