洛谷 1984 [SDOI2008]烧水问题

【题解】

  烧开每一杯水之后都用它去把其他没烧开的水焐热,这样显然是最优的。然后推推式子或者列表找规律就好了。

  

 1 #include<cstdio>
 2 #include<algorithm>
 3 #define rg register
 4 using namespace std;
 5 int n;
 6 double ans=1,now=1;
 7 int main(){
 8     scanf("%d",&n);
 9     for(rg int i=2;i<=n;i++){
10         now*=1.0*(((i-1)<<1)-1)/((i-1)<<1);
11         ans+=now;
12     }
13     printf("%.2f",ans*420000*1.0/n);
14     return 0;
15 } 
View Code

 

posted @ 2018-04-02 08:17  Driver_Lao  阅读(160)  评论(0编辑  收藏  举报