ICPC Central Russia Regional Contest (CRRC 19)题解

题目链接:https://codeforces.com/gym/102780函数

寒假第二次训练赛,(某菜依旧是4个小时后咕咕咕),战况还行,我的表现极差(高级演员)ui

A:Green teaspa

暴力枚举便可debug

B:Mysterious Resistorscode

注意到电阻阻值具备单调性,二分游戏

C:Emoticonsci

听说是模拟get

D:Power playit

由惟一分解定理可得,\(x=a^{\frac{p}{q}}\) ,因为\(x\leq10^{18}\)\(x\)为整数,故\(p,q\)的范围极小,枚举便可io

E:Printed circuit board

补题ing

F:A word game

组合游戏,sg函数很好求,找规律或者递推都行

G:Hourglass

补题ing

H:Men's showdown

水题

I:Andrew and Python

先通过一次询问将正方形缩减成一个等腰直角三角形区域

对于三角形区域,要查找的点确定在斜边的某条平行线上,二分找到这条平行线

再对这条平行线进行二分

J:Something that resembles Waring's problem

容易知道 \((a-1)^3+(a+1)^3+(-a)^3+(-a)^3=6a\),咱们能够用4个数表示出任意6的倍数,再经过1个数表示模6的余数

\(x=(x\%6)^3+(\frac{x-(x\%6)^3}{6}+1)^3+(\frac{x-(x\%6)^3}{6}-1)^3+(-\frac{x-(x\%6)^3}{6})^3+(-\frac{x-(x\%6)^3}{6})^3\)

K:Parabolic sorting

若是从总体考虑,这题将会很棘手,不妨考虑单个数的贡献

对于每一个数考虑它放在递减序列仍是递增序列,将左侧小于它的数的个数与右侧大于它的数的个数取较小值即为当前数的贡献

还有一种更加易懂的作法就是从大到小依次考虑每一个数放在递减序列仍是递增序列,以最大的数为例,它必须放在最左侧或者最右侧,它放置完后次大值同理

总结:

debug效率低下

容易僵化在错误的方向

我的思惟能力须要提高

相关文章
相关标签/搜索