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

类似返利网的网站建设上海优化公司有哪些

类似返利网的网站建设,上海优化公司有哪些,做创意礼品定制的网站,柳州企业做网站2612. 最少翻转操作数(平衡树) 题目的难度有一部分在于数学推导。对于某个点 iii 进行反转是有一个范围的,这个范围需要考虑到边界的情况。可以的得到的一个结论是。对于窗口反转,KaTeX parse error: Expected group after ^ at p…

2612. 最少翻转操作数(平衡树)

在这里插入图片描述
在这里插入图片描述
题目的难度有一部分在于数学推导。对于某个点 iii 进行反转是有一个范围的,这个范围需要考虑到边界的情况。可以的得到的一个结论是。对于窗口反转,KaTeX parse error: Expected group after '^' at position 4: i+i^̲' = R+L

并且在c++中可以用到有序set的一些特性的,在实现上是一个红黑树。比如我们可以使用upper_bound()lower_bound()。这两者返回的都是迭代器,其中lower_bound( )函数返回指向第一个大于等于给定值的元素的迭代器, upper_bound( ) 函数返回指向第一个大于给定值的元素的迭代器。

class Solution {
public:vector<int> minReverseOperations(int n, int p, vector<int>& banned, int k) {// [max(k-1-i, i-k+1), min(2n-1-k-i, i+k-1)]set<int> st[2];// 初始化vector<int> ans(n, -1);queue<int> q;q.push(p); ans[p] = 0;unordered_set<int> ban;for (int x:banned){ban.insert(x);ans[x] = -1;}// 考虑到奇偶性,维护两颗平衡树for(int i = 0;i<n;i++){if(i!=p && !ban.count(i)){st[i%2].insert(i);}}while(!q.empty()){int cur = q.front();q.pop();int l = max(k-1-cur, cur-k+1);int r = min(2*n-1-k-cur, cur+k-1);// 如果不加 & 就会复制一份,导致超时// 并不是复制,而至直接拿到引用set<int>& cur_st = st[l%2];auto it = cur_st.lower_bound(l);// 对于迭代器的使用// 1. 首先需要知道lower_bound得到是一个迭代器// 2. 如果得不到合适的,就返回end,因此我们需要判断下// 3. 对于迭代器的取值,需要用*while(it != cur_st.end()){int cur_v = *it;if(cur_v > r) break;ans[cur_v] = ans[cur]+1;q.push(*it);// 对于set常用的函数 insert(), erase()it = cur_st.erase(it);}}return ans;}
};

2608. 图中的最短环

在这里插入图片描述
这可能是一个模板题目,实现一个最短的环。

基本的思路有两种,都是基于bfs进行操作。一个是删除边,一个是删除点。都是需要枚举起始点。

对于删除边,就对于两个连通的边,我们进行bfs操作。对于起点 iii,我们如果能第二次访问到点 iii,就说明存在环,并且bfs的特性保证一定是第一次最短的。

class Solution {
public:int findShortestCycle(int n, vector<vector<int>>& edges) {// 模板构建双向无权图vector<vector<int>> g(n);for (auto &e: edges){int x = e[0], y = e[1];g[x].push_back(y);g[y].push_back(x);}// 初始化一个数组int dis[n];auto bfs = [&](int i){// 初始化一个数组memset(dis, -1, sizeof(dis));dis[i] = 0;queue<pair<int, int>> q;// emplace 方法构造一个对应的pairq.emplace(i, -1);while(!q.empty()){// 使用auto的方法,自动定位正确的cur和fa的类型auto [cur, fa] = q.front(); q.pop();for (int y: g[cur]){if (dis[y] == -1){dis[y] = dis[cur] + 1;q.emplace(y, cur);}else{if (fa == y) continue;return dis[cur] + dis[y] +1;}}}return INT_MAX;};int ans = INT_MAX;for(int i = 0;i<n;i++){ans = min(ans, bfs(i));}return ans==INT_MAX? -1: ans;}
};
http://www.zhongyajixie.com/news/47347.html

相关文章:

  • spring boot网站开发常用的网络营销方法有哪些
  • 一个网站一个月发多少外链比较合适大连网站制作
  • 做纸贸易的好网站海口做网站的公司
  • 做网站注册页面站长工具seo综合查询降级
  • 南京做网站联系南京乐识谷歌seo建站
  • wordpress 修改密码页面seo网站建设
  • 网站开发工具.枫子科技查域名备案信息查询
  • 商昊网站建设百度账号人工客服
  • 如何建立一个自己的网站宁德网站建设制作
  • 网站的总规划书竞价推广sem
  • 换物网站为什么做不起来推广自己产品的文案
  • 宁波哪里做网站的广州网站营销推广
  • 政府网站哪家公司做的抚顺seo
  • 做电影资讯网站算侵权吗seo 推广服务
  • 你注册过哪些网站百度销售平台
  • 网站换域名百度小说免费阅读
  • 杭州旅游 网站建设石家庄高级seo经理
  • 在网上做贸易哪个网站好新品怎么刷关键词
  • 网站建设 在线购买电脑培训班一般需要多少钱
  • lamp wordpress泰安网站seo
  • 上海监理建设协会网站个人如何做网络推广
  • 做日签的网站什么是seo文章
  • 网站打不开被拦截怎么办百度一下免费下载安装
  • 传奇私服发布网网站建设应用商店下载
  • 问答类网站怎么做近一周新闻热点事件
  • 专业的外贸网站建设公司排名百度咨询电话 人工客服
  • 库存网站建设哪家好新产品怎样推广
  • 帝国cms网站制作设计网站logo
  • 建站系统破解源码百度网盘app官网下载
  • 长沙做网站品牌济南网站建设公司选济南网络