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

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

當(dāng)?shù)亟ㄔO(shè)局網(wǎng)站宿遷網(wǎng)站建設(shè)制作

當(dāng)?shù)亟ㄔO(shè)局網(wǎng)站,宿遷網(wǎng)站建設(shè)制作,最新wordpress安裝,青島網(wǎng)站設(shè)計(jì)建設(shè)這里把我的想法和思路寫(xiě)出來(lái),懇請(qǐng)批評(píng)指正! 目錄 考前準(zhǔn)備 試題1: 試題2: 試題3: 試題4: 試題5: 試題6: 試題7: 試題8: 試題9: 試題1…

這里把我的想法和思路寫(xiě)出來(lái),懇請(qǐng)批評(píng)指正!

目錄

考前準(zhǔn)備

試題1:

試題2:

試題3:

試題4:

試題5:

試題6:

試題7:

試題8:

試題9:

試題10:

總結(jié):


考前準(zhǔn)備

考前五分鐘,開(kāi)十個(gè)源文件,并把頭文件等必須寫(xiě)的部分寫(xiě)出來(lái),寫(xiě)完的程序一定要有順序地保留

試題1:

問(wèn)題描述
請(qǐng)找到一個(gè)大于 2022 的最小數(shù),這個(gè)數(shù)轉(zhuǎn)換成十六進(jìn)制之后,所有的數(shù)位(不含前導(dǎo) 0)都為字母(A 到 F)。
請(qǐng)將這個(gè)數(shù)的十進(jìn)制形式作為答案提交。

答案提交
這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。


個(gè)人認(rèn)為難度:易

答案:2730

思路:從2023開(kāi)始一直輸出十六進(jìn)制形式,用眼睛找第一個(gè)全字母的就行

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);for(int i=2023;i;i++)cout<<dec<<i<<' '<<hex<<i<<endl;//2730 10*16*16+10*16+10//cout<<10*16*16+10*16+10;
} 

試題2:

問(wèn)題描述
在 Excel 中,列的名稱(chēng)使用英文字母的組合。前 26 列用一個(gè)字母,依次為 A 到 Z,接下來(lái) 26*26 列使用兩個(gè)字母的組合,依次為 AA 到 ZZ。
請(qǐng)問(wèn)第 2022 列的名稱(chēng)是什么?

答案提交
這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)由大寫(xiě)字母組成的字符串,在提交答案時(shí)只填寫(xiě)這個(gè)字符串,填寫(xiě)多余的內(nèi)容將無(wú)法得分。
?

個(gè)人認(rèn)為難度:易

答案:BYT

思路:純手算就行

考場(chǎng)推導(dǎo)過(guò)程:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//26//26*26=676;//676+26=702//A676 676+702=1378//B676 1378+676=2054 BZZ=2054//BZ 2054-26=2028 BZA=2029//BY 2028-26=2004 BYZ=2028 BYY BYX BYW BYV BYU=2023 BYT=2022//cout<<1378+676;
} 

試題3:

問(wèn)題描述
對(duì)于一個(gè)日期,我們可以計(jì)算出年份的各個(gè)數(shù)位上的數(shù)字之和,也可以分別計(jì)算月和日的各位數(shù)字之和。請(qǐng)問(wèn)從 1900 年 1 月 1 日至 9999 年 12 月 31 日,總共有多少天,年份的數(shù)位數(shù)字之和等于月的數(shù)位數(shù)字之和加日的數(shù)位數(shù)字之和。
例如,2022年11月13日滿足要求,因?yàn)?2+0+2+2=(1+1)+(1+3) 。
請(qǐng)?zhí)峤粷M足條件的日期的總數(shù)量。

答案提交
這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。

個(gè)人認(rèn)為難度:易中之間

答案:70910

思路:年份轉(zhuǎn)化成字符串計(jì)算(四位數(shù)也算比較多的了,取模作除法可能麻煩一點(diǎn)),月份日期可以純枚舉,至于閏年的問(wèn)題可以拿出來(lái)單獨(dú)討論,還是比較容易算錯(cuò)的

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=9999;
ll year[maxn],md[maxn][maxn],day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int num1,num2,ans;
string y,m,d;void run()
{for(int i=1900;i<=9999;i++){if(i%4==0&&i%100!=0||i%400==0){y=to_string(i);if((int)y[0]+(int)y[1]+(int)y[2]+(int)y[3]-48*4==13){cout<<y<<endl;ans++;}}}
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);for(int i=1900;i<=9999;i++){y=to_string(i);year[i]=(int)y[0]+(int)y[1]+(int)y[2]+(int)y[3]-48*4;}for(int i=1;i<=12;i++){if(i<10) num1=i;if(i==10) num1=1;if(i==11) num1=2;if(i==12) num1=3;for(int j=1;j<=day[i];j++){if(j<10) num2=j;if(j==10) num2=1;if(j==11) num2=2;if(j==12) num2=3;if(j==13) num2=4;if(j==14) num2=5;if(j==15) num2=6;if(j==16) num2=7;if(j==17) num2=8;if(j==18) num2=9;if(j==19) num2=10;if(j==20) num2=2;if(j==21) num2=3;if(j==22) num2=4;if(j==23) num2=5;if(j==24) num2=6;if(j==25) num2=7;if(j==26) num2=8;if(j==27) num2=9;if(j==28) num2=10;if(j==29) num2=11;if(j==30) num2=3;if(j==31) num2=4;md[i][j]=num1+num2;}}for(int i=1900;i<=9999;i++){for(int j=1;j<=12;j++){for(int k=1;k<=day[j];k++){if(year[i]==md[j][k]){ans++;cout<<i<<' '<<j<<' '<<k<<endl;}}}}run();cout<<ans;} 

試題4:

問(wèn)題描述
小藍(lán)有 30 個(gè)數(shù),分別為:99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77 。
小藍(lán)可以在這些數(shù)中取出兩個(gè)序號(hào)不同的數(shù),共有 30*29/2=435 種取法。
請(qǐng)問(wèn)這 435 種取法中,有多少種取法取出的兩個(gè)數(shù)的乘積大于等于 2022 。

答案提交
這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。

個(gè)人認(rèn)為難度:易

答案:189

思路:這里其實(shí)就能看出來(lái)這個(gè)模擬賽的水了,第四題甚至感覺(jué)比第一題還好算,直接兩重循環(huán)解決問(wèn)題

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int num[30]={99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77 };
int ans;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);for(int i=0;i<=29;i++){for(int j=i+1;j<=29;j++){if(num[i]*num[j]>=2022){cout<<num[i]<<'*'<<num[j]<<endl;ans++;}}}cout<<ans;
} 

試題5:

問(wèn)題描述

小藍(lán)有一個(gè) 30 行 60 列的數(shù)字矩陣,矩陣中的每個(gè)數(shù)都是 0 或 1 。如果從一個(gè)標(biāo)為 1 的位置可以通過(guò)上下左右走到另一個(gè)標(biāo)為 1 的位置,則稱(chēng)兩個(gè)位置連通。與某一個(gè)標(biāo)為 1 的位置連通的所有位置(包括自己)組成一個(gè)連通分塊。
請(qǐng)問(wèn)矩陣中最大的連通分塊有多大?

110010000011111110101001001001101010111011011011101001111110
010000000001010001101100000010010110001111100010101100011110
001011101000100011111111111010000010010101010111001000010100
101100001101011101101011011001000110111111010000000110110000
010101100100010000111000100111100110001110111101010011001011
010011011010011110111101111001001001010111110001101000100011
101001011000110100001101011000000110110110100100110111101011
101111000000101000111001100010110000100110001001000101011001
001110111010001011110000001111100001010101001110011010101110
001010101000110001011111001010111111100110000011011111101010
011111100011001110100101001011110011000101011000100111001011
011010001101011110011011111010111110010100101000110111010110
001110000111100100101110001011101010001100010111110111011011
111100001000001100010110101100111001001111100100110000001101
001110010000000111011110000011000010101000111000000110101101
100100011101011111001101001010011111110010111101000010000111
110010100110101100001101111101010011000110101100000110001010
110101101100001110000100010001001010100010110100100001000011
100100000100001101010101001101000101101000000101111110001010
101101011010101000111110110000110100000010011111111100110010
101111000100000100011000010001011111001010010001010110001010
001010001110101010000100010011101001010101101101010111100101
001111110000101100010111111100000100101010000001011101100001
101011110010000010010110000100001010011111100011011000110010
011110010100011101100101111101000001011100001011010001110011
000101000101000010010010110111000010101111001101100110011100
100011100110011111000110011001111100001110110111001001000111
111011000110001000110111011001011110010010010110101000011111
011110011110110110011011001011010000100100101010110000010011
010011110011100101010101111010001001001111101111101110011101

答案提交

這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一個(gè)整數(shù),在提交答案時(shí)只填寫(xiě)這個(gè)整數(shù),填寫(xiě)多余的內(nèi)容將無(wú)法得分。

個(gè)人認(rèn)為難度:中

答案:148

思路:全球變暖的變形題,用BFS,本來(lái)我是不想寫(xiě)代碼的,因?yàn)?0*60這個(gè)規(guī)模感覺(jué)還好,可以用眼睛看,但是還是看錯(cuò)了,模擬之后完整寫(xiě)了這個(gè)代碼,還要注意文件讀取問(wèn)題

考場(chǎng)推導(dǎo)過(guò)程(看看方法就行):

?代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
char mp[31][61];
queue<pair<int,int> >q;
bool vis[31][61];
int X[4]={0,0,1,-1};
int Y[4]={1,-1,0,0};
ll x,y,maxn=0,cnt=0;
void bfs()
{for(int i=1;i<=30;i++){for(int j=1;j<=60;j++){cnt=0; if(mp[i][j]=='1'){q.push({i,j});cnt++;}vis[i][j]=true;while(q.size()){x=q.front().first;y=q.front().second;for(int k=0;k<=3;k++){int nx=x+X[k];int ny=y+Y[k];if(nx>0&&nx<=30&&ny>0&&ny<=60&&!vis[nx][ny]&&mp[nx][ny]=='1'){vis[nx][ny]=true;cnt++;q.push({nx,ny});}}cout<<q.front().first<<' '<<q.front().second<<endl; q.pop();}maxn=max(maxn,cnt);}}}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);freopen("C:\\Users\\張px\\Desktop\\input.txt","r",stdin);for(int i=1;i<=30;i++){for(int j=1;j<=60;j++){cin>>mp[i][j];}}bfs();cout<<maxn;return 0;
} 

試題6:

問(wèn)題描述
給定一天是一周中的哪天,請(qǐng)問(wèn) n 天后是一周中的哪天?

輸入格式
輸入第一行包含一個(gè)整數(shù) w,表示給定的天是一周中的哪天,w 為 1 到 6 分別表示周一到周六,w 為 7 表示周日。
第二行包含一個(gè)整數(shù) n。

輸出格式
輸出一行包含一個(gè)整數(shù),表示 n 天后是一周中的哪天,1 到 6 分別表示周一到周六,7 表示周日。

樣例輸入
6
10

樣例輸出
2

評(píng)測(cè)用例規(guī)模與約定
對(duì)于所有評(píng)測(cè)用例,1 < = n < = 1000000?
?

個(gè)人認(rèn)為難度:易

思路:取模運(yùn)算就行

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll today,target,n;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);scanf("%lld%lld",&today,&n);target=today+n%7;target=target%7;printf("%lld",target);return 0;
} 

試題7:

問(wèn)題描述
小藍(lán)負(fù)責(zé)一塊區(qū)域的信號(hào)塔安裝,整塊區(qū)域是一個(gè)長(zhǎng)方形區(qū)域,建立坐標(biāo)軸后,西南角坐標(biāo)為 (0, 0), 東南角坐標(biāo)為 (W, 0), 西北角坐標(biāo)為 (0, H), 東北角坐標(biāo)為 (W, H)。其中 W, H 都是整數(shù)。
他在 n 個(gè)位置設(shè)置了信號(hào)塔,每個(gè)信號(hào)塔可以覆蓋以自己為圓心,半徑為 R 的圓形(包括邊緣)。
為了對(duì)信號(hào)覆蓋的情況進(jìn)行檢查,小藍(lán)打算在區(qū)域內(nèi)的所有橫縱坐標(biāo)為整數(shù)的點(diǎn)進(jìn)行測(cè)試,檢查信號(hào)狀態(tài)。其中橫坐標(biāo)范圍為 0 到 W,縱坐標(biāo)范圍為 0 到 H,總共測(cè)試 (W+1) * (H+1) 個(gè)點(diǎn)。
給定信號(hào)塔的位置,請(qǐng)問(wèn)這 (W+1)*(H+1) 個(gè)點(diǎn)中有多少個(gè)點(diǎn)被信號(hào)覆蓋。

輸入格式
輸入第一行包含四個(gè)整數(shù) W, H, n, R,相鄰整數(shù)之間使用一個(gè)空格分隔。
接下來(lái) n 行,每行包含兩個(gè)整數(shù) x, y,表示一個(gè)信號(hào)塔的坐標(biāo)。信號(hào)塔可能重合,表示兩個(gè)信號(hào)發(fā)射器裝在了同一個(gè)位置。

輸出格式
輸出一行包含一個(gè)整數(shù),表示答案。

樣例輸入
10 10 2 5
0 0
7 0

樣例輸出
57

評(píng)測(cè)用例規(guī)模與約定
對(duì)于所有評(píng)測(cè)用例,1 <= W, H <= 100,1 <= n <= 100, 1 <= R <= 100, 0 <= x <= W, 0 <= y <= H。
?

個(gè)人認(rèn)為難度:易

思路:注意記憶即可,加上歐式距離這一限制條件即可

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll W,H,n,R,ans,x,y;
bool vis[105][105];
void num()
{for(int k=0;k<=W;k++){for(int p=0;p<=H;p++){if(!vis[k][p]&&(x-k)*(x-k)+(y-p)*(y-p)<=R*R){vis[k][p]=true;//cout<<k<<' '<<p<<endl;ans++;}}}
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);scanf("%lld%lld%lld%lld",&W,&H,&n,&R);for(int i=1;i<=n;i++){scanf("%lld%lld",&x,&y);num();}printf("%lld",ans);return 0;
} 

試題8:

問(wèn)題描述
小藍(lán)有一個(gè) n * m 大小的矩形水域,小藍(lán)將這個(gè)水域劃分為 n 行 m 列,行數(shù)從 1 到 n 標(biāo)號(hào),列數(shù)從 1 到 m 標(biāo)號(hào)。每行和每列的寬度都是單位 1 。
現(xiàn)在,這個(gè)水域長(zhǎng)滿了水草,小藍(lán)要清理水草。
每次,小藍(lán)可以清理一塊矩形的區(qū)域,從第 r1 行(含)到第 r2 行(含)的第 c1 列(含)到 c2 列(含)。
經(jīng)過(guò)一段時(shí)間清理后,請(qǐng)問(wèn)還有多少地方?jīng)]有被清理過(guò)。

輸入格式
輸入第一行包含兩個(gè)整數(shù) n, m,用一個(gè)空格分隔。
第二行包含一個(gè)整數(shù) t ,表示清理的次數(shù)。
接下來(lái) t 行,每行四個(gè)整數(shù) r1, c1, r2, c2,相鄰整數(shù)之間用一個(gè)空格分隔,表示一次清理。請(qǐng)注意輸入的順序。

輸出格式
輸出一行包含一個(gè)整數(shù),表示沒(méi)有被清理過(guò)的面積。

樣例輸入1
2 3
2
1 1 1 3
1 2 2 2

樣例輸出1
2

樣例輸入2
30 20
2
5 5 10 15
6 7 15 9

樣例輸出2
519

評(píng)測(cè)用例規(guī)模與約定
對(duì)于所有評(píng)測(cè)用例,1 <= r1 <= r2 <= n <= 100, 1 <= c1 <= c2 <= m <= 100, 0 <= t <= 100。
?

個(gè)人認(rèn)為難度:易

思路:感覺(jué)和第七題出重復(fù)了,同樣需要記憶

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=105;
ll n,m,t, r1, c1, r2, c2,ans;
bool vis[105][105];
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);scanf("%lld%lld%lld",&n,&m,&t);for(int i=1;i<=t;i++){scanf("%lld%lld%lld%lld",&r1, &c1, &r2, &c2);for(int j=r1;j<=r2;j++){for(int k=c1;k<=c2;k++){if(!vis[j][k]){vis[j][k]=true;ans++;}}}}printf("%lld",n*m-ans);return 0;
} 

試題9:

問(wèn)題描述
小藍(lán)準(zhǔn)備在一個(gè)空曠的場(chǎng)地里面滑行,這個(gè)場(chǎng)地的高度不一,小藍(lán)用一個(gè) n 行 m 列的矩陣來(lái)表示場(chǎng)地,矩陣中的數(shù)值表示場(chǎng)地的高度。
如果小藍(lán)在某個(gè)位置,而他上、下、左、右中有一個(gè)位置的高度(嚴(yán)格)低于當(dāng)前的高度,小藍(lán)就可以滑過(guò)去,滑動(dòng)距離為 1 。
如果小藍(lán)在某個(gè)位置,而他上、下、左、右中所有位置的高度都大于等于當(dāng)前的高度,小藍(lán)的滑行就結(jié)束了。
小藍(lán)不能滑出矩陣所表示的場(chǎng)地。
小藍(lán)可以任意選擇一個(gè)位置開(kāi)始滑行,請(qǐng)問(wèn)小藍(lán)最多能滑行多遠(yuǎn)距離。

輸入格式
輸入第一行包含兩個(gè)整數(shù) n, m,用一個(gè)空格分隔。
接下來(lái) n 行,每行包含 m 個(gè)整數(shù),相鄰整數(shù)之間用一個(gè)空格分隔,依次表示每個(gè)位置的高度。

輸出格式
輸出一行包含一個(gè)整數(shù),表示答案。

樣例輸入
4 5
1 4 6 3 1
11 8 7 3 1
9 4 5 2 1
1 3 2 2 1

樣例輸出
7

樣例說(shuō)明
滑行的位置一次為 (2, 1), (2, 2), (2, 3), (3, 3), (3, 2), (4, 2), (4, 3)。

評(píng)測(cè)用例規(guī)模與約定
對(duì)于 30 % 評(píng)測(cè)用例,1 < = n < = 20 ,1 < = m < = 20 ,0 < = 高度 < = 100
對(duì)于所有評(píng)測(cè)用例,1 < = n < = 100 ,1 < = m < = 100 ,0 < = 高度 < = 10000?
?

個(gè)人認(rèn)為難度:中

思路:找最值路徑,用BFS,每一點(diǎn)都作為起點(diǎn)搜索一次,然后開(kāi)一個(gè)二維數(shù)組記錄滑行的次數(shù),搜索完一次就遍歷一次二維數(shù)組更新最大值

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int maxn=0;
int n,m,mp[105][105];
int X[4]={1,-1,0,0};
int Y[4]={0,0,1,-1};
int cnt[105][105];
int x,y,nx,ny;
queue<pair<int,int> >q;
void bfs()
{while(q.size()){x=q.front().first;y=q.front().second;//cout<<x<<' '<<y<<endl;for(int k=0;k<4;k++){nx=x+X[k];ny=y+Y[k];//cout<<nx<<' '<<ny<<endl;//if(nx>0) cout<<1;//if(ny>0) cout<<2;//if(nx<=n) cout<<3;//if(ny<=m) cout<<4;//cout<<mp[x][y]<<' '<<mp[nx][ny];//cout<<endl;if(nx>0&&ny>0&&nx<=n&&ny<=m&&mp[x][y]>mp[nx][ny]){q.push({nx,ny});cnt[nx][ny]=cnt[x][y]+1;}}q.pop();}for(int a=1;a<=n;a++){for(int b=1;b<=m;b++){maxn=max(cnt[a][b],maxn);}}
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);scanf("%lld%lld",&n,&m);for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>mp[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){q.push({i,j});memset(cnt,0,sizeof(cnt));cnt[i][j]=1;bfs();}}printf("%d",maxn);return 0;
} 

試題10:

問(wèn)題描述
小藍(lán)有一個(gè)序列 a[1], a[2], …, a[n]。
給定一個(gè)正整數(shù) k,請(qǐng)問(wèn)對(duì)于每一個(gè) 1 到 n 之間的序號(hào) i,a[i-k], a[i-k+1], …, a[i+k] 這 2k+1 個(gè)數(shù)中的最小值是多少?當(dāng)某個(gè)下標(biāo)超過(guò) 1 到 n 的范圍時(shí),數(shù)不存在,求最小值時(shí)只取存在的那些值。

輸入格式
輸入的第一行包含一整數(shù) n。
第二行包含 n 個(gè)整數(shù),分別表示 a[1], a[2], …, a[n]。
第三行包含一個(gè)整數(shù) k 。

輸出格式
輸出一行,包含 n 個(gè)整數(shù),分別表示對(duì)于每個(gè)序號(hào)求得的最小值。

樣例輸入
5
5 2 7 4 3
1

樣例輸出
2 2 2 3 3

評(píng)測(cè)用例規(guī)模與約定
對(duì)于 30 % 的評(píng)測(cè)用例,1 < = n < = 1000 1 < = a [ i ] < = 1000?
對(duì)于 50 % 的評(píng)測(cè)用例,1 < = n < = 10000 1 < = a [ i ] < = 10000?
對(duì)于所有評(píng)測(cè)用例,1 < = n < = 1000000 1 < = a [ i ] < = 1000000?
?

個(gè)人認(rèn)為難度:中難之間

思路:我使用multimap直接對(duì)數(shù)進(jìn)行排序,然后從最小的開(kāi)始對(duì)序號(hào)進(jìn)行篩選,如果符合區(qū)間i-k到i+k之間,那么就直接輸出進(jìn)行下一輪搜索,這樣做能節(jié)省一部分時(shí)間復(fù)雜度(沒(méi)有對(duì)所有數(shù)據(jù)進(jìn)行搜索),但是可能還是不如用ST表

我把我的代碼寫(xiě)出來(lái)吧

代碼:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn=1000005;
ll num[maxn],xuhao[maxn],n;
multimap<int,int,less<int> >m;
ll k,cnt;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);scanf("%lld",&n);for(int i=1;i<=n;i++){scanf("%lld",&num[i]);m.insert(pair<ll,ll>(num[i],i));}scanf("%lld",&k);for(int i=1;i<=n;i++){for(multimap<int,int,less<int> >::iterator it=m.begin();it!=m.end();it++){if(i-k>=0&&i-k<=n&&it->second>=i-k&&it->second<=i+k) {printf("%lld ",it->first); break;}}}return 0;
} 

總結(jié):

序號(hào)個(gè)人認(rèn)為難度涉及知識(shí)點(diǎn)是否推薦手算
1進(jìn)制輸入輸出流
2
3易中之間年份問(wèn)題
4盡量不要手算
5搜索+數(shù)據(jù)結(jié)構(gòu)+文件讀取自己決定
6取模
7記憶
8記憶
9搜索+數(shù)據(jù)結(jié)構(gòu)
10中難之間ST表/高級(jí)數(shù)據(jù)結(jié)構(gòu)

http://www.risenshineclean.com/news/62053.html

相關(guān)文章:

  • 優(yōu)惠網(wǎng)站如何做南寧seo怎么做優(yōu)化團(tuán)隊(duì)
  • 廣州市建設(shè)企業(yè)網(wǎng)站價(jià)格推廣賺錢(qián)的app
  • 做網(wǎng)站咋賺錢(qián)今日關(guān)鍵詞
  • 網(wǎng)站官網(wǎng)認(rèn)證怎么做的管理培訓(xùn)班
  • 網(wǎng)站實(shí)例營(yíng)銷(xiāo)策劃咨詢(xún)機(jī)構(gòu)
  • 電子商務(wù)網(wǎng)站開(kāi)發(fā)的流程圖廈門(mén)關(guān)鍵詞排名優(yōu)化
  • 蘇州建設(shè)局官方網(wǎng)站百度提交網(wǎng)址入口
  • wordpress title description東莞整站優(yōu)化
  • 機(jī)械網(wǎng)站 英文百度手機(jī)快速排名點(diǎn)擊軟件
  • 阿里巴巴運(yùn)營(yíng)技巧武漢seo論壇
  • 怎樣做百度網(wǎng)站推廣青島seo關(guān)鍵詞優(yōu)化公司
  • 網(wǎng)站建設(shè)管理中se是什么意思數(shù)據(jù)分析培訓(xùn)
  • vue做視頻網(wǎng)站怎樣做推廣更有效
  • 有個(gè)網(wǎng)站發(fā)任務(wù) 用手機(jī)可以做百度快照什么意思
  • 黑客網(wǎng)站裝b武漢大學(xué)人民醫(yī)院精神科
  • 蔬菜水果網(wǎng)站建設(shè)軟文網(wǎng)站推廣
  • 中國(guó)建設(shè)工程招標(biāo)網(wǎng)官方網(wǎng)站自建網(wǎng)站平臺(tái)
  • 網(wǎng)站設(shè)計(jì)不同的原因中國(guó)足球世界排名
  • 推推蛙網(wǎng)站建設(shè)合肥網(wǎng)站seo費(fèi)用
  • 昆明網(wǎng)站建設(shè)價(jià)目表網(wǎng)絡(luò)營(yíng)銷(xiāo)課程ppt
  • 徐州seo關(guān)鍵詞排名優(yōu)化價(jià)格
  • 網(wǎng)站建設(shè)項(xiàng)目風(fēng)險(xiǎn)管理的主要內(nèi)容成品短視頻app源碼的優(yōu)點(diǎn)
  • 做風(fēng)險(xiǎn)投資網(wǎng)站程序員培訓(xùn)
  • 手機(jī)網(wǎng)站用單獨(dú)做嗎列舉常見(jiàn)的網(wǎng)絡(luò)營(yíng)銷(xiāo)工具
  • 西安微信平臺(tái)網(wǎng)站建設(shè)沈陽(yáng)沈河seo網(wǎng)站排名優(yōu)化
  • 自己怎樣免費(fèi)建設(shè)網(wǎng)站分發(fā)平臺(tái)
  • 專(zhuān)門(mén)做離異相親的網(wǎng)站惠州seo報(bào)價(jià)
  • 專(zhuān)業(yè)網(wǎng)站建設(shè)品牌策劃方案惠州網(wǎng)站排名提升
  • 蘇州做網(wǎng)站套路騙寧波網(wǎng)絡(luò)推廣平臺(tái)
  • 大型網(wǎng)站建設(shè)制作平臺(tái)seo推廣的公司