日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

hdu(2062)-Subset sequence 組合數學

系統 2750 0

意甲冠軍:查找集合{1,2,3...n}第一m一個 排列子。

收集的線索所行的大小。

? ? ? ? ? 例兩個元素的排列子集合按字典樹排列是:{1}, {1,2}, {2}, {2,1};


解法:一個一個元素來確定,每次把剩余的元素按大小順序排列在num中,然后依據排列組合原理直接計算下一個位置的元素的大小。直到排列數為0停止;


代碼:

      /******************************************************
* author:xiefubao
*******************************************************/
#pragma comment(linker, "/STACK:102400000,102400000")
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <queue>
#include <vector>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#include <string.h>
//freopen ("in.txt" , "r" , stdin);
using namespace std;

#define eps 1e-8
const double pi=acos(-1.0);
typedef long long LL;
const int Max=21;
const int INF=1000000007;
LL A[Max][Max];
LL sum[Max];
void init()
{
    for(int i=0; i<Max; i++)
        for(int j=0; j<=i; j++)
            A[i][j]=j?A[i-1][j-1]*j+A[i-1][j]:1;
    for(int i=0; i<Max; i++)
        for(int j=0; j<=i; j++)
            sum[i]+=A[i][j];
}

int n;
LL m;
int num[Max];
int main()
{
    init();
    while(scanf("%d%I64d",&n,&m)==2)
    {
        for(int i=1; i<=n; i++)
            num[i]=i;
        int len=n;
        int t=(m-1)/sum[len-1]+1;
        printf("%d",num[t]);
        m-=(t-1)*sum[len-1]+1;
        for(int k=t; k<=len-1; k++)
            num[k]=num[k+1];
        len--;
        while(m)
        {
            int t=(m-1)/sum[len-1]+1;
            printf(" %d",num[t]);
            m-=(t-1)*sum[len-1]+1;
            for(int k=t; k<=len-1; k++)
                num[k]=num[k+1];
            len--;
        }
        puts("");
    }
    return 0;
}

    

版權聲明:本文博客原創文章,博客,未經同意,不得轉載。

hdu(2062)-Subset sequence 組合數學


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 定州市| 淅川县| 铜陵市| 平定县| 温州市| 通辽市| 普宁市| 沙洋县| 米易县| 昌图县| 长阳| 称多县| 沾化县| 大庆市| 五华县| 朝阳区| 鄂托克前旗| 永川市| 白朗县| 额尔古纳市| 大埔县| 边坝县| 大洼县| 苍山县| 独山县| 临夏县| 紫云| 望都县| 台北市| 永年县| 酒泉市| 正宁县| 双牌县| 佳木斯市| 五河县| 泸水县| 沂水县| 昌吉市| 黄山市| 涪陵区| 东乌珠穆沁旗|