.
.
给定n个男女排列,每个人会说一种语言,相同语言的一对男女可以组成一对cp,问区间 [l,r] 之间最多有多少对cp
.
.
直接套莫队就好了
.
.

#include <cstdio>
#include <iostream>
#include <complex>
#include <cmath>
#include <map>
#include <algorithm>using namespace std;typedef long long LL;
const int maxn=50000+5;
const int maxk=1000000+5;
int n, m, k, a[maxn], b[maxn], unit;
int ca[maxk], cb[maxk], ans[maxn];struct Query {int l, r, id;
} node[maxn];bool cmp(Query a, Query b) {if (a.l/unit!=b.l/unit) return a.l/unit<b.l/unit;else return a.r<b.r;
}
int tmp;void add(int x) {if (a[x]==b[x]) {tmp++;ca[a[x]]++;cb[b[x]]++;}else {if (ca[a[x]]<cb[a[x]]) tmp++;ca[a[x]]++;if (ca[b[x]]>cb[b[x]]) tmp++;cb[b[x]]++;}
}
void rmv(int x) {if (a[x]==b[x]) {tmp--;ca[a[x]]--;cb[b[x]]--;}else {if (ca[a[x]]<=cb[a[x]]) tmp--;ca[a[x]]--;if (ca[b[x]]>=cb[b[x]]) tmp--;cb[b[x]]--;}
}
void work() {int l=1, r=0;for (int i=0; i<m; i++) {while (r<node[i].r) {add(++r);}while (r>node[i].r) {rmv(r--);}while (l<node[i].l) {rmv(l++);}while (l>node[i].l) {add(--l);}ans[node[i].id]=tmp;}
}
int main() {scanf("%d%d%d", &n, &m, &k);for (int i=0; i<n; i++) scanf("%d", a+i);for (int i=0; i<n; i++) scanf("%d", b+i);for (int i=0; i<m; i++) {scanf("%d%d", &node[i].l, &node[i].r);node[i].id=i;}unit=(int)sqrt(n);sort(node, node+m, cmp);work();for (int i=0; i<m; i++) printf("%d\n", ans[i]);
}

Curious Cupid相关推荐

  1. HDU 5112 A Curious Matt 水题

    A Curious Matt Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid ...

  2. hdu 5112 A Curious Matt

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5112 A Curious Matt Description There is a curious ma ...

  3. Keep learning, be curious!目标就在前方,努力就对了。

    前后经历了大概两个月的AWS面试,我最终还是失败了,我没能拿到AWS的offer.犹豫了几天,甚至失眠自责过,在经历几个辗转的夜晚,痛定思痛之后,还是打算回顾一下这段时间发生的事情,整理思绪,收拾行囊 ...

  4. Maxcompute Spark作业管控利器—Cupid Console

    一.背景 Maxcompute平台目前可以支持运行Spark作业,Spark作业依托于Maxcompute的Cupid平台可以按照社区兼容的方式提交到Maxcompute上运行,支持读写Maxcomp ...

  5. ICPC 6828 Help cupid(Regionals 2014 Latin America)

    Cupid's job is getting harder, so he is adopting new technologies to help him with his difficult task ...

  6. 【软件设计原则】CUPID——快乐的编码

    最初是轻描淡写的偶像破坏,戳着 SOLID 的熊市,现在已经发展成更具体和有形的东西.如果我认为这些天 SOLID 原则没有用,那么我会用什么来代替它们呢?任何一套原则都适用于所有软件吗?我们所说的原 ...

  7. Cupid - Typecho情侣主题

    介绍: 主题命名为Cupid(丘比特),是一款情侣主题. 响应式设计 恋爱清单 爱情计时器 祝福留言板 文章记录 主题使用: 1.首页的头像.昵称.计时器开始时间.祝福页面的链接均在主题的外观设置实现 ...

  8. ACM-计算几何之Cupid's Arrow——hdu1756

    Cupid's Arrow 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1756 Problem Description 传说世上有一支丘比特的箭,凡是被 ...

  9. LightOJ 1112 - Curious Robin Hood 树状数组

    题目链接 题意: 给定一个序列,有三个操作 1 i 输出第i个数的大小,并将其变为0 2 i v 第i个数增加v 3 i j 输出第i个数到第j个数的和 树状数组模板题 #include <st ...

  10. 个人Typech情侣主题Cupid模板

    介绍: 主题说明: 1.首页头像.昵称.计时器开始时间.祝福页面的链接均在主题的外观设置实现 2.恋爱清单100件事请新建分类lovelist,分类缩略名也为lovelist 3.由于系统默认文章在前 ...

最新文章

  1. Kubernetes 1.8.4 手动安装教程-安装Dashboard(七)
  2. .net运行项目的几种形式
  3. delimiters 插值 选项
  4. xml方式实现aop-切点表达式的写法
  5. Java后端:一个注解搞定 Spring Boot 日志!
  6. bootstrapTable refresh 方法使用简单举例
  7. http状态码_一些常见的HTTP状态码
  8. Restful API 的设计规范
  9. 解决checkra1n越狱失败及越狱后AFC2失效问题
  10. 蒙版操作—利用图层蒙版换脸
  11. windows 开启安全中心的方法
  12. katacontainers v2编译
  13. 关于结构体,枚举,联合的一些知识
  14. Spring事务切面原理
  15. python模拟点击后获取状态码_Python获取网页状态码
  16. 前端图像处理之马赛克
  17. 1、英里与千米的转换
  18. Matlab通过串口与下位机通讯
  19. 如何让多个视频同时倒放,并重新添加背景音乐
  20. U盘格式化后能恢复数据吗?U盘删除的数据还能恢复吗

热门文章

  1. 操作系统引导详细过程
  2. 关于在窗体之间传值的问题 C# winform
  3. 【论文笔记】Toward A Thousand Lights Decentralized Deep Reinforcement Learning for Large-Scale TSC...
  4. Poodle Centos
  5. C++中圆周率Π的几种表示方法arccos(-1), 2arcsin(1), 4arctan(1)的用法
  6. 小白最需要了解的计算机基础知识
  7. 用Keil uVision5创建纯汇编语言的STM32工程
  8. Not registered via @EnableConfigurationProperties, marked as Spring component, or scanned via @Confi
  9. Python入门习题(89)——OpenJudge百练习题:二分法求函数的零点
  10. 当更高性能来到平板 — ThinkPad X1 Tablet Evo 长测