中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)免費(fèi)軟件有哪些國(guó)內(nèi)哪個(gè)搜索引擎最好用

網(wǎng)站建設(shè)免費(fèi)軟件有哪些,國(guó)內(nèi)哪個(gè)搜索引擎最好用,目前免費(fèi)的h5制作軟件,做課件的網(wǎng)站有哪些【題目鏈接】 ybt 1541:【例 1】數(shù)列區(qū)間最大值 【題目考點(diǎn)】 1. RMQ問題 RMQ問題是給定一個(gè)序列,多次求區(qū)間最值的問題。 常用解法: ST表:離線算法,預(yù)處理 O ( n log ? n ) O(n\log n) O(nlogn),區(qū)間…

【題目鏈接】

ybt 1541:【例 1】數(shù)列區(qū)間最大值

【題目考點(diǎn)】

1. RMQ問題

RMQ問題是給定一個(gè)序列,多次求區(qū)間最值的問題。
常用解法:

  • ST表:離線算法,預(yù)處理 O ( n log ? n ) O(n\log n) O(nlogn),區(qū)間查詢 O ( 1 ) O(1) O(1)
  • 線段樹:在線算法,預(yù)處理 O ( n ) O(n) O(n),區(qū)間查詢 O ( log ? n ) O(\log n) O(logn)

【解題思路】

解法1:ST表

概念及解析見洛谷 P3865 【模板】ST 表 && RMQ 問題

解法2:線段樹

基本概念及解析見洛谷 P3374 【模板】樹狀數(shù)組 1(線段樹解法)
線段樹中每個(gè)結(jié)點(diǎn)保存的值為該結(jié)點(diǎn)表示的區(qū)間中的最大值。
使用孩子結(jié)點(diǎn)的值更新雙親結(jié)點(diǎn)的值時(shí)(pushUp操作),取左右孩子結(jié)點(diǎn)的值的最大值,即為當(dāng)前結(jié)點(diǎn)的值。
區(qū)間查詢時(shí):

  • 如果當(dāng)前結(jié)點(diǎn)表示的區(qū)間被待查詢區(qū)間完全包含,則返回當(dāng)前結(jié)點(diǎn)的值。
  • 如果當(dāng)前結(jié)點(diǎn)表示的區(qū)間沒有被待查詢區(qū)間包含,則求出左右孩子結(jié)點(diǎn)表示的區(qū)間在待查詢區(qū)間中的最大值,返回這兩個(gè)值的最大值。

【題解代碼】

解法1:ST表
#include<bits/stdc++.h>
using namespace std;
#define N 100005
#define L 30
int a[N], lg[N], f[N][L];//f[i][j]:a[i]~a[i+2^j-1]中的最大值 
void initLg(int n)
{for(int i = 2; i <= n; ++i)lg[i] = lg[i/2]+1;
}
int query(int l, int r)
{int k = lg[r-l+1];return max(f[l][k], f[r-(1<<k)+1][k]);
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n, m, l, r;cin >> n >> m;initLg(n);for(int i = 1; i <= n; ++i)cin >> a[i];for(int i = 1; i <= n; ++i)f[i][0] = a[i];for(int j = 1; j <= lg[n]; ++j)for(int i = 1; i+(1<<j)-1 <= n; ++i)f[i][j] = max(f[i][j-1], f[i+(1<<(j-1))][j-1]);while(m--){cin >> l >> r;cout << query(l, r) << '\n';}return 0;
}
解法2:線段樹
#include<bits/stdc++.h>
using namespace std;
#define N 100005
struct Node
{int l, r, val;
} tree[4*N];
int a[N];
void pushUp(int i)
{tree[i].val = max(tree[2*i].val, tree[2*i+1].val);
}
void build(int i, int l, int r)
{tree[i].l = l, tree[i].r = r;if(l == r){tree[i].val = a[l];return;}int mid = (l+r)/2;build(2*i, l, mid);build(2*i+1, mid+1, r);pushUp(i);
}
int query(int i, int l, int r)
{if(tree[i].l > r || tree[i].r < l)return INT_MIN;if(l <= tree[i].l && tree[i].r <= r)return tree[i].val;return max(query(2*i, l, r), query(2*i+1, l, r));
}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int n, m, l, r;cin >> n >> m;for(int i = 1; i <= n; ++i)cin >> a[i];build(1, 1, n);while(m--){cin >> l >> r;cout << query(1, l, r) << '\n';}return 0;
}
http://m.risenshineclean.com/news/57965.html

相關(guān)文章:

  • 手機(jī)編程軟件有哪些谷歌網(wǎng)站推廣優(yōu)化
  • 惠來做網(wǎng)站杭州百度人工優(yōu)化
  • 網(wǎng)站建設(shè)的基本術(shù)語(yǔ)常用的網(wǎng)絡(luò)推廣手段有哪些
  • 網(wǎng)站建設(shè)崗位要求百度前三推廣
  • 濟(jì)寧萬達(dá)網(wǎng)站建設(shè)微信廣告推廣如何收費(fèi)
  • 搜狗seo查詢seo頁(yè)面優(yōu)化公司
  • 駐馬店哪里做網(wǎng)站河南網(wǎng)站建設(shè)哪個(gè)公司做得好
  • 哪個(gè)網(wǎng)站做外貿(mào)的淘寶搜索關(guān)鍵詞排名查詢工具
  • 如何加強(qiáng)企業(yè)網(wǎng)站建設(shè) 論文企業(yè)網(wǎng)站注冊(cè)域名的步驟
  • 瀏覽器有哪幾種鄭州seo優(yōu)化顧問阿亮
  • 內(nèi)蒙古網(wǎng)站seo推廣服務(wù)公司
  • 做的好的c2c網(wǎng)站重慶高端seo
  • 網(wǎng)站開發(fā)產(chǎn)品經(jīng)理招聘雞西seo
  • wordpress整站生成html網(wǎng)頁(yè)
  • 買了域名之后怎么做網(wǎng)站網(wǎng)絡(luò)推廣公司企業(yè)
  • 網(wǎng)站開發(fā)中網(wǎng)頁(yè)上傳今天的新聞發(fā)布會(huì)
  • 免費(fèi)代理做企業(yè)網(wǎng)站重慶疫情最新情況
  • 論壇網(wǎng)站搭建網(wǎng)絡(luò)熱詞2022
  • wordpress 好評(píng)插件優(yōu)化設(shè)計(jì)六年級(jí)下冊(cè)數(shù)學(xué)答案
  • 推廣網(wǎng)站源碼百度網(wǎng)站制作
  • 組織建設(shè)情況怎么寫哈爾濱seo優(yōu)化軟件
  • 網(wǎng)站建設(shè)保教長(zhǎng)沙seo優(yōu)化哪家好
  • 網(wǎng)站怎樣制作seo網(wǎng)站優(yōu)化方案摘要
  • 制作網(wǎng)站首頁(yè)的步驟永久開源的免費(fèi)建站系統(tǒng)
  • 臺(tái)州做網(wǎng)站的公司有哪些公司電子商務(wù)平臺(tái)建設(shè)
  • 幫朋友做網(wǎng)站 知乎seo概念的理解
  • 怎樣查網(wǎng)站用什么程序做的今天頭條新聞100條
  • 自己的網(wǎng)站在哪里找線上推廣渠道
  • 怎么看網(wǎng)站源碼用什么做的營(yíng)銷廣告文案
  • 怎么做視頻網(wǎng)站賺錢嗎長(zhǎng)春網(wǎng)站提升排名