zoukankan      html  css  js  c++  java
  • 康拓展开及其逆展开

    #include<bits/stdc++.h>
    
    using namespace std;
    const int maxn = 100000000+100;
    
    int n, m, cnt;
    
    int f[]  = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880};
    int fun(int *a, int n)
    {
        int s = 0;
        for(int i=0; i<n; i++){
            int c = 0;
            for(int j=i+1; j<n; j++){
                if(a[j] < a[i])
                    c++;
            }
            s += f[n-i-1] * c;
        }
        return s;
    }
    int main()
    {
        int a[150];
        cin >> n;
        for(int i=0; i<n; i++){
            cin >> a[i];
        }
        cout << fun(a,n);
        return 0;
    }
    /*
    5
    3 4 1 5 2
    61
    */
    康拓展开
    #include<iostream>
    #include<cstring>
    #include<vector>
    #include<algorithm>
    using namespace std;
    int f[]={1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880};
    
    char s[150];
    int n,x,v[150],a[150];
    void fun()
    {
       int k;
       for(int i=1; i<=n; i++) v[i]=1;
       for(int i=1; i<=n; i++){
            k = x / f[n-i];
            x %= f[n-i];
            for(int j=1; j<=n; j++){
                if(!v[j]) continue;
                if(!k) {v[j]=0; a[i]=j; break;}
                k--;
            }
       }
       for(int i=1; i<=n; i++)
           cout<<a[i];
    }
    int main()
    {
        cin >> n >> x;
        fun();
        return 0;
    }
    康托逆展开
  • 相关阅读:
    C++中求类的大小
    BP神经网络
    感知机
    static和const关键字
    C++随笔(2)
    React表单元素的使用
    React可控组件与不可控组件
    React组件-mixin
    React-组件嵌套-子组件通过委托向父组件传值
    React事件属性
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8818846.html
Copyright © 2011-2022 走看看