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

政府网站模板免费下载矿泉水软文广告500字

政府网站模板免费下载,矿泉水软文广告500字,服务外贸论坛,网站服务器租用怎么购买这一题,虽说在洛谷标的是模板题,但可能没有“历史研究”那一题更加模板。 这一题相对于回滚莫队的模板题,可能在回滚的处理上稍微复杂了一点。对于回滚莫队就不多解释了,可以看一下 回滚莫队模板题 这一篇博客,稍微简单…

        这一题,虽说在洛谷标的是模板题,但可能没有“历史研究”那一题更加模板。

        这一题相对于回滚莫队的模板题,可能在回滚的处理上稍微复杂了一点。对于回滚莫队就不多解释了,可以看一下 回滚莫队模板题 这一篇博客,稍微简单的解释了一下。

        当整个询问区间都在一个块儿内的时候,只需要按顺序暴力解决即可,处理完之后把状态清空。

        当整个询问区间不在一个块儿的时候,按照回滚莫队的思路,按顺序向右更新区间状态。暴力处理当前区间。问题就是按顺序向右更新,只需要记录每个颜色第一次出现的位置即可,就能求出来最大间距。但是从中间位置向左暴力处理当前块儿的时候会发现之前的条件不足以找到最大间距,所以在之前的时候需要记录一下每个颜色最右边的位置即可。然后把结果记录,回滚状态。

int n, m, len;
int o[N], st[N], f[N], sr[N];
struct LSH // 用于离散化处理
{int a, id;
} ls[N];
struct Query // 询问列表
{int l, r, id;
} q[N];inline int get(int a) // 得到块儿号
{return a / len;
}
bool cmp(Query a, Query b) // 排序函数
{int i = get(a.l), j = get(b.l);if(i != j) return i < j;return a.r < b.r;
}
inline void lsh_init() // 离散化处理
{stable_sort(ls, ls + n, [&](LSH a, LSH b){return a.a < b.a;});int pr = -1, s = 0;for(int i = 0; i < n; i ++){if(ls[i].a == pr) o[ls[i].id + 1] = s;else o[ls[i].id + 1] = ++ s;pr = ls[i].a;}
}
inline void add(int a, int& res)
{if(!st[o[a]]) st[o[a]] = a;sr[o[a]] = a;res = max(res, a - st[o[a]]);
}
inline void sovle()
{cin >> n;len = sqrt(n); for(int i = 0; i < n; i ++){int a;cin >> a;ls[i] = {a, i};}lsh_init();cin >> m;for(int i = 0; i < m; i ++){int a, b;cin >> a >> b;q[i] = {a, b, i};}stable_sort(q, q + m, cmp);for(int x = 0; x < m; ){int y = x;while(y < m && get(q[y].l) == get(q[x].l)) y ++;int right = get(q[x].l) * len + len - 1;// 整个区间都在块儿内while(x < y && q[x].r <= right){	int id = q[x].id, l = q[x].l, r = q[x].r, res = 0;for(int i = l; i <= r; i ++) add(i, res);f[id] = res;for(int i = l; i <= r; i ++) st[o[i]] = 0, sr[o[i]] = 0; // 回滚状态,需要把用到的st以及sr回滚状态x ++;}// 不在一个块儿的询问int i = right + 1, j = right, res = 0;stack<int> yi;while(x < y){int id = q[x].id, l = q[x].l, r = q[x].r;while(j < r) add(++ j, res); // 从中间位置向右顺序遍历int backup = res; // 记录res 用于暴力处理之后的回滚while(i > l) // 从中间向左暴力处理{i --;if(!sr[o[i]]) // 如果这个颜色在区间内没出现过{yi.push(o[i]); // 记录一下暴力处理过程中用到的sr,之后全部回滚sr[o[i]] = i; // 记录这个颜色最右边的位置,就是当前位置}res = max(res, sr[o[i]] - i);}while(yi.size()) // 回滚状态{int a = yi.top();sr[a] = 0;yi.pop();}f[id] = res; // 记录答案res = backup; // 回滚res状态x ++;i = right + 1; // 回滚左端点}memset(st, 0, sizeof st); // 清空memset(sr, 0, sizeof sr);}for(int i = 0; i < m; i ++)cout << f[i] << endl;
}

http://www.jinmujx.cn/news/80332.html

相关文章:

  • 网站建设重庆google排名
  • 响应式网站 移动端网站seo站长网怎么下载
  • 设计一个网站需要什么当阳seo外包
  • 做外围代理要有自己的网站广州网站建设费用
  • 温州互联网公司济南做seo外包
  • 网站设计论坛谷歌官网入口
  • 怎么样用手机做网站关键词网站seo是什么
  • 宁夏网站开发灰色词优化培训
  • 系部网站开发计划书seo外包是什么
  • 如何建设一个外卖订餐平台网站网站seo置顶 乐云践新专家
  • 怎么样用css做网站网络营销专业可以干什么工作
  • 推进政府网站集约化建设工作网络营销的特点有
  • 做网做网站建设seo是什么意思的缩写
  • 如何做提卡网站百度竞价平台官网
  • 六安网站建设西安seo推广公司
  • 北京做网站开发公司有哪些seo权威入门教程
  • php网站的客服窗口怎么做的谷歌推广怎么样
  • 网站弹广告是什么样做的北京seo平台
  • 简易制作网站今日新闻内容摘抄
  • 郑州市造价信息网官网优化排名推广教程网站
  • 网站静态化 好处外贸网络推广怎么做
  • 郑州高端做网站汉狮新闻今日要闻
  • 长沙做网站找哪家好泰州seo外包公司
  • 申请网站怎么申请最新消息新闻头条
  • wordpress移除评论字段广州seo网站排名
  • wordpress+模板宽度优化网哪个牌子好
  • 学习做网站建设的学校白百度一下你就知道
  • 绵阳网站建设培训学校厦门头条今日新闻
  • 什么颜色做网站好看淘词神器
  • 胶州胶东网站建设热搜榜上2023年热搜