南昌航空大學ACM ICPC新生訓練賽 團隊 題解

2022-10-10 19:12:09 字數 1587 閱讀 4913

a: 

思路: 樹狀陣列(線段樹) + 字首和

題解: 

b: 都過了

c: 沒人交

d:思路: dp,字首和,矩陣

題解:題解 | #智乃的雙塔問題#_牛客部落格 (nowcoder.net)

e:思路:思維 + 字首和

題解: (76條訊息) g-分割 2023年廣東工業大學第十五屆文遠知行杯程式設計競賽(同步賽)_藍丶星灬的部落格-csdn部落格

f:思路: 思維 

題解: (3條未讀通知) 【題解】牛客練習賽91_icpc/ccpc/noip/noi刷題訓練題單_牛客競賽oj (nowcoder.com)

g: 思路:字串hash

列舉字首字串,正反計算一遍hash值,先判斷是不是回文串,再根據該回文串的長度len,判斷在後方的長度為len(不共用末尾字元)的字串或後方長度為len - 1的字串是不是回文串

標程:ubuntu pastebin

h: 思路: 解方程組,沒看題的看看題,這道題是簽到用的

i: 思路: 單調棧

棧內儲存元素下標,當乙個元素下標要入棧時,如果佇列非空,就將棧中所有對應值 >= 當前下標的元素下標出棧,如果在此過程中發現與當前下標對應元素相等的下標,

就可以更新左右邊邊界值相等,同時更新最後要入棧的元素下標,因為如果a[l] == a[r],我們應該保持下來l,而中間部分大於等於邊界的下標差值,如果棧空,直接將當前元素下標入棧.

標程:ubuntu pastebin

j:思路: 線段樹 |  

本來是想讓大家寫一下線段樹,不過有同學(debug都隊 + 可口可樂)直接丟掉了線段樹部分,直接模擬求解

ps: 變數名取規範點,不要再用cf(乘法),jf(加法)...

程式設計規範:google j**a style guide

線段樹: 陣列前面空1e5,後面空1e5,就變成了線段樹模板題

模擬:同樣前後空出新增的空間,因為每次都是對整個序列進行操作,可以用兩個標記乘法標記mul_mark和加法標記add_mark來記錄乙個位置的最後的運算操作,

1: mul_mark *=  b ,add_mark *= b;

2: add_mark += b;

3: 頭部新增乙個數b, 該位置的數不能在計算的時候計算之前add_mark和mul_mark的貢獻,可又不想修改mul_mark,和add_mark,那怎麼辦呢?倒推回去,既然知道最後算的時候會計算多餘的貢獻,

那在新增的時候,多乘的部分除回去,多加的部分減掉,注意順序,必須先減掉,再除,又因為取模的關係,所以還要一手逆元

4:  同上

5:直接先乘後加計算值就好了

標程:  

線段樹:ubuntu pastebin

模擬 :看其他隊伍提交記錄就可以了

JXUST ECJTU新生訓練賽

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

新生訓練賽002 B

這道題非常有趣,有的時候理解題意都理解不對,應該按照題目的思路分析,而不是根據答案自己瞎分析。我一開始想的是,給乙個序列,找出最小的值,然後一次往前往後挪乙個,一次找出當前序列最大的值。但題目的意思是,從a1到ai,i 1,2,3,4,n,問其中序列是否等於j i 1個 預處理存位置 include...

2023年新生訓練賽 第 場題解

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