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