zoukankan      html  css  js  c++  java
  • Lightoj 1038

    题目:戳这里

    题意:一个数字n不断迭代地除以自身的因子得到1。求这个过程中操作除法次数的期望。

    解题思路:

    求概率基本都是从一个最基础的状态开始延伸推出公式,得出答案。
    因为每个数都有个共同的最终状态1,所以我们从1向n推(注意用到期望的可加性,可加性不需要事件相互独立
    可以推出期望公式:
    E=1/n * 1 + (n - 1)/n *(1 + E1 + ... + En)
    Ei表示D除以一个除数后值为Di时,Di的期望。(第一道自己ac的该类型题目,记录一下

    附ac代码:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 const int maxn = 1e5 + 10;
     5 const int inf = 0x3f3f3f3f;
     6 const ll mod = 998244353;
     7 double cnt[maxn];
     8 double dp[maxn];
     9 int main() {
    10     int t, n;
    11     dp[1] = 1.0;
    12 
    13     for(int i = 1; i <= maxn; ++i)
    14     {
    15         if(cnt[i])
    16         dp[i] /= cnt[i];
    17         for(int j = 2; j * i <= maxn; ++j)
    18         {
    19             dp[i * j] += dp[i] + 1.0;
    20             cnt[i * j] += 1.0;
    21         }
    22     }
    23     scanf("%d", &t);
    24     dp[1] = 0;
    25     for(int cas = 1; cas <= t; ++cas)
    26     {
    27         scanf("%d", &n);
    28         printf("Case %d: %f
    ", cas, dp[n]);
    29     }
    30 
    31     return 0;
    32 }
    View Code
  • 相关阅读:
    PKUSC 2018 题解
    [bzoj 1758] 重建计划
    bzoj 5329 [SDOI2018] 战略游戏
    bzoj 5285 [HNOI2018] 寻宝游戏
    Django 之认证模块
    Django之form表单
    Django 之AJAX
    Django 之中间组件
    Django之 Cookie,Session
    Django之F和Q查询等其他查询
  • 原文地址:https://www.cnblogs.com/zmin/p/9733515.html
Copyright © 2011-2022 走看看