转跳到内容

dzxhfugbm

【会员】初级会员
  • 内容数

    192
  • 加入

  • 最后访问

帖子发自 dzxhfugbm

  1. 于 2022/3/26 于 PM10点46分, jas 说道:

     

    设S(g,n)代表gcd=g,已添加原料个数=n的状态。E(g,n)代表继续添加原料个数的期望。那么原题就是求E(g,0)。

    对g分解因数,得到g的质因数列表a[t],对应指数列表b[t],有
    g = a0^b0 + a1^b1 + ... + at^bt,

    于是,后继的g能表示为
    g' = a0^c0 + a1^c1 + ... + at^ct,其中ci满足0<=ci<=bi

    接下来要遍历[c0,c1,...ct]的组合,算出每种组合的概率P((g',n+1)|(g,n))和期望E(g',n+1),相乘再累加,就得到了要求的E(g,n)

        概率P((g',n+1)|(g,n))的计算:
            1.如果bi>ci,则将对应的ai记入集合d
            2.从1~int(m/g')的整数中,筛掉集合d的成员的倍数。剩余数字的个数cnt,即为S(g,n)->S(g',n+1)的途径数
            3.S(g,n)时,有m-n个数可选。因此概率为cnt/(m-n)

        期望E(g',n+1)的计算:
            递归。显然递归次数小于m,能在有限步内完成。可以开个hashmap做缓存

        递归的边界条件:
            1. g=1时,不用继续。E(1,x) = 0
            2. n>=m/g时,g的倍数全部加进S了,下个g一定变小。P((g,n+1)|(g,n)) = 0

    例如,m=100时,求E(60,1)
        1. 60 = 2^2 * 3^1 * 5^1, 得 a=[2,3,5], b=[2,1,1],需遍历(2+1)*(1+1)*(1+1)=12种状态
        2. 以c=[1,0,1]为例,这时g‘= 2^1 * 5^1 = 10,对应S(10,2)
            a) b0>c0, b1>c1, b2=c2, 得到的集合d为{a0,a1} = {2,3}
            b) 从不超过100/10=10的整数中,去掉2和3的倍数,剩余3个数(即1,5,7)。所以有3个数能使g变成10(即10,50,70)
            c) result += 3 * E(10,2),这一步要递归计算E(10,2)
        3. c的遍历结束后,result/(100-1),就是E(60,1)

     

    那个复杂度估得很松:因为E(g,0)有两个维度,可能要计算g*m个状态。如果g m成比例,就成了m^2。再假设每个子状态需要k~mk次运算,相乘就是m^2~m^3

    在ss,你甚至能学到算法:mx068:

     

    话说这能用C来实现吗...

  2. 于 2022/3/25 于 AM12点43分, 爱吃的老虎 说道:

    如题所述

    为什么会想到这个标题呢?因为我那个gta5和大镖客2已经在我桌面上摆了一整年,期间一次都没进去过(通关了的说)但就是不想删掉,虽然电脑空间已经严重不足……

    但感觉卸载这俩就会很不舒服,有蚂蚁在爬

    所以想问问各位有没有这样一款游戏是你很久没动却不愿意删掉的呢(游戏荒罢了):SS05:

    gta5有好朋友一块打线上还是蛮有意思的,毕竟一直也有在更新(所以6真的是有生之年了:mx001:

    而大表哥2线上对比线下剧情属实是真的拉跨。。

  3. 1 小时前, 子之半 说道:

    该怎么说呢,大陆没有信仰。

    大多都是宗教的打工人士。

    论佛法不懂,

    谈道术不明,

    不知上帝耶稣何异。

    而且信徒也是差不多,我信是因为“我信”。

    求神是想获利。

    至于是哪个神根本不重要

    就像人人都拜观音,可观音是谁,是男是女,在职是否如此,压根不到。

    只知道“大慈大悲:而已

    宗教的打工人士就很精辟.....混口饭吃罢了

×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款