zoukankan      html  css  js  c++  java
  • Distinctive Character

     Distinctive Character

     Sol

    bfs寻找最优解。

    考虑一开始把他给的状态加进队列里,这些状态的答案都是0。

    每次枚举不同的一位拓展,同时要保证这个新状态没有出现过。

    效率O(2^k)

    话说我随机化85呢

    #include<cstdio>
    #include<iostream>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    #include<queue>
    #define maxn 1000005
    using namespace std;
    int n,k,ans,s[maxn],num[maxn],f[maxn],a[maxn];
    int d[maxn];
    queue<int>q;
    int get(int x){
        int sum=0;
        for(int i=0;i<20;i++)if(x&(1<<i))sum++;
        return k-sum;
    }
    int main(){
        cin>>n>>k;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=k;j++){
                char ch;scanf(" %c",&ch);
                if(ch=='1')a[i]|=(1<<(j-1));
            }
        }
        for(int i=0;i<(1<<k);i++)num[i]=get(i);
        for(int i=1;i<=n;i++)d[a[i]]=1,q.push(a[i]);
        int Max;
        while(!q.empty()){
            int x=q.front();q.pop();
            Max=x;
            for(int i=0;i<k;i++){
                if(!d[x^(1<<i)])d[x^(1<<i)]=d[x]+1,q.push(x^(1<<i));
            }
        }
        for(int i=0;i<k;i++)if(Max&(1<<i))putchar('1');else putchar('0');
        return 0;
    }
  • 相关阅读:
    继承
    rpm使用
    weblogic报outOfMemory
    linux能访问外网但ping不通百度
    zookeeper启动异常问题
    Oracle查看表的变动信息
    Linux创建、删除软链接
    zookeeper开机自启
    linux中oracle自启动
    Weblogic命令模式安装
  • 原文地址:https://www.cnblogs.com/liankewei/p/11975734.html
Copyright © 2011-2022 走看看