Curious Cupid
.
.
给定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相关推荐
- HDU 5112 A Curious Matt 水题
A Curious Matt Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid ...
- hdu 5112 A Curious Matt
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5112 A Curious Matt Description There is a curious ma ...
- Keep learning, be curious!目标就在前方,努力就对了。
前后经历了大概两个月的AWS面试,我最终还是失败了,我没能拿到AWS的offer.犹豫了几天,甚至失眠自责过,在经历几个辗转的夜晚,痛定思痛之后,还是打算回顾一下这段时间发生的事情,整理思绪,收拾行囊 ...
- Maxcompute Spark作业管控利器—Cupid Console
一.背景 Maxcompute平台目前可以支持运行Spark作业,Spark作业依托于Maxcompute的Cupid平台可以按照社区兼容的方式提交到Maxcompute上运行,支持读写Maxcomp ...
- 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 ...
- 【软件设计原则】CUPID——快乐的编码
最初是轻描淡写的偶像破坏,戳着 SOLID 的熊市,现在已经发展成更具体和有形的东西.如果我认为这些天 SOLID 原则没有用,那么我会用什么来代替它们呢?任何一套原则都适用于所有软件吗?我们所说的原 ...
- Cupid - Typecho情侣主题
介绍: 主题命名为Cupid(丘比特),是一款情侣主题. 响应式设计 恋爱清单 爱情计时器 祝福留言板 文章记录 主题使用: 1.首页的头像.昵称.计时器开始时间.祝福页面的链接均在主题的外观设置实现 ...
- ACM-计算几何之Cupid's Arrow——hdu1756
Cupid's Arrow 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1756 Problem Description 传说世上有一支丘比特的箭,凡是被 ...
- LightOJ 1112 - Curious Robin Hood 树状数组
题目链接 题意: 给定一个序列,有三个操作 1 i 输出第i个数的大小,并将其变为0 2 i v 第i个数增加v 3 i j 输出第i个数到第j个数的和 树状数组模板题 #include <st ...
- 个人Typech情侣主题Cupid模板
介绍: 主题说明: 1.首页头像.昵称.计时器开始时间.祝福页面的链接均在主题的外观设置实现 2.恋爱清单100件事请新建分类lovelist,分类缩略名也为lovelist 3.由于系统默认文章在前 ...
最新文章
- Kubernetes 1.8.4 手动安装教程-安装Dashboard(七)
- .net运行项目的几种形式
- delimiters 插值 选项
- xml方式实现aop-切点表达式的写法
- Java后端:一个注解搞定 Spring Boot 日志!
- bootstrapTable refresh 方法使用简单举例
- http状态码_一些常见的HTTP状态码
- Restful API 的设计规范
- 解决checkra1n越狱失败及越狱后AFC2失效问题
- 蒙版操作—利用图层蒙版换脸
- windows 开启安全中心的方法
- katacontainers v2编译
- 关于结构体,枚举,联合的一些知识
- Spring事务切面原理
- python模拟点击后获取状态码_Python获取网页状态码
- 前端图像处理之马赛克
- 1、英里与千米的转换
- Matlab通过串口与下位机通讯
- 如何让多个视频同时倒放,并重新添加背景音乐
- U盘格式化后能恢复数据吗?U盘删除的数据还能恢复吗
热门文章
- 操作系统引导详细过程
- 关于在窗体之间传值的问题 C# winform
- 【论文笔记】Toward A Thousand Lights Decentralized Deep Reinforcement Learning for Large-Scale TSC...
- Poodle Centos
- C++中圆周率Π的几种表示方法arccos(-1), 2arcsin(1), 4arctan(1)的用法
- 小白最需要了解的计算机基础知识
- 用Keil uVision5创建纯汇编语言的STM32工程
- Not registered via @EnableConfigurationProperties, marked as Spring component, or scanned via @Confi
- Python入门习题(89)——OpenJudge百练习题:二分法求函数的零点
- 当更高性能来到平板 — ThinkPad X1 Tablet Evo 长测