XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
Problem A
Solved by Xiejiadong. 2:40 (+2)
题意:用 $0/1$ 串 $c_0c_1c_2\cdots c_n$ 表示复数 $a$ ,其中复数 $a=\sum_{k=1}^n c_k\cdot (1-i)^k$ 。
题解:直接暴力转换是算不出来的,因为最多有 $500000$ 位,可以发现 $(1-i)$ 间隔 $4$ 乘四倍,高精度都没法做。
如果没有进位,直接相加即可,考虑进位的情况,即其中一位是 $2$ 的时候怎么用别的表示,可以发现,第 $i$ 位是 $2$ 的话,等价于第 $i+2$ 和 $i+3$ 位是 $1$ 。
按照这个法则进位即可。
不过有一个情况,就是按照这样的法则进位 $111+111$ 的时候,会发现,进位会发生死循环,其实 $111+111=100$ ,需要特判。
Problem B
Solved by Xiejiadong. 1:06 (+)
Problem C
Solved by Xiejiadong. 0:29 (+)
Problem D
Unsolved.
Problem E
Unsolved. (-7)
Problem F
Unsolved.
Problem G
Solved by Kilo_5723. 0:42 (+1)
Problem H
Unsolved.
Problem I
Solved by Kilo_5723. 2:38 (+3)
Problem J
Solved by Weaver_zhu. 2:06 (+2)
Problem K
Unsolved. (-9)
Problem L
Solved by Kilo_5723. 0:13 (+)