SRM477 DIV2 250
简单题,赛后看了一下好多人对数组进行了排序,然后再进行枚举判断,我觉得这样并不是最好的方法,我的方法是开一个 bool 型的数组,has[i]
代表第 天如果冲突,则需要改计划,这样每次对连续的 天进行枚举,用 的时间可以直接 check 完,每次检查 子串后,判断答案,如果比现有答案小,这更新答案,最后返回即可。
1 | int bestSchedule(int N, int K, vector<int> day) { |
简单题,赛后看了一下好多人对数组进行了排序,然后再进行枚举判断,我觉得这样并不是最好的方法,我的方法是开一个 bool 型的数组,has[i]
代表第 i 天如果冲突,则需要改计划,这样每次对连续的 k 天进行枚举,用 O(nk) 的时间可以直接 check 完,每次检查 k 子串后,判断答案,如果比现有答案小,这更新答案,最后返回即可。
1 | int bestSchedule(int N, int K, vector<int> day) { |