zoukankan      html  css  js  c++  java
  • BZOJ 1246 & 有点不一样的概率DP

    题意:

      题意够坑的啊...

      一个色子有n个面,第k次掷出一个加上这个k.求掷出所有面的期望值.

      我一直以为值是色子面上的...

      那么问题来了在色子面上怎么做...n还是1w级别...

    SOL:

      对着理解错的题面想了半天还是没想出来比O(n^2)强的算法..

      这题跟上次lightoj那道丝帛题有点像,但那个每个面都可以看做一样的所以丝帛很多...

      空间也一样要炸,然后不行看题解...发现原来是这样...

      感觉对着原来的问题每种情况都相当于是独立的...感觉除了撞鸭其它没法搞啊...

      然而感觉改了以后有点想法但还是不会搞...

      概率差一逼...

      然后膜拜一下大神题解...膜拜一下用latex的大神犇...

      http://blog.csdn.net/braketbn/article/details/51024591

      看是看懂了...但是怕是以后考场上推不出来...以后没事多推推...再等到会熟练运用latex的时候补一下过程....

    Code:巨短不折叠了...

      

    #include <cstdio>
    const int maxn = 10005;
    double g[maxn], f[maxn];
    int main() {
    	int n; scanf("%d", &n);
    	g[n] = 0,f[n] = 0;
    	for(int i = n - 1; i >= 0; i--) g[i] = g[i + 1] + n /(double)(n - i);
    	for(int i = n - 1; i >= 0; i--) f[i] = (n + g[i] * i + (f[i + 1] + g[i + 1]) * (n - i)) /(double)(n - i);
    	printf("%.2lf
    ", f[0]);
    	return 0;
    }
    
  • 相关阅读:
    apollo使用场景2
    我问问
    洛谷 P3979 遥远的国度
    小技巧—对拍和输出文件的比较
    洛谷 P6850 NOI
    小技巧—双向边快速枚举
    ZJOI 2008 骑士
    小技巧—指数形式的枚举
    小技巧—滚动数组
    刷题心得—背包问题的枚举方式
  • 原文地址:https://www.cnblogs.com/YCuangWhen/p/5343351.html
Copyright © 2011-2022 走看看