新生訓練賽第八場個人題解

2021-09-23 17:00:14 字數 1438 閱讀 9432

#includeusing namespace std;

int main()

ma=max(ma,te);

} cout<

2.用scanf或者cin讀入單詞,每個單詞自動用空格隔開(看完這個就知道讀入字元的方式有多蠢了)

鍵盤輸入ctrl+c輸入結束

#includeusing namespace std;

int main()

cout<

b:

#includeusing namespace std;

int main()

} cout<

c:

可以用字首和來做(差分這種說法可能更好理解),改變b[i,j]的值,可以直接改變a[i],a[j+1]的值,對a求字首和可得陣列b.

a 為 b 的差分,即a[i]=b[i]-b[i-1].

#includeusing namespace std;

int a[1111111]=;

int main()

int te=0,count=0;

for(int i=0;i

2.這是隊友的解法。具體解釋直接引用。(雖然不知道為什麼會超時,一樣的**隊友幫我交一遍秒過,我自己交卡乙個樣例超時,咱啥也不敢說,咱也不敢問。但**應該是沒問題的,這種解法呢,首先對比前乙個**塊,明顯這個短)

有一排人,每人手裡拿著一把長度為 i 公尺的爪子 ( 為什麼是爪子 )同時去捅前面排的人,有幾公尺就能捅幾個人,求最後還剩幾個人。(好黑暗的題)

思路:我想從後往前計算會比較方便,從後往前乙個個計算出結果,複雜度不會太高,首先比較目前這個人的爪子和他後面那個人的爪子長度 l - 1 的大小,如果大的話不變,如果小的話,說明他後面那個人相較於他捅得更遠,我就直接把他後面那個人的爪子長度減一看著他自己的爪子長度,然後看此時他爪子長度是否為0,是的話,說明前面的人活下來了,存活人數加一。最後輸出。

#includeusing namespace std;

int main()

cout<

e:

題意:輸出與s相距k的字串。eg:dist(ac,bd)=dist(a,b)+dis(c,d)=2+2=4

解法:優先選擇最大值情況修改消耗k,當不需要最大值修改時修改當前值,k為0結束修改。

若結束修改後k!=0,輸出-1;否則輸出a

#includeusing namespace std;

long long n,k;

int main(){

char a[111111]="\0",t[111111]="\0";

cin>>n>>k>>a;

long long ma=0;

int i;

for(i=0;i

df隨後補

2023年新生訓練賽 第 場題解

感覺怎麼說呢,現在寫的 很彆扭,自己都有點看不太慣。算了,廢話說那麼多也沒啥意思,還是速度寫題解,寫完回去學習。珍惜現在,好好做自己的事,少廢話,a mahmoud and ehab and the mex 題意 增加或減少陣列的元素,使陣列中沒有的最大非負整數為x,最少運算元?解法 找到比x小而且...

JXUST ECJTU新生訓練賽

a.此題由於字串的長度是10 5,所以利用o n 2 暴力來做的話,顯然是超時的,所以不採用這種方法,我們可以計算每個字元 出現的次數,而題目中 告訴pairs x,y and y,x should be considered different,所以組成的個數總和就是 每個字元出現的次數的乘積之和...

暑期個人賽 第八場 A

a.遊戲 2014新生暑假個人排位賽08 時間限制 1000 ms 記憶體限制 65536 kb 小弱發明了乙個好玩的遊戲,遊戲開始時給你乙個凸多邊形,這個多邊形可以任意旋轉,平移。讓你造出乙個正方形 容器 足夠大 容器的兩邊垂直,兩邊水平。用這個容器把這個多邊形完全包含,且多邊形有且只有一條邊恰好...