过不了

P7071 [CSP-J2020] 优秀的拆分

```cpp for(int j=0;j<=i;j++) { if(b[j]!=0){ cout<<pow(2,j)<<" "; } } ```
by lsj2009 @ 2021-12-26 14:34:26


@[lsj2009](/user/468657) 用你的反而还是WA
by skyark1214 @ 2021-12-26 14:38:03


@hezikai1214 是我的错了
by lsj2009 @ 2021-12-26 14:38:55


@[lsj2009](/user/468657) 那咋搞
by skyark1214 @ 2021-12-26 14:39:27


这份代码之所以错误,是因为``pow``的精度问题
by lsj2009 @ 2021-12-26 14:39:34


建议手写``pow``
by lsj2009 @ 2021-12-26 14:39:59


@[lsj2009](/user/468657) 手写?! 我***********
by skyark1214 @ 2021-12-26 14:41:08


还有,最好学习正解 $log_2^n$算法,而非是 $nlog2^n$算法,这哪怕快速幂优化后,时间复杂度仍旧 $nlog_2^{log_2^n}$
by lsj2009 @ 2021-12-26 14:41:48


$O(n)$幂 ```cpp int power(int a,int b) { //a^b int ans=1; while(b--) ans*=a; return ans; } ``` $O(log_2^n)$幂 ```cpp int power(int a,int b) { //a^b int ans=1; do { if(b&1) ans*=base; base*=base }while(b>>=1); return ans; } ```
by lsj2009 @ 2021-12-26 14:44:18


@[skyark1214](/user/577422)
by lsj2009 @ 2021-12-26 14:44:33


| 下一页