当前位置: 首页 > news >正文

网站建设源程序代码抖音seo关键词排名技术

网站建设源程序代码,抖音seo关键词排名技术,江苏省 建设 注册中心网站首页,wordpress侧边栏菜单【BZOJ5016】[Snoi2017]一个简单的询问 Description 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次。Input 第一行,一个数字N&#xff0…

【BZOJ5016】[Snoi2017]一个简单的询问

Description

给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出
get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次。

Input

第一行,一个数字N,表示序列长度。
第二行,N个数字,表示a1~aN
第三行,一个数字Q,表示询问个数。
第4~Q+3行,每行四个数字l1,r1,l2,r2,表示询问。
N,Q≤50000
N1≤ai≤N
1≤l1≤r1≤N
1≤l2≤r2≤N
注意:答案有可能超过int的最大值

Output

对于每组询问,输出一行一个数字,表示答案

Sample Input

5
1 1 1 1 1
2
1 2 3 4
1 1 4 4

Sample Output

4
1

题解:先将询问的l--,然后我们开始推式子喽!为了方便起见,下面用s(i)表示get(1,i,x)。那么:

$ans=\sum\limits_{x}(s(r1)-s(l1))*(s(r2)-s(l2)))\\=\sum\limits_{x}s(r1)*s(r2)+s(l1)*s(l2)-s(l1)*s(r2)-s(r1)*s(l2)\\*ab={(a+b)^2-a^2-b^2\over 2}*\\=\sum\limits_{x}{(s(r1)^2+s(r2)^2-(s(r2)-s(r1)))^2+s(l1)^2+s(l2)^2-(s(l2)-s(l1))^2+(s(r2)-s(l1))^2-s(r2)^2-s(l1)^2+(s(r1)-s(l2))^2-s(r1)^2-s(l2)^2\over 2}\\=\sum\limits_{x}{(s(r1)-s(l2))^2+(s(r2)-s(l1))^2-(s(l2)-s(l1))^2-(s(r2)-s(r1))^2\over 2}$

然后用莫队处理区间中每个数出现次数的平方即可!

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
const int maxn=50010;
struct node
{int a,b,org,k;node() {}node(int x,int y,int c,int d){a=min(x,y)+1,b=max(x,y),org=c,k=d;}	
}q[maxn<<2];
int s[maxn],v[maxn];
int n,m,B;
ll sum,ans[maxn];
inline int rd()
{int ret=0,f=1;	char gc=getchar();while(gc<'0'||gc>'9')	{if(gc=='-')f=-f;	gc=getchar();}while(gc>='0'&&gc<='9')	ret=ret*10+gc-'0',gc=getchar();return ret*f;
}
bool cmp(node a,node b)
{return (a.a/B==b.a/B)?(a.b<b.b):(a.a/B<b.a/B);
}
int main()
{n=rd(),B=int(sqrt(double(n)));int i,a,b,c,d,l,r;for(i=1;i<=n;i++)	v[i]=rd();m=rd();for(i=1;i<=m;i++)	a=rd()-1,b=rd(),c=rd()-1,d=rd(),q[i]=node(a,c,i,-1),q[i+m]=node(b,d,i,-1),q[i+2*m]=node(a,d,i,1),q[i+3*m]=node(b,c,i,1);sort(q+1,q+4*m+1,cmp);for(l=1,r=0,i=1;i<=4*m;i++){while(l>q[i].a)	l--,s[v[l]]++,sum+=2*s[v[l]]-1;while(l<q[i].a)	sum-=2*s[v[l]]-1,s[v[l]]--,l++;while(r<q[i].b)	r++,s[v[r]]++,sum+=2*s[v[r]]-1;while(r>q[i].b)	sum-=2*s[v[r]]-1,s[v[r]]--,r--;ans[q[i].org]+=q[i].k*sum;}for(i=1;i<=m;i++)	printf("%lld\n",ans[i]>>1);return 0;
}

 

转载于:https://www.cnblogs.com/CQzhangyu/p/7500549.html

http://www.lbrq.cn/news/2509993.html

相关文章:

  • 怎样做社交网站提高百度搜索排名工具
  • 网站备案多少岁安卓优化大师hd
  • 长沙有哪些网站建设公司百度问答优化
  • 怎样做网站公司成都seo招聘
  • 专门做ppt会员网站百度接单平台
  • 网站建设南昌中国免费广告网
  • wordpress安装显示空白页个人网站seo入门
  • 网站建设行业衰落明星百度指数在线查询
  • 百度最新泛站群程序百度网盘下载慢怎么解决
  • 代理ip平台好口碑的关键词优化
  • 做cg的网站名片seo什么意思
  • b2b跟b2c有什么区别厦门百度整站优化服务
  • 手机网站指向什么意思汕头网站建设方案优化
  • 有哪些做伦敦金的网站黄页引流推广网站入口
  • 帝国cms做招聘网站长沙网站快速排名提升
  • 网站系统修改不了怎么回事百度号码
  • 外国类似黄色网站什么是交换链接
  • 给别人做网站做什么科目网址收录入口
  • 网站建设cms网页推广链接怎么做
  • opencart 构建电子商务网站北京网站建设公司报价
  • 柯桥教育网站建设百度客服系统
  • 政府网站集约化建设报告分析百度帐号个人中心
  • 网站后台怎样推荐图片短视频剪辑培训班速成
  • 网站建设制作 南京公司推广方案设计
  • 怎样做交友网站市场调研报告怎么写
  • 怎么做私服网站网络运营主要做什么工作
  • 怎么建网站做淘宝客成都正规搜索引擎优化
  • 中国建设招聘信息网站北京营销推广网站建设
  • 做长直播的房地产网站小红书如何引流推广
  • wordpress做的视听网站做企业网站哪个平台好
  • VMware16安装Ubuntu-22.04.X版本(并使用桥接模式实现局域网下使用ssh远程操作Ubuntu系统)
  • 技术速递|GitHub Copilot 的 Agent 模式现已全面上线 JetBrains、Eclipse 和 Xcode!
  • 视觉语言模型在视觉任务上的研究综述
  • 飞书 —— 多维表格 —— AI生成
  • 基于JavaWeb的兼职发布平台的设计与实现
  • vue相关的拖拉拽官网