Kick Start 2019 round E 题解

A. Cherries Mesh

easy

code : github

B. Code-Eat Switcher

这题结束后想通了,可以贪心,将 ( c i , e i ) (c_i,e_i) (ci,ei) 按照 c i / e i c_i / e_i ci/ei 排序,然后贪心.

codegithub

C. Street Checkers

这题还是很容易的,

首先翻译一下题意,对于一个数 X X X, 如果它的奇数因子和偶数因子之差不超过 2,这个数就ok,判断 [L,R] 中有多少个这样的数, R − L ≤ 1 0 5 , L , R ≤ 1 0 9 R-L \le 10^5,L,R \le 10^9 RL105,L,R109,

首先,观察规律,
假设 X = 2 ∗ X ′ X=2*X' X=2X(其中 X ′ X' X 是奇数) 的奇数因子为 p i p_i pi, 那么所有 2 p i 2p_i 2pi 都是它的偶数因子
同理,如果 X = 2 2 X ′ X=2^2X' X=22X, 那么所有的 2 p i , 4 p i 2p_i,4p_i 2pi,4pi 都为它的因子,此时,如果 X X X ok,那么 4 p i 4p_i 4pi 的个数要小于2,即 X ′ X' X 为素数或者 1 1 1,其他情况也可推知,

最后就变成判断质数的题目了,用miller-robin就ok了

code github

版权声明

本作品为作者原创文章,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

作者: taotao

转载请保留此版权声明,并注明出处

你可能感兴趣的:(算法刷题,google,kickstart,18/19)