yzx_todd @ 2024-03-02 12:42:39
如果一部分对了,剩下WA的话,可以考虑一下整除
就是数据可能重复到了第n轮,但是并不是n轮的最后
一天
for example:
假设4天
第一天 1个
第二天1+2=3个
第三天 3+2=5个
第四天 5+3=8天
但是此时没有把第三轮的金币发完
by lvy_OPCI2501_004 @ 2024-07-17 22:43:36
是的,谢谢ss
by Andy_hpy @ 2024-08-09 11:07:12
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[100005];
ll f1(ll n,ll s){
if(n<s)return n*s;
if(a[n]!=0)return a[n];
a[n]=s*s+f1(n-s,s+1);
return a[n];
}
ll f(ll n){return f1(n,1);}
int main(){
ll n;
cin>>n;
cout<<f(n);
return 0;
}