题目 | 名称 | 时限 | 空间 | 用时 | 得分 |
---|---|---|---|---|---|
A | Payment | (2) sec | (1024) MB | (3min) | (100) |
B | Judge Status Summary | (2) sec | (1024) MB | (10min) | (200) |
C | H and V | (1) sec | (1024) MB | (40min) | (300) |
D | Chat in a Circle | (2) sec | (1024) MB | (5min) | (0) |
E | Multiplication 4 | (2) sec | (1024) MB | (15min) | (0) |
F | Intervals on Tree | (2) sec | (1024) MB | (0) | (0) |
A
思路
直接输出([(n+1000)1000] imes1000-n),注意判一下(nmod1000=0)的情况
Debug
B
思路
统计字符串数量即可
Debug
printf
手残写了一个&
printf("%d",&a);
C
思路
爆搜,枚举更改哪些行那些列,注意处理行列交叉的地方,可以记录一下被覆盖次数
Debug
- 没有写
return
(已经无数遍的错误了 - 手贱写了一个特判,但是显然是错的(啊
D
思路
贪心题
可以发现显然的性质
将玩家按照(a_i)从大到小的顺序加入必然是最优的
所有只需要看每一个(a_i)对答案贡献了几次就可以了,手玩即可发现贡献的规律
Debug
考场没想出来
E
思路
还是贪心题
若(k=n),则将所有的数乘起来就是答案
若全是正整数,则从小到大排序后,选后(k)个相乘
若没有正整数而且(k)为奇数,则最后乘积为负值,选前(k)个相乘
若没有正整数而且(k)为偶数,则最后乘积为负值,选后(k)个相乘
否则就将绝对值从大到小排序将前(k)个相乘
若乘积为正,则为答案
否则就说明这(k)个数中有奇数个负数相乘,我们要么再乘一个没在这(k)个数里的绝对值最大的负数,让后扔掉绝对值最小的正数,要么就扔掉一个绝对值最小的负数,换没在这(k)个数里的绝对值最大的整数
Debug
没时间写了
F
思路
致远星
Debug
致远星
总结
得分是(100+200+300+0+0=600)
主要时间浪费在(C)上了,明明是个智障爆搜,写了(10)分钟,因为一些小错误调了近半小时,不然(E)就能写出来了,淦
还是要提高代码能力