Biweekly Contest 92
https://i.imgur.com/ACTtnuQ.png
今天狀況普普,前三題寫的蠻順的
但最後一題找不到 bug 多花了不少時間
上禮拜五百多名還能+32
這禮拜應該也差不多吧
1. Minimum Cuts to Divide a Circle
這題風格其實很不 LeetCode
我在寫的時候就覺得很多人會沒處理到 n=1 的情況
結果果然也一堆人吃 penalty :)
2. Difference Between Ones and Zeros in Row and Column
我就照他字面意思寫,
建出onesRow[], onesCol[], zerosRow[], zerosCol[]
3. Minimum Penalty for a Shop
維護左邊 N 與 Y 的個數以及右邊 N 與 Y 的個數
往右一格就去更新這四個數字
最後取分數最低的就可以了
4. Count Palindromic Subsequences
找出所有長度為 5 且是回文的 subsequence
因為長度是 5 ,所以一定是 abcba 的形式
對於位置 i 的字符,以 i 為中心的回文的個數,就是
(在 i 之前的 "00" 個數) * (在 i 之後的 "00" 個數)
+ (在 i 之前的 "01" 個數) * (在 i 之後的 "10" 個數)
+ ...
+ (在 i 之前的 "99" 個數) * (在 i 之後的 "99" 個數)
維護兩個陣列分別存
A[i][a][b]: 代表到 i 為止 ab 的個數
B[i][a][b]: 代表倒著回來到考慮到 i 的 ab
就可以了,O(nk^2),其中 k <= 10