zoukankan      html  css  js  c++  java
  • hdu2048 神、上帝以及老天爷(错排)

    http://acm.hdu.edu.cn/showproblem.php?pid=2048

    题意:n个人抽签,每个人不选择自己的概率。

    错排思想:

    当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用people(n)表示,那么people(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.

    第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;

    第二步,放编号为k的元素,这时有两种情况.1,把它放到位置n,那么,对于剩下的n-2个元素,就有people(n-2)种方法;2,不把它放到位置n(k也有一个限制位置,类似一个新的错排,只是规模变小了),这时,对于这n-1个元素,有people(n-1)种方法;

    综上得到

    people(n)=(n-1)[people(n-2)+people(n-1)]

    特殊地,people(1)=0,people(2)=1

    int a[maxn];
    void solve(){
        int n ;
        cin >> n ;
        int ans = 1 ;
        rep(i , 1 , n){
            ans = ans * i ;
        }
        printf("%.2lf%%
    " , 100.0*a[n]/ans);
    }
    
    signed main()
    {
        a[1] = 0 , a[2] = 1 ;
        rep(i , 3 , 20){
            a[i] = (i-1)*(a[i-1] + a[i-2]);
        }
        //int t ; scanf("%lld" , &t);while(t--)
        int _ ;cin>>_;while(_--)
            solve();
    }
  • 相关阅读:
    Java面向对象
    JBCD技术
    初识数据库(其他数据库对象)
    初识数据库(TCL语句)
    初识数据库(分组函数)
    初识数据库(函数)
    初识数据库(数据类型)
    Java中的IO流
    Java中的线程
    Java中的集合
  • 原文地址:https://www.cnblogs.com/nonames/p/11441417.html
Copyright © 2011-2022 走看看