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 ...
随机推荐
- Design库,所有控件的使用
导入地址com.android.support:design:23.2.0..输入design搜索到确认就可以. 布局中android.support.design.widget.XXX,调用控件 控 ...
- pod install fatal: unable to access 'https://chromium.googlesource.com/webm/libwebp/'
1. 前往文件夹 /用户/aki/.cocoapods/repos/master/1/9/2/libwebp 2.编辑libwebp.podspec.json 将source git 改为 https ...
- hdoj--5093--Battle ships(二分图经典建图)
Battle ships Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...
- Java Colections 集合类 —— List、ArrayList、Set(HashSet)
0. List<T> 是一个接口 该接口定义的高级成员函数有: contains() ⇒ 是否包含: String[] people; List names = Arrays.asList ...
- 2.2.3 修改JSX代码
/** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, { ...
- php word转pdf
我们知道,PHP语言的合理运用可以帮助我们实现导出Word文档的功能.今天我们将为大家介绍PHP处理Word转PDF的相关实现方法. PHP关键字this指向当前对象指针 PHP self关键字指向类 ...
- BZOJ 1196 二分+Kruskal
思路: 二分答案 判一下能不能加 //By SirisuRen #include <cstdio> #include <cstring> #include <algori ...
- BZOJ 2929 网络流
题意是啥--. 思路: 不是与1或n连起来的边 边权是1 否则是inf 跑网络流 //By SiriusRen #include <queue> #include <cstdio&g ...
- hihoCoder挑战赛31
#1595 : Numbers 时间限制:8000ms 单点时限:1000ms 内存限制:256MB 描述 给定n个整数常数c[1], c[2], ..., c[n]和一个整数k.现在需要给2k个整数 ...
- 洛谷P2851 [USACO06DEC]最少的硬币The Fewest Coins(完全背包+多重背包)
题目描述 Farmer John has gone to town to buy some farm supplies. Being a very efficient man, he always p ...