bzoj 3781: 小B的询问(莫队)
3781: 小B的询问
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 1064 Solved: 713
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
Sample Output
很简单的O(1)修改
莫队模板题。。
#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
#define LL long long
typedef struct Res
{int x;int y, id;
}Res;
Res s[100005];
int a[100005], bel[100005];
LL ans[100005], sum[100005];
bool comp(Res a, Res b)
{if(bel[a.x]<bel[b.x] || bel[a.x]==bel[b.x] && a.y<b.y)return 1;return 0;
}
int main(void)
{LL val;int n, m, k, i, x, y, B, L, R;scanf("%d%d%d", &n, &m, &k);for(i=1;i<=n;i++)scanf("%d", &a[i]);for(i=1;i<=m;i++){scanf("%d%d", &s[i].x, &s[i].y);s[i].id = i;}B = sqrt(n)+1;x = 0, y = 1;for(i=1;i<=n;i++){x++;bel[i] = y;if(x>=B)x = 0, y++;}sort(s+1, s+m+1, comp);L = R = 1;sum[a[1]] = val = 1;for(i=1;i<=m;i++){while(L<s[i].x){val -= (sum[a[L]])*(sum[a[L]]);sum[a[L]]--;val += (sum[a[L]])*(sum[a[L]]);L++;}while(L>s[i].x){L--;val -= (sum[a[L]])*(sum[a[L]]);sum[a[L]]++;val += (sum[a[L]])*(sum[a[L]]);}while(R<s[i].y){R++;val -= (sum[a[R]])*(sum[a[R]]);sum[a[R]]++;val += (sum[a[R]])*(sum[a[R]]);}while(R>s[i].y){val -= (sum[a[R]])*(sum[a[R]]);sum[a[R]]--;val += (sum[a[R]])*(sum[a[R]]);R--;}ans[s[i].id] = val;}for(i=1;i<=m;i++)printf("%lld\n", ans[i]);return 0;
}
bzoj 3781: 小B的询问(莫队)相关推荐
- BZOJ 3781: 小B的询问 [莫队]
求区间每种颜色出现次数平方和 写裸题练手 #include <iostream> #include <cstdio> #include <algorithm> #i ...
- 【BZOJ3781】小B的询问 莫队
题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...
- 【luogu1709】小B的询问 - 莫队
题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...
- P2709 小B的询问 莫队入门
题目描述 小B 有一个长为 n 的整数序列 a,值域为 [1,k]. 他一共有 m 个询问,每个询问给定一个区间 [l,r],求: sigma(i=1-k)ci^2 其中 ci 表示数字 i 在 [ ...
- [bzoj 2038 OR 清橙A1206 小Z的袜子]莫队算法
[bzoj 2038 OR 清橙A1206 小Z的袜子]莫队算法 题意描述:[清橙A1206 时限:1s] [bzoj 2038 时限:20s] 题意描述: 作为一个生活散漫的人,小Z每天早上都要耗费 ...
- P1494 [国家集训队]小Z的袜子/莫队学习笔记(误
P1494 [国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小\(Z\)每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小\(Z\)再也无法忍受这恼人的找袜子过程,于是他 ...
- 清橙A1206 小Z的袜子(莫队算法)
A1206. 小Z的袜子 时间限制:1.0s 内存限制:512.0MB 总提交次数:744 AC次数:210 平均分:44.44 将本题分享到: 查看未格式化的试题 ...
- 洛谷P1494 [国家集训队]小Z的袜子 莫队
题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只袜子从1到N编 ...
- 【bzoj5016】[Snoi2017]一个简单的询问 莫队算法
题目描述 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次. 输入 第一行,一个数字N,表 ...
最新文章
- 打工人,从 JMM 透析 volatile 与 synchronized 原理
- Hive代码组织及架构简单介绍
- java计算机全部代码_(Java)谁有计算器的完整代码?
- 放在NSArray、NSDictionary等容器内的对象Item,Item中的property在程序运行过程中被无故释放...
- java指导手册,Java 注解指导手册 – 终极向导
- QTreeWidgetItem 类的翻译
- 一张图搞定SDF的概念
- 贴一个CMemDC 代码,这东西真不错噢,短小精悍,可谓极品
- CMake编译opencv
- HTML5 Canvas 高仿逼真 3D 布料图案效果
- 14-win10下ElasticSearch.6.1.0与head、Kibana、X-Pack、SQL、IK、PINYIN插件的配置安装
- 【实践】图片主题模型在推荐系统的应用实践.pdf(附下载链接)
- 测试Leader应该做哪些事
- 激光雷达电力巡基于机载激光雷达技术的输电线路树障普查及预警
- C语言实训心得体会(精选4篇)
- 诚之和:谁在抢救瑞幸咖啡?
- 杭州5.8万人面临饮水难 一村庄居民一月未沐浴
- WIN7修改“桌面”存储位置
- [置顶] 不写周报才是一件很嘻哈的事
- 涂鸦智能校招——前端
热门文章
- python自动化办公都能做什么-盘点使用Python进行自动化办公所需要的知识点
- 自学python好找工作么-转行去培训班学Python好找工作吗?老男孩教育
- 语音识别技术的研究难点以及未来发展方向
- Vue源码分析 - watcher.js
- iphone11返回上一级手势怎么设置_华为手机的这五种导航方式,你更习惯哪一种?怎么切换?...
- RocketMQ 实战-SpringBoot整合RocketMQ
- 【狂神Mybatis笔记】配置解析
- 【深度优先搜索】计蒜客:中国象棋
- python怎么保存为py文件_将python保存到运行的py文件目录中创建的文件夹中
- 职称英语与计算机考试试题,2020年职称计算机考试模拟选择试题及答案.doc