题解:[SDOI2008]烧水问题

Posted aze-qwq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解:[SDOI2008]烧水问题相关的知识,希望对你有一定的参考价值。

思维题

其实就是找个规律

其实类似于贪心,把一杯水的热量尽量全部传递,

一步一步往后退可得到需要加热的为t(n+1)/t(n)=1-1/2n

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 using namespace std;
 5 int n;
 6 int main(){
 7     scanf("%d",&n);
 8     double ans, now;
 9     now=420000.0/n;
10     for(int i=1; i<=n; i++){
11         ans+=now;
12         now*=(1-0.5/i);
13     }
14     printf("%.2lf",ans);
15     return 0;
16 }

 

以上是关于题解:[SDOI2008]烧水问题的主要内容,如果未能解决你的问题,请参考以下文章

[SDOI2008]烧水问题

[SDOI2008]烧水问题

P1984 [SDOI2008]烧水问题

P1984 [SDOI2008]烧水问题

luogu P1984 [SDOI2008]烧水问题

LUOGU 1984: [SDOI2008]烧水问题 数论递推