zoukankan      html  css  js  c++  java
  • bzoj1130:[POI2008]POD Subdivision of Kingdom

    传送门

    看到数据范围这么小,不由得算了一下暴力复杂度,算出来情况一共只有1e7,不多,再乘上暴力判断的复杂度,好像T了,判断的话位运算可以方便解决
    但是我写的优化似乎比较渣,还留了个log,但是还是n那么小,log可以忽略不计了吧
    代码:

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<iostream>
    using namespace std;
    #define rg register
    int n,m,a[27],f[27],b[27],ans=1e9,ans1,mod;
    void dfs(int x,int now,int dep,int y)
    {
    	if(dep==n/2+1)
    	{
    		if(y<ans)ans=y,memcpy(f,b,sizeof f);
    		return ;
    	}
    	for(rg int i=x;i<=n;i++)
    	{
    		int g=a[i]&now,f=0,k=0;
    		for(rg int j=g;j;j-=(j&(-j)))f++;
    		g=a[i]&(mod-now);
    		for(rg int j=g;j;j-=(j&(-j)))k++;
    		b[dep]=i,dfs(i+1,now|(1<<(i-1)),dep+1,y-f+k);
    	}
    }
    int main()
    {
    	scanf("%d%d",&n,&m);mod=(1<<n)-1;
    	for(rg int i=1,x,y;i<=m;i++)scanf("%d%d",&x,&y),a[x]|=(1<<(y-1)),a[y]|=(1<<(x-1));
    	b[1]=1,dfs(2,1,2,0);
    	for(rg int i=1;i<=n/2;i++)printf("%d ",f[i]);
    }
    
  • 相关阅读:
    Windows10 iis10 arr webfarm
    两个command的疑惑
    关于controller和apicontroller的跨域实现过滤器的不同
    抽象工厂
    c# 字体库跨域解决
    c# 父类的引用指向子类的实例
    垂直居中
    扇形导航
    2D变换
    京东放大镜效果
  • 原文地址:https://www.cnblogs.com/lcxer/p/10400565.html
Copyright © 2011-2022 走看看