- 汉诺塔问题 4
求 hack
- @ 2026-9-11 10:18:56
#include<bits/stdc++.h>
using namespace std;
#define ll long long
signed main(){
cin.tie(0);
ios::sync_with_stdio(false);
ll n;
cin>>n;
ll ans=0;
for(ll i=1; i<=n; i++){
ll k=min(n-i*(i-1)/2,i);
if(k<=0) break;
ans+=k*(1<<(i-1));
}
cout<<ans;
return 0;
}
6 条评论
-
YJY LV 6 @ 2026-9-15 11:34:01
@zouyihang
《算法竞赛进阶指南》
🤔 1 -
@ 2026-9-11 10:59:33@YJY
你说哪个小蓝书,我回去看看
🤔 1 -
@ 2026-9-11 10:54:08看讨论我给你写的高精能过1e12
🤔 1 -
@ 2026-9-11 10:53:35其实你可以发题解的
🤔 1 -
@ 2026-9-11 10:52:47!?强强?!
🤔 1 -
@ 2026-9-11 10:47:20
这个代码已经被证明成功了,在小蓝书上也有这个式子的推导
🤔 1
- 1
信息
- ID
- 327
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 23
- 已通过
- 12
- 上传者