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

政府网站建设服务百度站长工具收费吗

政府网站建设服务,百度站长工具收费吗,做网站的投入,什么网页传奇好玩文章目录 大致思路代码 大致思路 预处理: 用pos1, pos2, posls 分别记录 1 1 1, 2 2 2 , / / / 在字符串中的『位置』 用cum1 和 cum2 分别存储了 1 1 1 和 2 2 2 的前缀和,这样可以快速获取任意区间内的 1 1 1 和 2 2 2 的『数量』 查询处理: 对于每个查询…

文章目录

      • 大致思路
      • 代码

大致思路

  1. 预处理:

    • pos1, pos2, posls 分别记录 1 1 1, 2 2 2 , / / / 在字符串中的『位置』

    • cum1cum2 分别存储了 1 1 1 2 2 2 的前缀和,这样可以快速获取任意区间内的 1 1 1 2 2 2 的『数量』

  2. 查询处理:

    • 对于每个查询,使用**『前缀和』**来快速获取指定区间内的 1 1 1 2 2 2 的数量

    • 然后使用 lower_boundupper_bound 查找指定区间内的 / / / 的位置

    • 我们对于每个 / 的位置,需要计算左侧的 1 1 1 的数量和右侧的 2 2 2 的数量,取小的那个值乘以 2 2 2 再加 1 1 1,接着就可以可以形成的最长的 11 / 22 11/22 11/22 字符串部分序列的『长度』啦

    • 最后输出答案就可以了

代码

#include <iostream>		// 基本输入输出流
#include <algorithm>	// 通用算法(排序、查找、去重、二分查找等)
#include <vector>		// 动态数组(空间不够会自动扩容)
#include <queue>		// 队列(先进先出)
#include <stack>		// 栈(先进后出)
#include <set>			// 集合(有序不重复)
#include <map>			// 键值对容器(映射)
#include <list>			// 双向链表
#include <math.h>		// 数学函数
#include <functional>	// 通用的函数绑定和调用机制#define endl '\n'
#define pii pair<int, int>
#define pdd pair<double, double>
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define int long long
using namespace std;const int inf = 1e9 + 7;
const int mod = 998244353;
const int N = 2e5 + 10, M = N << 1;void solve(){int n, q;cin >> n >> q;string s;cin >> s;// 前処理: 1, /, 2 の位置を記録vector<int> pos1, pos2, posls;for (int i = 0; i < n; i++) {if (s[i] == '1') pos1.push_back(i);else if (s[i] == '2') pos2.push_back(i);else if (s[i] == '/') posls.push_back(i);}// 1, 2 の累積和を計算vector<int> cum1(n + 1, 0), cum2(n + 1, 0);for (int i = 0; i < n; i++) {cum1[i + 1] = cum1[i] + (s[i] == '1');cum2[i + 1] = cum2[i] + (s[i] == '2');}while (q--) {int l, r;cin >> l >> r;--l; // 0-indexed に変換// 指定範囲内の 1, 2 の数を取得int count1 = cum1[r] - cum1[l];int count2 = cum2[r] - cum2[l];// 指定範囲内の / の位置を取得auto it1 = lower_bound(posls.begin(), posls.end(), l);auto it2 = upper_bound(posls.begin(), posls.end(), r - 1);vector<int> sah(it1, it2);int maxlen = 0;for (int mid : sah) {if (mid < l || mid >= r) continue;// 左側の 1 の数int l1 = cum1[mid] - cum1[l];// 右側の 2 の数int r2 = cum2[r] - cum2[mid + 1];// 11/22 文字列の部分列の長さを計算int len = min(l1, r2) * 2 + 1;maxlen = max(maxlen, len);}cout << maxlen << endl;}
}signed main(){//重定向输入输出
//    freopen("pow.in", "r", stdin);
//    freopen("pow.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int _ = 1;
//	cin >> _;	// 非多组测试数据请注释该行while(_--) solve();return 0;
}
http://www.hkea.cn/news/323632/

相关文章:

  • 网站开发师职责柳州网站建设哪里有
  • 自己做的网站怎么改电话网络推广代运营公司
  • 做水果的网站有哪些google高级搜索
  • 怎么用网站做文案百度推广可以自己开户吗
  • 做的好的新闻网站排名优化
  • 购物网站开发功能百度联盟个人怎么接广告
  • 网站如何盈利流量费网站seo搜索引擎的原理是什么
  • 泰安房产价格最新域名年龄对seo的影响
  • 网站打不开怎么回事引流推广平台有哪些
  • 课程网站建设特色成都seo外包
  • 建设厅安全员证书查询网站外链seo推广
  • 邢台手机网站建设服务百度查重软件
  • 网站开发开题报告ppt竞价运营是做什么的
  • 网站代理怎么做的网站推广策划思路
  • 长沙网站seo公司百度权重5的网站能卖多少钱
  • 常德网站开发百度推广登录首页网址
  • 网站建设软件设计推广官网
  • 网站运营阶段站长之家app
  • discuz网站标题百度广告推广价格
  • 广州学校论坛网站建设疫情排行榜最新消息
  • 古董手表网站网络营销的主要方式和技巧
  • 做公司网站要那些资料百度电脑版下载官方
  • 定州网站建设公司企业网站源码
  • 0基础1小时网站建设教程如何给自己的公司建网站
  • 成都网站建设s1emens电商平台怎么加入
  • 六合哪家做网站建设域名注册查询软件
  • 网站建设的方案费用2023年新冠疫情最新消息
  • 九星市场做网站快速将网站seo
  • 长春做网站推广的公司提升神马关键词排名报价
  • 金融网站cms百度网盘客服电话人工服务