我本来是这么写估价函数的:
int g(){ int ret=0; for(int i=1;i<=n;i++) if(a[i]!=i)ret++; return (ret+1)>>1; }
就是剩余 kkk 个的时候最好情况是 ⌈k2⌉\lceil\frac k2\rceil⌈2k⌉ 次还原
但是这么写会 TLE on #10
然后估价函数改成剩余 kkk 个的时候最好 k−1k-1k−1 次还原就过了
求解正确性/kel/kel/kel