用户工具

站点工具


2020-2021:teams:farmer_john:jjleo:codeforces_round_643_div._2_virtual_participation

目录

A

  • 题意:递推公式$a_{n+1} = a_{n} + minDigit(a_{n}) \cdot maxDigit(a_{n})$,给定$a_1$,求$a_K$。$(1 \le a_{1} \le 10^{18},1 \le K \le 10^{16})$
  • 题解:签到题不会,正好物理实验课,直接溜了。其实最多迭代$54$次就会出现$0$,然后就一直是那个数,所以模拟即可。

B

  • 题意:有$n$个人,组队探险,可以有人不去探险,第$i$个人如果去探险所在队伍人数必须$\ge e_i$,问最多能组多少队。
  • 题解:根据$e_i$排序,然后从小到大,贪心地能一个个人入队,什么时候队伍合法直接把队里的人分为一队然后继续。直观看上去是正确的,因为每个队伍人数越少肯定越优。(不会证,不证了

C

  • 题意:$A \le x \le B \le y \le C \le z \le d$,问有多少个三元组$(x,y,z)$可以组成三角形。$(1 \leq A \leq B \leq C \leq D \leq 5 \cdot 10^5)$
  • 题解:枚举$x$,画图个数轴就可以看出选不同的$y$能选对应$z$的个数,然后求和一下即可。

D

  • 题意:如果存在一种方案,将正数$S$分为$N$份,并指定一个正整数$K$使得不能用这$N$个数字组成$K$,那么获胜,问能否获胜。
  • 题解:如果$2N \le S$一定可以,方案有很多。反过来则不可以,然而题解给的证明并没有看懂。

E

  • 题意:$n$个数,让一个数$+1$需要$A$元,$-1$需要$B$元,让一个数$+1$另一个数$-1$需要$C$元,问让所有数相等最小代价是多少。
  • 题解:如果$A+B>C$显然可以将尽可能多的$A+B$合并为$C$,那么只需要知道最终的数是多少即可。题解证明这是个单谷函数,所以可以三分。题解证明并没有看懂,写的时候也不能直观地猜想出是三分,还是太菜了。。

F

  • 题意:交互题。猜一个数$X$的约数个数,你可以询问不超过$22$次,每次可以输出一个数$Q$,返回$gcd(Q,X)$,只要最终输出的数$d$满足下列条件之一即可,$| ans - d | \le 7,\frac{1}{2} \le \frac{ans}{d} \le 2$。$(1 \le X \le 10^{9}, 1 \le Q \le 10^{18})$
  • 题解:从$2$开始,一直乘质因子直到再乘会超$10^{18}$为止,例如$Q = 2 \times 3 \times 5 \ldots\times 47 = 614889782588491410$,查询这个数然后将返回的值分解质因数,对每个质因数查询一个很大的次幂(大于$10^9的)$就可以查到$X$中这个质因子的指数,按照约数计算公式乘入答案$ans$,然后继续乘接下来的质因子。如果出现下面这些情况就可以直接停了:1.设$X$剩下最大的部分为$Y$,如果到了某个质因子$p$有$p^3>Y$,那么就可以停了,因为剩下顶多还有$\le 2$个质因子,答案为$ans,2ans,3ans,4ans$,直接输出$2ans$就可以。2.到了$631$之后仍有$p^3<Y$,那么剩下是由$1$到$3$个质因子组成,最少是$1$,最大为$16$,直接输出$8$即可。
2020-2021/teams/farmer_john/jjleo/codeforces_round_643_div._2_virtual_participation.txt · 最后更改: 2020/06/06 23:45 由 jjleo