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

中山百度网站推广河南网站排名优化价格

中山百度网站推广,河南网站排名优化价格,万网域名查询网,ui网页设计排版一种比较无脑暴力点的方法&#xff0c;时间复杂度是(nm)。 (注意的优先级比^高&#xff0c;记得加括号(a[i]^a[j])x&#xff09; #include <iostream> #include <vector> #include <bits/stdc.h> // 包含一些 C 标准库中未包含的特定实现的函数的头文件 usi…

一种比较无脑暴力点的方法,时间复杂度是(n²+m)。
(注意==的优先级比^高,记得加括号(a[i]^a[j])==x)

#include <iostream>
#include <vector>
#include <bits/stdc++.h> // 包含一些 C++ 标准库中未包含的特定实现的函数的头文件
using namespace std;int main() {int n, m, x;// 输入 n(数组长度)、m(查询次数)、x(给定的异或值)cin >> n >> m >> x;// 定义数组 a 存储 n 个整数int a[n + 1];// 输入 n 个整数到数组 a 中for (int i = 1; i <= n; i++) {cin >> a[i];}// 定义动态规划数组 dp,初始化为 INT_MAX,记录a[i]第一次能异或为x的位置j。vector<int> dp(n + 1, INT_MAX);// 对于每对 i、j,判断 a[i] 和 a[j] 是否异或等于给定的 x// 如果等于,则更新 dp[i] 为 j,表示 a[i] 和 a[j] 可以异或得到 xfor (int i = 1; i < n; i++) {for (int j = i + 1; j <= n; j++) {if ((a[i] ^ a[j]) == x) {dp[i] = j;break; // 找到第一个符合条件的 j 即可跳出内层循环}}}// 对于每次查询,输入左右边界 l、r// 如果 l 不等于 r 并且 dp[l] 小于等于 r,则输出 "yes",否则输出 "no"for (int i = 0; i < m; i++) {int l, r;cin >> l >> r;if (l != r && dp[l] <= r)cout << "yes" << endl;elsecout << "no" << endl;}return 0;
}

但是显然这样是不能得满分的,那么我们就要优化一下思路。

思路分析:

  1. 定义数组 a 存储 n 个整数。
  2. 定义一个 map<int, int>,用于记录数组元素和它们的位置信息。(注意:map当某个键不存在时,其值会被初始为0)
  3. 从标准输入流中读取 n 个整数到数组 a 中。
  4. 定义动态规划数组 dp,初始化为 0,用于记录满足条件的[1,i]最远位置。
  5. 遍历数组 a,更新动态规划数组 dpmap
  6. 查询部分:从标准输入流中读取左右边界 lr,判断是否存在满足条件的位置对,输出相应的结果。
#include<iostream>
#include<bits/stdc++.h>
using namespace std;int main() {int n, m, x;// 输入数组长度 n、查询次数 m 和给定的异或值 xcin >> n >> m >> x;// 定义数组 a 存储 n 个整数int a[n + 1];// 定义 map,用于记录数组元素和它们的位置信息map<int, int> map;// 输入 n 个整数到数组 a 中for(int i = 1; i <= n; i++) {cin >> a[i];}// 定义动态规划数组 dp,初始化为 0,用于记录满足条件的最远位置vector<int> dp(n + 1, 0);// 对数组 a 进行遍历for(int i = 1; i <= n; i++) {// 更新动态规划数组 dp// dp[i] 表示在位置 i 时,可以得到的满足条件的最远位置// 比较当前位置和之前出现的值对应位置的较大值,更新 dp[i]dp[i] = max(dp[i - 1], map[a[i] ^ x]);// 更新 map,记录当前元素的位置信息map[a[i]] = i;}// 查询部分for(int i = 0; i < m; i++) {int l, r;cin >> l >> r;// 如果左右边界不相等,并且 dp[r] 大于等于左边界 l,则输出 "yes",否则输出 "no"if(l != r && dp[r] >= l)cout << "yes" << endl;elsecout << "no" << endl;}return 0;
}

时间复杂度是O(n+m),大大优化了。

http://www.yayakq.cn/news/601906/

相关文章:

  • 济南学网站建设哪里好七牛云存储代替WordPress
  • 电子商务网站建设策划书模板郑州市网站建设怎么样
  • 广告创意图片重庆百度提升优化
  • 老域名购买攀枝花seo
  • 网站建设名词解析wordpress数据库安装失败
  • 响应式网站宽度可视化拖拽建站系统
  • 福州外贸网站制作成都网站建设前50强
  • 长乐区住房和城乡建设局网站湖南营销型网站建设公司
  • 龙岗爱联网站建设广告公司名称大全简单
  • 外贸网站建设公司青岛李洋网络做网站
  • 为什么建设网站江西建设质量安全监督网站
  • 投资建设网站首页重生北京上大学开网吧做网站的小说
  • 高端商务经纪网站建设wordpress扫码支付宝
  • 优化网站 提高查询以前有个自助建设网站
  • 怎么按照屏幕比例做网站适应网站标题logo制作
  • 做网站分辨率设置多少kompozer wordpress
  • wordpress先使用说明seo顾问服务深圳
  • 运动网站建设wordpress fla插件
  • 有专门做ppt的网站吗永州网站建设公司
  • 自适应网站建设案例怎样做网站后台
  • 企业网站一般用什么域名开发固定款app多少费用
  • 平台网站开发多少钱镇江 网站
  • 在洪雅网站做企业招聘企业网站优化服务主要围绕哪些要素?为什么?
  • 已经有域名 如何建设网站汕头企业模板建站
  • 总部基地网站建设公司广元网站建设
  • 在哪做网站便宜又好樟木头镇网站仿做
  • 门户网站建设情况汇报药品招商网站大全
  • 做网站生意不赚钱6如何设计网站
  • a最先基智网站建设四川建设网报名系统
  • 先做网站还是先备案软件开发工具自考