http://poj.org/problem?id=2531

题意 :有N台电脑,每两台电脑之间都有个通信量C[i][j]; 问如何将其分成两个子网,能使得子网之间的通信量最大. 也就是说将所有节点分为两个子集,A,B。求A的各个元素与B的各个元素之间距离的和。

思路:分类在搜索里,一开始也没看懂题,后来连人家的题解都看不懂,这个就像是翻黑白棋问题,一个点要么属于A,要么属于B,只要枚举出所有的状态来就行了

#include <iostream>
#include <string.h>
#include <stdio.h> int dis[][] ;
int sum ;
int flag[] ;
int N ; using namespace std ; void dfs(int num,int sum1)
{
if(num == N)
{
if(sum1 > sum)
sum = sum1 ;
return ;
}
flag[num] = ;//这个点不属于A
int sum2 = ;
for(int i = ; i < num ; i++)
{
if(flag[i])//i这个点属于A,就要求出num这个点与这些点的距离和
sum2 += dis[num][i] ;
}
dfs(num+,sum1 + sum2) ;
flag[num] = ;//这个点不属于B
sum2 = ;
for(int i = ; i < num ; i++)
{
if(!flag[i])
sum2 += dis[num][i] ;
}
dfs(num+,sum1+sum2) ; }
int main()
{
scanf("%d",&N) ;
for(int i = ; i < N ; i++)
for(int j = ; j < N ; j++)
scanf("%d",&dis[i][j]) ;
memset(flag,,sizeof(flag)) ;
sum = - ;
dfs(,) ;
printf("%d\n",sum) ;
return ;
}

POJ 2531 Network Saboteur的更多相关文章

  1. poj 2531 Network Saboteur( dfs )

    题目:http://poj.org/problem?id=2531 题意:一个矩阵,分成两个集合,求最大的 阻碍量 改的 一位大神的代码,比较简洁 #include<stdio.h> #i ...

  2. POJ 2531 Network Saboteur 位运算子集枚举

    题目: http://poj.org/problem?id=2531 这个题虽然是个最大割问题,但是分到dfs里了,因为节点数较少.. 我试着位运算枚举了一下,开始超时了,剪了下枝,1079MS过了. ...

  3. poj 2531 Network Saboteur 解题报告

    题目链接:http://poj.org/problem?id=2531 题目意思:将 n 个点分成两个部分A和B(也就是两个子集啦), 使得子集和最大(一定很难理解吧,呵呵).举个例子吧,对于样例,最 ...

  4. POJ 2531 Network Saboteur (枚举+剪枝)

    题意:给你一个图,图中点之间会有边权,现在问题是把图分成两部分,使得两部分之间边权之和最大. 目前我所知道的有四种做法: 方法一:状态压缩 #include <iostream> #inc ...

  5. poj 2531 Network Saboteur(经典dfs)

    题目大意:有n个点,把这些点分别放到两个集合里,在两个集合的每个点之间都会有权值,求可能形成的最大权值.   思路:1.把这两个集合标记为0和1,先默认所有点都在集合0里.             2 ...

  6. PKU 2531 Network Saboteur(dfs+剪枝||随机化算法)

    题目大意:原题链接 给定n个节点,任意两个节点之间有权值,把这n个节点分成A,B两个集合,使得A集合中的每一节点与B集合中的每一节点两两结合(即有|A|*|B|种结合方式)权值之和最大. 标记:A集合 ...

  7. Network Saboteur 分类: 搜索 POJ 2015-08-09 19:48 7人阅读 评论(0) 收藏

    Network Saboteur Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10147 Accepted: 4849 Des ...

  8. poj2531 Network Saboteur

    Network Saboteur Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 11122   Accepted: 5372 ...

  9. POJ2531——Network Saboteur(随机化算法水一发)

    Network Saboteur DescriptionA university network is composed of N computers. System administrators g ...

随机推荐

  1. iis7 php urlrewrite 并隐藏index.php

    <rewrite> <rules> <rule name="OrgPage" stopProcessing="true"> ...

  2. Android Studio如何显示行号

    Android Studio默认没有显示行号,很多同学在使用中很不习惯.本经验介绍怎样让Android Studio显示行号. 首先我们打开我们下载安装好的Android Studio 然后右击工具按 ...

  3. Sqlserver 安装

    安装环境: SqlServer版本:Sql Server 2008 (安装包您应该已有准备) =============以下开始安装,多图,基本软件操作不做太多说明,注意查看图片=========== ...

  4. linux安装缺失服务

    sudo apt-get install ssh Reading package lists... Done Building dependency tree... Done Package ssh ...

  5. try catch异常捕获

    格式为: try            {                int i = int.Parse(Console.ReadLine());           //容易发生错误的语句    ...

  6. Oracle每10天删除数据,并重建索引

    declare datDateFrom date := to_date('2010/08/01 00:00:00','yyyy/mm/dd hh24:mi:ss'); datDateTo date; ...

  7. IIS7 发现无法显示ewebeditor编辑器成空白

    vs2003写的网站,很早了,编辑器用的是ewebeditor,每次更换程序编辑器都会出问题.今天记录一下. 内部老网站在Windows2003 iis6上运行的. 现在要迁移到2008上64位.08 ...

  8. hibernate初探

    1.在MyEclipse Datebase Explorer 页面中新创建一个连接数据库“DB Browser”的XX,如起名“register”2.新建项目->右键Properties-> ...

  9. Linux下UDP收/发广播消息简单实现

    发送广播消息 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/typ ...

  10. rhel_6.x 安装mysql

    不知为何mysql的官网很难下载,本人网上找了好久,终于找到了个镜像: 特别感谢http://mirrors.sohu.com/mysql/MySQL-5.6/    ^_^ 首先下载mysql的下面 ...