当前位置: 首页 > 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.jinmujx.cn/news/118014.html

相关文章:

  • 做视频网站用什么语言万网域名查询工具
  • 网站logo怎么换沈阳seo合作
  • 古典asp网站源码微信视频号小店
  • mui做浏览器网站跳转网络排名优化软件
  • 买奢侈品去哪个网站有正品优化网站排名公司
  • 怎么查看一个网站有没有做推广淘宝直通车推广怎么收费
  • 做网站如何文字链接文字外贸怎么建立自己的网站
  • 自己怎么做优惠卷网站什么是搜索引擎销售
  • 西安网站建设专业网络推广方法的分类
  • 深圳电商平台网站建设谷歌推广哪家公司好
  • php网站开发说明一键清理加速
  • 网站和做游戏seo排名优化代理
  • 公司怎样做网站南宁网络推广热线
  • 如果自己做网站比百度好用的搜索软件手机版
  • 塘沽网吧开门了吗电商seo什么意思
  • 网页设计精选网站百度人工电话
  • 世界工厂采购网官网百度关键词seo排名
  • 做的网站在百度找不到了百度权重3的网站值多少
  • 记事本做网站怎么加图片制作网页的代码
  • vr 全景 网站建设企业推广平台
  • 做电影网站技术公司软文推广
  • 现在由哪些网站可以做外链东莞网站定制开发
  • 自己如何创建一个网站新手小白怎么学做运营
  • 阿里云服务器建网站永州网站seo
  • 软件发布网站源码厦门seo培训
  • 网站做菠菜seo排名优化工具
  • 傻瓜式 建网站搜一搜搜索
  • 贵阳网站设计阳光创信好吗开网店怎么推广运营
  • cms那个做网站最好摘抄一篇新闻
  • 在别的公司做的网站深圳网站建设