• NOIP2017模拟赛 senior 6.29 T1 码灵鼠(A)


    NOIP2017模拟赛 senior 6.29 T1 码灵鼠(A)

    Description

    码零鼠是一只很喜欢mx数学的神犇,上面那个不是ta本人的样子。这天,ta在研究一个神奇的数列,这个数列是这样的:
    a0 = 1
    an = ai + aj   (n>=1, i,j均在[0,n-1]内均匀随机)
    Ta想知道对于给定的n,an的期望值是多少,你能告诉ta吗?
    出于ta对整数的热爱,你只需要输出答案向下取整后的值
     

    Input

    一个整数T,表示数据组数
    每组数据一行,包括一个整数n

    Output

    一个整数E(an),

    这个码灵鼠难道就是传说中的洋芋= =(手动滑稽)

    不过他的问题很高大上啊,居然问我随便一个n的期望是多少,相当有深度。

    那么这个问题我们怎么解决呢?我们可以随便取之前的几个数来推理一下:

             对于a0直接等于1就不说了吧。

             a1 = 2;

             a2 = 3;

             a3 = 4

             ……

             an = n+1;

             这样的推导能给我们一个大致的思路对吧。

             那么我们是否能够证明我们的推导是正确的呢:

    结论:an = n + 1

    下面归纳地进行证明。

    对于n = 0,n = 1,有a0 = 1,a1 = 2,满足an = n + 1。

    当n > 1时:

    an = E(ai + aj),fori,j∈[0,n)

    an = E(ai)+ E(aj),fori,j∈[0,n)

    an = 2E(ai),fori∈[0,n)

    E(ai)=(∑0~n-1(ai))/ n = n(n + 1)/ 2n = (n + 1)/2

    ∴ an = n + 1

    哇,非常严密的论证!所以说,推

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<cmath>
     6 #define INT_MAX_ 0x7fffffff
     7 #define LONG_MAX_ 0x7fffffffffffffffll
     8 #define pi acos(-1)
     9 #define N 10010
    10 #define M 10010
    11 using namespace std;
    12 
    13 inline long long read()
    14 {
    15     long long data=0,w=1;
    16     char ch=0;
    17     while(ch!='-' && (ch<'0' || ch>'9')) ch=getchar();
    18     if(ch=='-') w=-1,ch=getchar();
    19     while(ch>='0' && ch<='9') data=data*10+ch-'0',ch=getchar();
    20     return data*w;
    21 }
    22 
    23 inline void write(long long x)
    24 {
    25     if(x<0) putchar('-'),x=-x;
    26     if(x>9) write(x/10);
    27     putchar(x%10+'0');
    28 }
    29 
    30 long long T,n;
    31 
    32 int main()
    33 {
    34     freopen("A.in","r",stdin);
    35     freopen("A.out","w",stdout);
    36 
    37     T = read();
    38     while(T--)
    39     {
    40         n = read();
    41         write(n+1);
    42         putchar('
    ');
    43     }
    44 
    45     return 0;
    46 }

    出来就是这么简单!!

  • 相关阅读:
    纠结我一上午的asp.net操作mysql问题
    C#术语【转自MSDN】
    asp.net新手必知必会——我们为什么要用asp.net
    图片在浏览器中底部对齐———解决方法之一
    asp.net做的网站比asp做的站慢?
    我是一个可悲的程序员
    今天离开职场去过自己的潇洒人生
    asp.net应用程序重新启动
    asp.net分页解决方法
    80. 删除有序数组中的重复项 II
  • 原文地址:https://www.cnblogs.com/sin-mo/p/7230823.html
Copyright © 2020-2023  润新知