比赛链接:Codeforces Round #651 (Div. 2)
目录
比赛链接:Codeforces Round #651 (Div. 2)
A. Maximum GCD
B. GCD Compression
C. Number Game
D. Odd-Even Subsequence
A. Maximum GCD
题意:给定一个N,问1~N中若选出一对数,使得这对数的GCD最大,GCD是多少。
思路:GCD(N - (N&1),N/2)必定最大。
AC代码:
/*---------------------------------
*File name: A.cpp
*Creation date: 2020-06-20 22:22
*Link:
*-------------------------------*/
#include
#include
B. GCD Compression
题意:给定一个长度为2 * N的数组A,问能否选出一个长度为2N-2的子序列使得子序列的GCD>1。
思路:偶数+偶数= 偶数, 奇数+ 奇数= 偶数,所以只需要选出N-1对奇偶性相同的数就可以。
AC代码:
/*---------------------------------
*File name: B.cpp
*Creation date: 2020-06-20 22:57
*Link:
*-------------------------------*/
#include
#include
C. Number Game
题意:给定一个N,两人轮流对N操作,每次可以有两种选择:第一种是当N > 1时,将N -= 1,第二种是将N /= Fac, Fac为N的不为1的奇因子,两人谁先把N置为1谁获胜。
思路:如果N是奇数,N/N=1,先手获胜,排除N=1的情况;如果N是2,先手获胜。除去这两种情况后,当N是偶数时,将N质因子分解,如果只有2是因子,则后手获胜,因为只能进行第二种操作。如果不止2为因子,则可以直接将所有非2因子除去,只剩下2因子或一个2因子都不剩,再判断就可以了。
AC代码:
/*---------------------------------
*File name: A.cpp
*Creation date: 2020-06-20 23:38
*Link:
*-------------------------------*/
#include
#include
D. Odd-Even Subsequence
题意:给定一个长度为N的数组A以及一个K,问能否选出一个长度为K的子序列,使得子序列的下面这个式子的值
尽量小。
思路:傻逼二分题,直接二分答案,分两次On分别判断能不能在偶数位置或者奇数位置上选出的数都<=x。
AC代码:
/*---------------------------------
*File name: D.cpp
*Creation date: 2020-06-21 12:11
*Link:
*-------------------------------*/
#include
#include