小金的詢問

2021-07-22 01:45:26 字數 639 閱讀 9530

time limit: 1000ms memory limit: 65536k

給定乙個有序(公升序)數字陣列a,查詢數字target,若target在陣列中出現,返回位置,若不存在,返回它應該插入的位置

多組輸入。

每組輸入第一行輸入兩個整數n,m,分別代表陣列長度和詢問次數;

第二行輸入n個整數,為數字a的所以元素,資料保證沒有重複元素;

接下來的m行,每行乙個正整數表示詢問的target。

若target在陣列中出現,輸出taeget的位置,若不存在,輸出它應該插入的位置。

4 2

1 2 3 4

20

2

1

#include #include #include int a[3000000];

int binsearch(int key,int low,int high)

return low;

}int main()

{ int n,m,i,j,key;

while (~scanf ("%d %d",&n,&m))

{for (i=1;i<=n;i++)

scanf ("%d",&a[i]);

for(i=0;i

Problem F 小金廷的逆襲

分析 這道題主要是考我們關於kmp演算法的應用的!題目要求求出兩個字串中最長的連續字元的個數!由於題目的上限很大,所以暴力搜尋的話肯定是會超時的!題解 這個,選第乙個字串為目標,使用兩個for迴圈來依次列舉所選的這個字串的子字串,然後求出該字串的next陣列,然後使用kmp演算法,和第二個字串對比匹...

小C的詢問

小c的詢問 description 小k魔導師得到了乙個序列,這個序列有n個數。他困惑了,小c詢問了它q個問題,他都回答不上來,現在他來請教你。對於每乙個詢問都由一組 l,r 組成,問題是要回答這個區間所有數的和,所有數的與,所有數的或。聰明的你一定能幫助小k回答這些問題。input 輸入第一行為乙...

小B的詢問

這裡不講莫隊的思路,各路大神已經講清楚了。我們講一下如何卡常。把正常的莫隊交上去,記錄。單個點 1784ms 把每一次詢問的右邊界 right i 從小到大改為從打到小,快了了一點。注意要把陣列開小點。1522ms 如果分為 trunc sqrt n 塊不好,然後分別試著分為 n 6 和 n 10 ...