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

做期货在哪个网站看消息seo技术有哪些

做期货在哪个网站看消息,seo技术有哪些,建设网站有哪些好处和坏处,找网站的方法每周五篇博客:(5/5) 我做到了! https://atcoder.jp/contests/abc242/tasks/abc242_g 这题主要是想给大家提供一份莫队的板子,很多莫队题基本上填空就差不多了( 板子 void solve() {int n;std::cin >…

每周五篇博客:(5/5) 我做到了!

https://atcoder.jp/contests/abc242/tasks/abc242_g

这题主要是想给大家提供一份莫队的板子,很多莫队题基本上填空就差不多了(

板子

void solve() {int n;std::cin >> n;std::vector<int> a(n + 1);for (int i = 1; i <= n; i++) std::cin >> a[i];int q;std::cin >> q;std::vector<std::array<int, 3>> que(q);for (int i = 0; i < q; i ++) {std::cin >> que[i][0] >> que[i][1];que[i][2] = i;}const int M = 300;std::sort(que.begin(), que.end(), [](std::array<int, 3> a, std::array<int, 3> b) {if (a[0] / M == b[0] / M) return a[1] < b[1];return a[0] / M < b[0] / M;});std::vector<int> ans(q);i64 res = 0;auto add = [&](int i) {};auto del = [&](int i) {};int L = 1, R = 0;for (auto [l, r, id] : que) {if (l == r) {continue;}while (L > l) L --, add(L);while (R < r) R ++, add(R);while (L < l) del(L), L ++;while (R > r) del(R), R --;ans[id] = res;}for (auto i : ans) std::cout << i << '\n';std::cout << '\n';
}

题意

N N N 人编号 1 , 2 , … , N 1,2,\dots,N 1,2,,N 连续站立。人 i i i 穿颜色 A i A_i Ai

回答以下格式的查询 Q Q Q

  • 给您整数 l l l r r r 。考虑到只有一个人 l , l + 1 , … , r l,l+1,\dots,r l,l+1,,r ,最多可以形成几对穿着相同颜色的人?

思路

事实上这就是莫队板子题,简单说一下莫队

莫队可以把可离线询问的题目转化为一个 O ( n n ) O(n\sqrt n) O(nn ) 时间复杂度

值得注意的是在移动左右端点时,我们应该先扩展区间再缩小区间

具体一点的可以看oiwiki-普通莫队算法

了解莫队后,我们只需要在上面的板子进行一些魔改/填空

我们维护一个数组 c n t i cnt_i cnti,表示当前莫队代表的区间的衣服颜色为 i i i 的衣服数量

定义 r e s res res 表示当前莫队代表的区间的答案

对于增加区间的元素时,如果加上这个元素后, c n t i cnt_i cnti 变成了偶数,说明我们又凑出来了一对相同的颜色衣服,所以此时 r e s ← r e s + 1 res \gets res + 1 resres+1,同时维护 r e s i res_i resi

对于增加区间的元素时,如果减去这个元素之前, c n t i cnt_i cnti 是偶数,说明我们要拆散一对相同的颜色衣服,所以此时 r e s ← r e s − 1 res \gets res - 1 resres1,同时维护 r e s i res_i resi

那么这题就解决了,真是一道典典又板板的题目呢

代码

void solve() {int n;std::cin >> n;std::vector<int> a(n + 1);for (int i = 1; i <= n; i++) std::cin >> a[i];int q;std::cin >> q;std::vector<std::array<int, 3>> que(q);for (int i = 0; i < q; i ++) {std::cin >> que[i][0] >> que[i][1];que[i][2] = i;}const int M = 300;std::sort(que.begin(), que.end(), [](std::array<int, 3> a, std::array<int, 3> b) {if (a[0] / M == b[0] / M) return a[1] < b[1];return a[0] / M < b[0] / M;});std::vector<int> ans(q);std::vector<int> cnt(N);i64 res = 0;auto add = [&](int i) {cnt[a[i]] ++;if (cnt[a[i]] % 2 == 0) res ++;};auto del = [&](int i) {if (cnt[a[i]] % 2 == 0) res --;;cnt[a[i]] --;};int L = 1, R = 0;for (auto [l, r, id] : que) {if (l == r) {continue;}while (L > l) L --, add(L);while (R < r) R ++, add(R);while (L < l) del(L), L ++;while (R > r) del(R), R --;ans[id] = res;}for (auto i : ans) std::cout << i << '\n';std::cout << '\n';
}
http://www.dtcms.com/wzjs/451087.html

相关文章:

  • h5制作企业网站有哪些优势有哪些网络营销公司
  • 企业网站建设前言seo搜索引擎实训心得体会
  • 网站标ico怎么做营销策划思路
  • 网站开发定制公司深圳seo排名哪家好
  • .net和php哪个做网站好免费网络推广
  • 网站里弹窗怎么做推广的软件有哪些
  • 网站制作公司哪儿济南兴田德润有活动吗宁波seo网络推广公司排名
  • 网站建设费用皆选网络外国黄冈网站推广平台
  • 代做财务报表分析网站长沙排名推广
  • 不收费的网站优化大师windows
  • 公众平台官网登录入口济南优化网站的哪家好
  • 网上停车场做施工图人员网站查排名的网站
  • 如何制作自己的网站链接视频公司企业员工培训
  • 国外社交网站做的比较好的是关键词seo排名优化如何
  • 做水果苹果大的网站网站排名优化公司
  • 响应式网页设计pptseo排名工具外包
  • 做购物网站学什么技术网站开发需要的技术
  • 三网合一网站建设合同无锡seo网站排名
  • 用wordpress做网站页面显示404百度站长收录
  • 怎么给网站做访问量整合营销的特点有哪些
  • 建网站选哪个域名查询网址
  • 在网站做推广要钱吗网络推广软文怎么写
  • 哪有专做注册小网站的网站优化外包费用
  • 一般ps做网站大小多少女排联赛最新排行榜
  • 即墨市网站建设百度做广告怎么收费
  • 代发广告平台关键词点击优化工具
  • 华艺网站开发pc网站优化排名软件
  • 做平面有什么好的网站一键优化表格
  • 做蛋糕网站策划书赵阳竞价培训
  • 高效省心的app定制开发平台网站优化排名软件哪些最好