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

成都网站建设公司排名seo免费视频教程

成都网站建设公司排名,seo免费视频教程,如何用手机做网页,企业门户网模板下载A - ST 表 && RMQ 问题 题目思路:st表的板子题用于静态区间求最值,通过倍增的思想,先通过预处理将各个区间的最大值通过转移式求出f[i][j] max(f[i][j - 1], f[i (1 << (j - 1))][j - 1]);然后再进行重叠查询查询,k log2(r - l 1);,max(f[l][k], f[r - (1 &l…

A - ST 表 && RMQ 问题

 

题目思路:st表的板子题用于静态区间求最值,通过倍增的思想,先通过预处理将各个区间的最大值通过转移式求出f[i][j] = max(f[i][j - 1], f[i + (1 << (j - 1))][j - 1]);然后再进行重叠查询查询,k = log2(r - l + 1);,max(f[l][k], f[r - (1 << k) + 1][k]).

实现代码:

#include<bits/stdc++.h>
using namespace std;
#define N 2000005
typedef long long ll;
ll n, m, t, a, b, c, k, d, r, l;
ll f[N][32], dp[N];
ll ans, maxx, minn = 1e9;
inline int read()
{int x = 0, f = 1; char ch = getchar();while (ch < '0' || ch>'9') { if (ch == '-') f = -1; ch = getchar(); }while (ch >= '0' && ch <= '9') { x = x * 10 + ch - 48; ch = getchar(); }return x * f;
}
int main()
{cin >> n >> m;for (int i = 1; i <= n; i++) f[i][0] = read();for (int j = 1; j <= 20; j++) {for (int i = 1; i + (l << j) - 1 <= n; i++) {f[i][j] = max(f[i][j - 1], f[i + (1 << (j - 1))][j - 1]);}}for (int i = 1; i <= m; i++) {l = read(), r = read();k = log2(r - l + 1);cout << max(f[l][k], f[r - (1 << k) + 1][k]) << '\n';}return 0;
}

P3379 【模板】最近公共祖先(LCA)

 

题目思路:dep[u]存u点的深度,f[u][i]存从u点向上提哦啊2^i层的祖先节点,首先通过dfs进行倍增递推打表,从小到大枚举,然后跑一边lca进行二进制拆分,从大到小枚举.用快读读取,卡时间

代码实现:

#include<bits/stdc++.h>
using namespace std;
#define N 2000005
typedef long long ll;
ll n, m, t, a, b, c, k, d, r, l;
ll f[N][30], dep[N];
ll ans, maxx, minn = 1e9;
vector<ll>v[N];
inline int read()
{int x = 0, f = 1; char ch = getchar();while (ch < '0' || ch>'9') { if (ch == '-') f = -1; ch = getchar(); }while (ch >= '0' && ch <= '9') { x = x * 10 + ch - 48; ch = getchar(); }return x * f;
}
void dfs(ll u, ll father) {dep[u] = dep[father] + 1;f[u][0] = father;for (int i = 1; i <= 20; i++) {f[u][i] = f[f[u][i - 1]][i - 1];}for (ll v : v[u]) {if (v != father)dfs(v, u);}
}ll lca(ll u, ll v) {if (dep[u] < dep[v]) swap(u, v);for (int i = 20; i >= 0; i--)if (dep[f[u][i]] >= dep[v])u = f[u][i];if (u == v) return v;for (int i = 20; i >= 0; i--) {if (f[u][i] != f[v][i])u = f[u][i], v = f[v][i];}return f[u][0];
}
int main()
{cin >> n >> m >> t;for (int i = 1; i <= n-1; i++) {a = read(), b = read();v[a].push_back(b), v[b].push_back(a);}dfs(t, 0);for (int i = 1; i <= m; i++) {a = read(), b = read();cout << lca(a,b) << '\n';}return 0;
}

http://www.shuangfujiaoyu.com/news/61554.html

相关文章:

  • 长春制作手机网站个人网站设计图片
  • 用asp.net做的网站有哪些厦门人才网官网招聘信息网
  • 朝阳网站建设推广优化网站排名推广
  • 陕西省建设网三类人员继续教育杭州seo推广公司
  • 重庆 网站建设做一个官网要多少钱
  • 关于政府网站建设推进落实情况今日国际新闻最新消息
  • php和python做网站企业营销策划案例
  • 做招聘网站的怎么让人注册简历网络营销环境
  • 网站如何做支付宝接口百度推广账号登录
  • 网站会员后台管理系统百度搜索引擎技巧
  • b2b就是做网站吗网络营销成功案例介绍
  • 连云港集团网站建设百度账号管家
  • 好看的网页源码优化关键词的作用
  • dw怎么新建网站运营推广渠道有哪些
  • 电子商务网站建设说课稿站长之家工具查询
  • 宜昌教育云网站建设市场营销策划方案书
  • 环保网站查询碾米是否做备案滕州网站建设优化
  • 网站开发环境vs2015是什么软文公司代写
  • 贵州做旅游的网站做seo排名
  • 个人网站建设郑州seo询搜点网络效果佳
  • 菜鸟必读 网站被入侵后需做的检测 1广告公司广告牌制作
  • b站推广网站2024年不用下载网址大全
  • 清水河网站建设手机推广app
  • 党建设计说明网站优化什么意思
  • 长沙模板建站百度关键词优化
  • 公司网站推广费用免费大数据查询
  • 做网站界面需要注意什么抖音推广平台
  • 网页封装网站怎么做的接口贵阳搜索引擎排名推广
  • 温州网页网站制作长沙优化网站
  • 网络营销方式及流程永州网站seo