santisify Site

Back

Codeforces Round 914 Div2Blur image

A Forked!#

题目大意#

给定王后和国王的位置, 马可以先朝一个方向走a步,再朝另一个方向走b步 问:马有多少个位置可以同时走到皇后和国王

解题思路#

就无脑遍历一下马能走到国王和皇后的位置 然后再判断下有没有相同的位置

代码#

B Collecting Game#

题目大意#

给一个数组a,对于每一个元素,我们都会有一个初始值w = a[i] (0 <= i < n)只要w大于或等于数组中的某个元素,w = w + a[k]并且就会把这个数删除掉.

问: 对于每个元素,至多可以删除多少元素?

解题思路#

由于需要最大化删除个数,我们可以先对数组升序排序,这样对于i(0 <= i < n) 就可以将0 ~ i-1的所有数删除掉,然后再考虑后面的.

就这样模拟下过程就完事儿了.

代码#

(提交的一次TLE的代码)

(AC代码)

C Array Game#

题目大意#

给一个数组a,有k次操作,每次操作选一个(i, j) (0 <= i < j < n) ,将|a[j] - a[i]|放在数组的足以后方.

问:k次操作后得到的数组最小的数为多少?

解题思路#

首先,可以考虑到k>=3时,我们可以先选两次相同的(i, j),然后再选新加入的这两个,这样就可以得到0了`

然后再是k == 1时, 我们想让答案最小化,我们只能先将数组排序,然后再找相邻的两个的的差值,再到最小值后,答案还不是最优值, 所以还要与原数组最小值比较.

最后, 再是 k == 2时, 题目中明确告诉n^2 < 4e6,这就是让我们暴力循环,我们可以先将k == 1时的最小值记录下来,然后再暴力n^2跑一遍数组,再与之前的比较一下,最后输出答案.

代码#

Codeforces Round 914 Div2
https://santisify.top/blog/old/cf1904
Author santisify
Published at August 8, 2024
Comment seems to stuck. Try to refresh?✨