Codeforces Round 912 (Div. 2) A - C
Codeforces Round 912 (Div. 2) A - C
pB思路沒錯,結果計算時的條件判斷沒寫好,rejudge後WA了,難受。但不管如何,人菜就是要多補題。
All problems solved by python
A - Halloumi Boxes (CF1903 A)
題意
給出一個長度為 的Array ,每次可以選擇一個長度最多為 的子陣列進行反轉,問是否能夠使排序成非降序。
思路:Bubble Sort
- 對於 的情況,我們可以模擬Bubble Sort的過程,故只要 就一定可以使 排序成非降序。
- 對於 的情況,則無法做排序,故只要 $a $中存在 的情況,就無法使 排序成非降序。
1 | T = int(input()) |
B - StORage room (CF1903 B)
題意
給出一個長度為 的矩陣 ,當 i\neqj 時, 表示 的結果,問是否能找出一個長度為 的Array ,使得 ,如果有多種答案,輸出任一個即可。
思路:貪心
- 盡量讓 越大越好,越大的 對於 能有越大的貢獻,故 。
- 計算 AND 時注意初始化 的條件,最後檢查檢查 是否滿足條件即可。
1 | T = int(input()) |
C - Theofanis’ Nightmare (CF1903 C)
題意
給定一個包含 個元素的 Array ,可以將其任意切分成若干個子陣列,使 最大,其中 為子陣列數量, 表示第 個子陣列的總和。
思路:後綴和 + 貪心
- 考慮每個元素的貢獻度,為使貢獻盡可能的大,若該位置的後綴和為正,則可以切分成新的子陣列,也就是增加後面位置元素的貢獻度。
- 考慮 的貢獻度, 貢獻度必為1,先加入答案。如果後綴和 為正,則可以增加貢獻度,即在原答案的基礎上加上 。
- 計算時由前往後或由後往前皆可,由前往後方便理解,由後往前可以一邊計算後綴和,一邊計算貢獻度,並節省空間複雜度。
1 | from itertools import accumulate |
D1 - Maximum And Queries (easy version) (CF1903 D1)
題意
<++>
思路
<++>
神奇的代碼
1 |
D2 - Maximum And Queries (hard version) (CF1903 D2)
題意
<++>
思路
<++>
神奇的代碼
1 |
E - Geo Game (CF1903 E)
題意
<++>
思路
<++>
神奇的代碼
1 |
F - Babysitting (CF1903 F)
題意
<++>
思路
<++>
神奇的代碼
1 |
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 十六個天亮!
評論
WalineGiscus