20160129湖大寒假训练赛1题解

闲话

比赛地址
发现打打codeforces果然还是有点效果的,可以让自己手速变快。
这场比赛的话,题目还是比较简单的,练手速很不错。

 

A - Calculating Function

第一眼,消项然后用矩阵二分快速幂!
第二眼。。。。。偶数项两两相加都是1,奇数项用前一个偶数项算出。
代码。

 

B - Clarke and minecraft

没玩过MineCraft,看题目看了半天(想起在北京看OSU!的题目也看了半天),我决定寒假好好玩游戏!题目大意是收集材料,相同的材料放一个格子,一个格子可以放64个单位的材料,一次可以运送有36个格子。问最少要几次。
直接模拟,两次向上取整的除法OK
代码

 

C - Arrival of the General

题目大意是给你一个数列,要将最大的数放在最前面,最小的放在最后面。你一次可以交换两个相邻的数的位置。
做法是找出最大的位置和最小的位置。算出最大的离左边有多远,最小的离右边有多远,相加即可。
注意,当最大的在最小的的右边的时候(题目中第二个样例)。在换的过程中,必然有一次交换可以同时变化两个数的位置,所以要在答案上减一。
代码

 

D - Climbing Worm

题目大意就是一个虫子向上爬又向下滑,什么时候能到顶。
其实几个式子就能写出来,然而本人笨拙,直接写了大模拟。
代码

 

最后

看来以后cf真得好好打。

代码在Github也可以看见。代码地址

 

完结

发表评论

电子邮件地址不会被公开。 必填项已用*标注