/*
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的袜子的更多相关文章

  1. 清橙 A1206 小Z的袜子(莫队算法)

    A1206. 小Z的袜子 时间限制:1.0s   内存限制:512.0MB   总提交次数:1357   AC次数:406   平均分:46.75   将本题分享到:        查看未格式化的试题 ...

  2. 清橙A1206.小Z的袜子 && CF 86D(莫队两题)

    清橙A1206.小Z的袜子 && CF 86D(莫队两题) 在网上看了一些别人写的关于莫队算法的介绍,我认为,莫队与其说是一种算法,不如说是一种思想,他通过先分块再排序来优化离线查询问 ...

  3. HYSBZ - 2038 小Z的袜子 (莫队算法)

    A1206. 小Z的袜子 时间限制:1.0s   内存限制:512.0MB   总提交次数:744   AC次数:210   平均分:44.44 将本题分享到:        查看未格式化的试题    ...

  4. BZOJ 2038: [2009国家集训队]小Z的袜子(hose) [莫队算法]【学习笔记】

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 7687  Solved: 3516[Subm ...

  5. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 7676  Solved: 3509[Subm ...

  6. 莫队算法 2038: [2009国家集训队]小Z的袜子(hose)

    链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2038 2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 ...

  7. BZOJ-2038 小Z的袜子(hose) 莫队算法

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MB Submit: 5573 Solved: 2568 [Subm ...

  8. BZOJ 2038 [2009国家集训队]小Z的袜子 莫队

    2038: [2009国家集训队]小Z的袜子(hose) 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=2038 Descriptionw ...

  9. BZOJ2038小Z的袜子(hose)

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 2343  Solved: 1077[Subm ...

随机推荐

  1. python+Android+uiautomator的环境

    Python+Android+uiautomator的环境搭建 Python 下载适合系统的版本并安装,安装时勾选把路径加入path 验证:windows下打开cmd输入python 出现以下界面说明 ...

  2. wpf Textbox 点击选中全部文本

    用法:依赖属性 SelectTextOnFocus.Active = True public class SelectTextOnFocus : DependencyObject { public s ...

  3. HDU1269 有向图强连通分量

    题目大意:问一个有向图是否任意两点在两个方向上互相连通. 有向图强连通分量定义:如果一个图中的任意两点在两个方向上都互相连通,则该图为强连通图.极大强连通图为有向图的强连通分量(注意是极大,不是最大. ...

  4. JFinal Starting scanner at interval of 5 seconds.报错

    Starting JFinal 2.0 Starting scanner at interval of 5 seconds. Starting web server on port: 80 Excep ...

  5. Git 工具 - 子模块

    子模块 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使 ...

  6. new一个接口

    首先我们先看看接口的定义: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方 ...

  7. B - Expression

    Problem description Petya studies in a school and he adores Maths. His class has been studying arith ...

  8. Navcat12 for mysq 激活工具

    Navcat12 for mysq 激活 https://www.cnblogs.com/sunyangCoder/p/9060454.html

  9. Python中的多个装饰器装饰一个函数

    def wrapper1(func1): def inner1(): print('w1 ,before') func1() print('w1 after') return inner1 def w ...

  10. hdu5676 ztr loves lucky numbers(dfs)

    链接 ztrloveslucky numbers 题意 定义幸运数为:只存在4和7且4和7数量相等的数,给出n,求比>=n的最小幸运数 做法 暴力搜出所有长度从2-18的幸运数,因为最多9个4, ...