2020年第十四届山东大学程序设计竞赛Part1(CDFL)
C.分栏
题意:
转化一下就是先读偶数位,再读奇数位(假设下标从0开始的)
思路:
直接模拟,签到好评。
代码:
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43855679
L. 开学?
题意:
跟你说现在是周x,问n天后是周几。
思路:
签到题。注意取余后为0的情况,此时应当是7,特判一下就好了
代码:
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43855610
F. 爱买手办的张三
题意
已知某些数的或的结果是y,问最少的数的个数以及这些数和最多的数的个数以及这些数。
思路:
死活不让我vector过。
首先我们可以知道,最少的数一定就是它本身。
再来考虑一下最多的数的情况,根据或的性质,当同时为0时结果才是0,只要有一个是1结果就是1.
所以我们把y二进制拆分之后,是0的位数必须都是0,是1的位数可以是0也可以是1.
也就是说,从小于等于y的数里找,只要(i|y)==y就符合题意,存下答案最后输出即可。
代码:
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43858915
D. 斐波那契数列?
题意:
$$
思路:
假设fib[i]=F[i]/2^i可以得出递推公式为fib[i]=fib[i-1] * 0.5+fib [i-2]* 0.25;
但是n是1e9的范围,直接遍历完n会爆炸,我们会发现,这个数会越乘越小,所以就可以当他足够小的时候直接跳出。
代码:
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=43889073