luogu1984 烧水问题 (找规律)

时间:2023-03-09 02:43:51
luogu1984 烧水问题 (找规律)

为了节省能量,我们会希望一个已经烧开了的水温度越低越好

那么可以得到结论,它要依次去碰当前温度从大到小的水

然后再把温度最高的烧开呗

可是直接模拟会T

稍微写一写大概能找到每次烧开花费能量的一个规律

但我哪找得出来啊

知道了以后也不会证

 #include<bits/stdc++.h>
#define pa pair<int,int>
#define CLR(a,x) memset(a,x,sizeof(a))
using namespace std;
typedef long long ll;
const int maxn=; inline ll rd(){
ll x=;char c=getchar();int neg=;
while(c<''||c>''){if(c=='-') neg=-;c=getchar();}
while(c>=''&&c<='') x=x*+c-'',c=getchar();
return x*neg;
} int main(){
//freopen("","r",stdin);
int i;
int n=rd();
double ans=,t=420000.0/n;
for(i=;i<=n;i++){
ans+=t,t=(t*(i*-))/(i*);
}
printf("%.2lf\n",ans);
return ;
}