Tsinsen A1206. 小Z的袜子
/*
Tsinsen A1206. 小Z的袜子
http://www.tsinsen.com/new/A1206
BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
http://www.lydsy.com/JudgeOnline/problem.php?id=2038
莫队算法
*/
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <vector>
#include <queue>
//#define test
using namespace std;
const int Nmax=;
long long times[Nmax];
long long n,m;
long long num[Nmax];
int pos[Nmax];
int l=,r=;
struct Q
{
int l,r,id; }q[Nmax];
long long Ans;
long long ans1[Nmax],ans2[Nmax];
bool cmp(Q a,Q b)
{
if(pos[a.l]==pos[b.l])
return a.r<b.r;
return pos[a.l]<pos[b.l];
}
long long gcd(long long a,long long b)
{
if(b==0LL)
return a;
return gcd(b,a%b);
}
void add(int x)
{
Ans-=times[num[x]]*times[num[x]];
times[num[x]]++;
Ans+=times[num[x]]*times[num[x]];
}
void del(int x)
{
Ans-=times[num[x]]*times[num[x]];
times[num[x]]--;
Ans+=times[num[x]]*times[num[x]];
}
int main()
{
#ifdef test
#endif
scanf("%lld%lld",&n,&m);
int sz=sqrt(n);
for(int i=;i<=n;i++)
{
scanf("%lld",&num[i]);
pos[i]=i/sz;
}
for(int i=;i<=m;i++)
{
scanf("%d%d",&q[i].l,&q[i].r);
q[i].id=i;
}
sort(q+,q++m,cmp);
for(int i=;i<=m;i++)
{
if(q[i].l==q[i].r)
{
ans1[i]=;
ans2[i]=;
continue;
}
//if(r<q[i].r)
//{
//for(int j=r+1;j<=q[i].r;j++)
//add(j);
//}
//else
//{
//for(int j=r;j>q[i].r;j--)
//del(j);
//}
//if(l<q[i].l)
//{
//for(int j=l;j<q[i].l;j++)
//del(j);
//}
//else
//{
//for(int j=l-1;j>=q[i].l;j--)
//add(j);
//}
//l=q[i].l;
//r=q[i].r;
while(l<q[i].l)
{
del(l);
l++;
}
while(l>q[i].l)
{
l--;
add(l);
}
while(r<q[i].r)
{
r++;
add(r);
}
while(r>q[i].r)
{
del(r);
r--;
}
ans1[q[i].id]=Ans-(r-l+1LL);//1必须为1LL,否则会wa
ans2[q[i].id]=(r-l+1LL)*(r-l);//同上
long long c=1LL;
if(Ans)
{
c=gcd(ans1[q[i].id],ans2[q[i].id]);
ans1[q[i].id]/=c;
ans2[q[i].id]/=c;
}
else
{
ans1[q[i].id]=0LL;
ans2[q[i].id]=1LL;
}
}
for(int i=;i<=m;i++)
printf("%lld/%lld\n",ans1[i],ans2[i]);
return ;
}
Tsinsen A1206. 小Z的袜子的更多相关文章
- 清橙 A1206 小Z的袜子(莫队算法)
A1206. 小Z的袜子 时间限制:1.0s 内存限制:512.0MB 总提交次数:1357 AC次数:406 平均分:46.75 将本题分享到: 查看未格式化的试题 ...
- 清橙A1206.小Z的袜子 && CF 86D(莫队两题)
清橙A1206.小Z的袜子 && CF 86D(莫队两题) 在网上看了一些别人写的关于莫队算法的介绍,我认为,莫队与其说是一种算法,不如说是一种思想,他通过先分块再排序来优化离线查询问 ...
- HYSBZ - 2038 小Z的袜子 (莫队算法)
A1206. 小Z的袜子 时间限制:1.0s 内存限制:512.0MB 总提交次数:744 AC次数:210 平均分:44.44 将本题分享到: 查看未格式化的试题 ...
- BZOJ 2038: [2009国家集训队]小Z的袜子(hose) [莫队算法]【学习笔记】
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 7687 Solved: 3516[Subm ...
- BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 7676 Solved: 3509[Subm ...
- 莫队算法 2038: [2009国家集训队]小Z的袜子(hose)
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2038 2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 ...
- BZOJ-2038 小Z的袜子(hose) 莫队算法
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MB Submit: 5573 Solved: 2568 [Subm ...
- BZOJ 2038 [2009国家集训队]小Z的袜子 莫队
2038: [2009国家集训队]小Z的袜子(hose) 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2038 Descriptionw ...
- BZOJ2038小Z的袜子(hose)
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 2343 Solved: 1077[Subm ...
随机推荐
- logo切图大小相应的尺寸
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTQwNDYxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- JS清除选择内容的方法
本文实例讲述了JS清除选择内容的方法.分享给大家供大家参考.具体分析如下: 今天在做一个DIV拖动的效果,发现在拖动的时候会选中页面中的文本,于是找了一下JS清除选择的内容的相关信息. 在得到的结果中 ...
- Codeforces Round 313(div1)
A题: 题目大意: 给出内角全为120度的六边形的六条边的边长,求由多少边长为1的等边三角形构成. 解题思路: 将六边形补全为一个大的等边三角形,则大的等边三角形的边长为六边形的相邻三边之和,接着减去 ...
- CodeForces 660A
Description You are given an array of n elements, you must make it a co-prime array in as few moves ...
- hdoj--5620--KK's Steel(斐波那契数)
KK's Steel Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
- hdoj--1598--find the most comfortable road
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- [SCOI 2010] 股票交易
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1855 [算法] 单调队列优化动态规划 [代码] #include<bits/s ...
- 使用ssh和putty操控远程的linux server
windows下没有openssh,今天这里使用openssh-server作为server,windows下使用putty作为client, putty主要流程分以下几步: step 1: 下载pu ...
- webpack入门 --初级压缩
1.新建一个文件夹,再初始化npm: npm init 2.安装webpack,首先要全局安装,再本地安装: npm install webpack -g // 全局安装 npm install we ...
- BZOJ1222: [HNOI2001]产品加工(诡异背包dp)
Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 907 Solved: 587[Submit][Status][Discuss] Descriptio ...