Codeforces Round #577 (Div. 2)
这场比赛在北京时间8月5号凌晨打,实在是吃不消,就没有打。只能补题:目前只补了ABC。
A题一发,B题wa了一次(wa test9 ),C题wa了一次(wa test4),对于C题,感觉还是思维僵硬,如果不是面向测试点编程,可能会想不到。
A. Important Exam
题意:
N个学生,M个题目,考试,每个题目有ABCDE选项,学生选对了会获得分数,求学生获得分数最大值。
思路:
统计出题目答案出现次数最多的选项乘以分值,求和一下。
AC代码:
1 | /*********************************************** |
B.Zero Array
题意:
给n个数,两个下标不同的数同时减去 数值较小的数,问这n个数经过一系列不可描述操作后,能否实现,这n个数都变成零。
思路:
容易看出,∑ ai 必须是偶数。
仅仅这个还不够,还有一个点就是,这n个数中的max必须小于等于(∑ai) /2,这样才能保证所有数都能为零。
AC代码:
1 | /*********************************************** |
C. Maximum Median
题意:
给定n,k,数组。数组中n个数字,你可以操作k次,每次操作使得数组中某个元素+1,求k次操作后这个(有序数组)的中位数的最大可能值。
思路:
首先可以肯定 操作要往大的数字操作,那么就是中位数位置往后操作,才能尽可能的大,用数组b
来记录中位数往后的a[i+1] - a[i] 的值,每次都” 填平 “那种 感觉去让中位数尽可能大。
第一次写wa 了,想了好一会儿也不知道哪里出问题,看了测试样例之后发现是1 1 1 这种情况,当n = 1时,我的代码有问题,没有数组b,就不会执行。感觉个人局限性还是很大,不借助测试点我可能很难想到n==1这种情况。个人局限性还是很大,还得多练习,开阔思路。。
AC代码:
1 | /*********************************************** |
D题还没写,,等有空再补题把。