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

网站怎么做图片搜索西安seo关键词排名

网站怎么做图片搜索,西安seo关键词排名,石龙镇住房规划建设局网站,WordPress 错误日志一种比较无脑暴力点的方法&#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.hrbkazy.com/news/10905.html

相关文章:

  • 软件开发网站有哪些网络推广优化seo
  • 南京做网站具体需要多少钱电子制作网站
  • 微信公众平台怎么注册seo求职信息
  • 做网站怎样用链接赚钱网站优化外包
  • 全国网站建设公司排名seo推广软件品牌
  • 浅谈电子商务网站建设与管理的理解说说seo论坛
  • 公司建设网站的优势电商平台怎么做
  • WordPress最强网站360官方网站网址
  • 您的域名因未取得工信部网站备案号软件外包企业排名
  • 论坛类网站可以做移动端吗搜索引擎google
  • 网站开发js路径广告位招商怎么找客户
  • 淘宝新闻最新消息windows优化大师可靠吗
  • 嘉禾手机网站建设石家庄疫情最新消息
  • 什么网站做外贸好app运营需要做哪些
  • 太原优化网站排名个人主页网页设计
  • 如何做网站防劫持长沙专业网站制作
  • 建设网站赚钱猛兽领主网站推广app软件
  • 网站怎么做代码优化什么软件能搜索关键词能快速找到
  • wordpress j建站网站免费推广网站
  • 昆明网站建设推荐谁好呢合肥网站优化平台
  • 长沙网站设计精选柚v米科技短视频seo优化排名
  • 仿牌外贸网站seo网络营销推广排名
  • 适合小县城开的加盟店上海网络优化服务
  • 网站运营模式谷歌广告怎么投放
  • 做电影平台网站怎么赚钱的如何做网站推广及优化
  • 东莞整站优化排名seo个人优化方案案例
  • 沈阳网站开发制作汕头网站建设平台
  • 桂林建网站网络营销期末考试试题及答案
  • 网站建设的业务范围windows优化大师提供的
  • 网站建设个人主页图比较有名的个人网站