#P10402. 「XSOI-R1」凑点

    ID: 11693 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>数学二分洛谷原创Special JudgeO2优化构造

「XSOI-R1」凑点

题目描述

小 T 会给你一个长度为 nn 的整数数列,你手上有一个数 xx,初始为 00,你可以执行以下操作,使得最终 xx 与 cc 的差小于 10−410^{-4}。

你可以对 xx 进行至多 kk 次操作:

  • add i,对计数器 xx 加上 aia_i,然后 aia_i 不能再进行任何操作。

  • sub i,对计数器 xx 减上 aia_i,然后 aia_i 不能再进行任何操作。

  • mul i,对计数器 xx 乘上 aia_i,然后 aia_i 不能再进行任何操作。

  • sqrt i,将 aia_i 赋值为 ai\sqrt {a_i},每个 aia_i 只能开方一次。

  • pow f,将计数器 xx 变为 xfx^f,ff 可以为浮点数。

所有 aia_i 都必须给 xx 进行一次加或减或乘操作。

在运算过程中,aia_i 和 xx 的值均不能超过 101010^{10}。题目保证有解,如有多种方案,输出一种即可。

本题精度要求较大,请提高算法的精度。

输入格式

第一行三个整数 nn,kk,cc。

第二行 nn 个整数,表示序列 aa。

输出格式

第一行一个整数表示总操作数 gg。

接下来 gg 行为你的操作序列。

5 25 3
3 3 3 3 3
5
add 1
add 2
sub 3
sub 4
add 5

3 9 3
1 3 3
5
sqrt 2
sqrt 3
add 1
mul 2
mul 3

3 9 77
4 5 4
4
add 1
add 2
pow 2
sub 3

提示

【样例解释 #1】

  • xx 加上 a1a_1,此时 xx 为 33。

  • xx 加上 a2a_2,此时 xx 为 66。

  • xx 减去 a3a_3,此时 xx 为 33。

  • xx 减去 a4a_4,此时 xx 为 00。

  • xx 加上 a5a_5,此时 xx 为 33。

【样例解释 #2】

  • 将 a2a_2 开根号,此时 a=[1,3,3]a=[1,\sqrt3,3]。

  • 将 a3a_3 开根号,此时 a=[1,3,3]a=[1,\sqrt3,\sqrt3]。

  • xx 加上 a1a_1,此时 xx 为 11。

  • xx 乘上 a2a_2,此时 xx 为 3\sqrt3。

  • xx 乘上 a3a_3,此时 xx 为 33。

【样例解释 #3】

  • xx 加上 a1a_1,此时 xx 为 44。

  • xx 加上 a2a_2,此时 xx 为 99。

  • 将 xx 变为 x2x^2,此时 xx 为 8181。

  • 将 xx 减去 a3a_3,此时 xx 为 7777。

数据规模与约定

本题采用捆绑测试。

  • subtask 0(10 pts):n≤5n\leq 5,k=n2k=n^2,保证可以使用加与减的运算得到解。

  • subtask 1(20 pts):n≤5n \leq 5,k=n2k=n^2,保证可以可以使用加、减、乘、开方运算得到解。

  • subtask 2(15 pts):n≤10n \leq 10,ai≤2a_i \leq 2,k=n+1k=n+1。

  • subtask 3(55 pts):k=n+1k=n+1。

对于所有数据:0≤n≤1050 \leq n \leq 10^{5},∑i=1nai≤1010\sum_{i=1}^{n}{a_i} \le 10^{10},0≤c≤10100 \leq c\leq 10^{10}。