玖玖70分求助?!?!

P1490 买蛋糕

WA的 #4 #5 #8 (竟然没有TLE!!!)
by YuRuochen @ 2022-09-07 19:39:23


启发来自于https://www.luogu.com.cn/discuss/279207
by YuRuochen @ 2022-09-07 19:42:13


已AC,代码如下(这是一条没有用处的帖子) ```cpp #include<bits/stdc++.h> using namespace std; int n,num,a[1010]; long long ans; void dfs(int k,int sum){ if(k==num){ ans+=2*sum-max(n,sum+a[k-1]+1)+2; return; } for(int i=max(a[k-1]+1,(int)ceil((n+1)*1.0/(1<<(num-k))-1-sum));i<=sum+1;i++){ a[k]=i; dfs(k+1,sum+i); } } int main(){ scanf("%d",&n); if(n==1){ printf("1 1"); return 0; } if(n==2){ printf("1 0"); return 0; } int s=1,ss=0; while(s<n){ num++; ss+=s; s=ss+1; } a[1]=1; dfs(2,1); printf("%d %lld",num,ans); return 0; } ```
by YuRuochen @ 2022-09-07 20:16:24


@[YuRuochen](/user/658786) wyy tlqftj yjb
by YuRuochen @ 2022-09-07 20:17:09


|