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

天津外贸公司网站制作/seo网站怎么搭建

天津外贸公司网站制作,seo网站怎么搭建,wordpress ckvideo,remal wordpress【题意】给定n个数字&#xff0c;m次操作&#xff0c;每次询问区间不同数字的个数&#xff0c;或修改某个位置的数字。n,m<10^4&#xff0c;ai<10^6。 【算法】带修改的莫队算法 【题解】对于询问(x,y,t)&#xff0c;其中t是前面的修改次数&#xff0c;所有修改记录改前和…

【题意】给定n个数字,m次操作,每次询问区间不同数字的个数,或修改某个位置的数字。n,m<=10^4,ai<=10^6。

【算法】带修改的莫队算法

【题解】对于询问(x,y,t),其中t是前面的修改次数,所有修改记录改前和改后。

首先按belong[x],然后按belong[y],最后按t排序。(块大小n^(2/3))

移动询问,先移动t,然后移动x和y,运用对称差操作实现。如果移动t前修改格访问过,先删除影响,修改,再加回。

区间莫队需要注意的还有操作顺序问题,区间先拓展再收缩,以及修改的开闭边界问题需要特别注意(左右是不同的)。

哦还有还有,初始是(0,0,0)的话,令vis[0]=1。

为什么我说得这么草率?因为写完了糖果公园后就真的没什么好说的了……当然还是在区间移动上面栽了一下233。

#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=10010;
int belong[maxn],n,m,pre[maxn],c[maxn],d[1000010],ans=0,c0,c1,ANS[maxn];
bool vis[maxn];
struct q{int x,y,t,id;}b[maxn];
struct mo{int x,y,pre;}a[maxn];
bool cmp(q a,q b){return belong[a.x]<belong[b.x]||(belong[a.x]==belong[b.x]&&belong[a.y]<belong[b.y])||
(belong[a.x]==belong[b.x]&&belong[a.y]==belong[b.y]&&a.t<b.t);}
void solve(int x){if(!vis[x])ans+=(++d[c[x]]==1);else ans-=(--d[c[x]]==0);//
    vis[x]^=1;
}
void modify(int x,int y){if(!vis[x])c[x]=y;else solve(x),c[x]=y,solve(x);
}
char s[10];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d",&c[i]),pre[i]=c[i];for(int i=1;i<=m;i++){int u,v;scanf("%s%d%d",s,&u,&v);if(s[0]=='R')a[++c0]=(mo){u,v,pre[u]},pre[u]=v;else {if(u>v)swap(u,v);b[++c1]=(q){u,v,c0,c1};}}int Q=(int)pow(n,2.0/3);for(int i=1;i<=n;i++)belong[i]=(i-1)/Q+1;sort(b+1,b+c1+1,cmp);vis[0]=1;//
    for(int i=1;i<=c1;i++){for(int j=b[i-1].t+1;j<=b[i].t;j++)modify(a[j].x,a[j].y);for(int j=b[i-1].t;j>b[i].t;j--)modify(a[j].x,a[j].pre);for(int j=b[i-1].y+1;j<=b[i].y;j++)solve(j);//
        for(int j=b[i-1].x-1;j>=b[i].x;j--)solve(j);for(int j=b[i-1].x;j<b[i].x;j++)solve(j);for(int j=b[i-1].y;j>b[i].y;j--)solve(j);ANS[b[i].id]=ans;}for(int i=1;i<=c1;i++)printf("%d\n",ANS[i]);return 0;
}
View Code

 

转载于:https://www.cnblogs.com/onioncyc/p/8578294.html

http://www.jmfq.cn/news/4946383.html

相关文章:

  • 建什么网站能百度收录/app如何推广
  • 网站是别人做的我这就没有根目录/推广工具
  • 贵州省住房和城乡建设厅查询网站首页/seo经理招聘
  • 宜昌网站建设兼职/网店如何推广
  • 南京网站制作公司哪家靠谱/沪深300指数基金
  • 自己做的视频网站如何赚钱/查询网站流量的网址
  • 触屏版网站模板/朋友圈推广文案
  • 网站建设质量保证/优化网站排名技巧
  • 印刷报价网站源码下载/微信怎么做推广
  • 网站建设智能优化/百度云网盘登录入口
  • 广州协安建设工程有限公司网站/信息服务平台有哪些
  • 网站开发后怎么转安卓app/今日郑州头条最新新闻
  • 昆山靠谱的网站建设公司 豆瓣/查询网站备案信息
  • 谷歌镜像网站怎么做/南宁优化网站收费
  • 网站后台上传缩略图/企业网站推广模式
  • 网站开发的实验心德/微信营销软件排行榜
  • 星巴克网站建设方案/google play谷歌商店
  • 做食品网站有哪些/太原模板建站定制网站
  • 怎么用虚拟主机做网站/网络营销工程师培训
  • 哪家网站推广做的好/一键优化清理
  • 2017优秀网站设计/网络营销的方法包括哪些
  • 网站建设开发流程按钮/百度人工
  • wordpress网站专题/深圳seo公司排名
  • 网站开发款计入什么科目/宁波网站推广排名
  • 小程序免费制作平台有吗/seo优化技术厂家
  • 计算机怎么建设网站/seo诊断书
  • 做农产品网站需要做的准备/关键词优化设计
  • 开源html5 网站模板/巨量算数关键词查询
  • 网站备案与域名备案/深圳网络推广案例
  • 做网站免费/河南做网站的