首页 > 其他分享 >POJ 2531(DFS)

POJ 2531(DFS)

时间:2024-01-23 22:37:06浏览次数:39  
标签:room int sum 30 DFS POJ dfs ans 2531

POJ 2531

题目大意,一共N个网络节点,每个节点与其他节点通信需要消耗流量,把这n个节点分为AB两个集合,使得A集合与B集合之间的通讯流量的总和最大。

输入,N + N行N个的数据,输出最大的流量 (N <= 20)

3
0 50 30
50 0 40
30 40 0

思路: 假设最开始所有的都在B集合,通过dfs搜索,将数量从1 - 2 / N 的组合放在A集合,剪枝已经搜索过的组合,搜索一层更新一次流量。

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int N, ans = 0, sum = 0;
int mes[30][30];
bool room[30] = { false };
void dfs(int deep,int old){
	if(deep == N / 2) return;
	for(int i = old + 1;i < N;i++){
		int temp = sum;
		if(!room[i]) {
			room[i] = true;
			for(int j = 0;j < N;j++){
				if(!room[j])  sum += mes[i][j];
				else sum -= mes[i][j];
			}
			if(sum > ans) ans = sum;
			dfs(deep + 1, i);
			room[i] = false;
		}
		sum = temp;
	}
}
int main() {
	cin >> N;
	for(int i = 0;i < N;i++){
		for(int j = 0; j < N; j++)
			cin >> mes[i][j];
	}
	memset(room,false,sizeof(room));
	dfs(0,-1);
	printf("%d\n", ans);
	return 0;
} 

标签:room,int,sum,30,DFS,POJ,dfs,ans,2531
From: https://www.cnblogs.com/zhclovemyh/p/17983574

相关文章

  • [转帖]OS、PFS、DFS 有啥区别?一文搞懂 6 大临床试验终点
    https://oncol.dxy.cn/article/670607 说到肿瘤临床研究,就不得不说临床试验终点(EndPoint),比如大家熟知的OS、PFS、ORR还有DFS、TTP、TTF……不同的终点服务于不同的研究目的。让我们一起来看看常用的临床试验终点都有什么区别以及优缺点。总生存overallsurvival,OS......
  • 图论——浅谈理论,DFS序和欧拉序
    图论——浅谈理论,DFS序、时间戳和欧拉序提示:本文在树论基础上。下文图例DFS序:124579836.欧拉序:124457997885236631.回加欧拉序:124257975852123631.下文举例均指此图。DFS序周所周知,DFS为深度优先遍历,其框架如:voiddfs(i......
  • 搜索学习笔记+杂题 (进阶二 dfs/bfs的进阶)
    前言:由于搜索的题还是做的太少了,所以以后有可能会不定期更新。四、还是进阶的dfs/bfs相关题单:戳我1、dfs(1)meetinthemiddleP2962[USACO09NOV]LightsG颠覆了我对折半搜索的认知,果然,只要满足了折半搜索的几个性质,基本上都可以使用折半搜索来处理。首先我们拿到的是一张......
  • 搜索学习笔记+杂题 (进阶一 dfs/bfs的进阶)
    前言:没啥好说的了。所以只能来写博客了。搜索杂题:相关题单:戳我二、进阶dfs/bfs1、dfs进阶——折半搜索(meetinthemiddle)由于深搜的时间复杂度在每种状态有两个分支的情况下是\(O(2^n)\)。所以一般暴力深搜的数据范围就在\(20-25\)之间。而对于有一大类的题,它的搜索思......
  • 实验三HDFS 常用操作
    HDFS常用操作使用hadoop用户名登录进入Linux系统,启动Hadoop,参照相关Hadoop书籍或网络资料,或者也可以参考本教程官网的“实验指南”栏目的“HDFS操作常用Shell命令”,使用Hadoop提供的Shell命令完成如下操作:(1)启动Hadoop,在HDFS中创建用户目录“/user/hadoop”......
  • DFS求LCA
    Updateon2023.7.17:该技巧目前已知的最早来源:skip2004。Updateon2023.7.17:比较时,取时间戳较小的结点也是正确的,不用记录深度。DFS序求LCA无论是从时间常数,空间常数还是好写程度方面均吊打欧拉序。定义DFS序表示对一棵树进行深度优先搜索得到的结点序列,而时间戳DF......
  • POJ1635subway tree system
    在扫描过程中一旦扫描到一个子串01数量相等了,这个时候肯定是已经递归回到根节点了,因为从根节点下去的一步操作给了一个0,而这个0一定要从这条边回到根节点才能产生一个1与其匹配(这个1不可能来自其他边的回溯,因为其他边的回溯的前提就是之前从这条边下去了,就会产生一个0,,这个0就要......
  • 搜索学习笔记+杂题 (基础二 dfs/bfs的拓展)
    搜索杂题:博客中讲述的题的题单:戳我二、dfs/bfs的各种变式1、深搜深搜以指数级的时间复杂度闻名,稍不注意时间就会爆炸,所以一般会用到剪枝的技巧(这个技巧基本上是因题而异,需要平时的刷题与积累)。深搜同样也是一种可变性极高的算法(其实都可以不叫做一种算法,深搜已经是一种做题的......
  • abc099d<dfs,枚举排列方案>
    题目D-GoodGrid思路用一个对角线上颜色相同,间隔3个对角线上颜色相同,一共分为3组;考虑在c种颜色中,选择3种,分配给这3组,共\(A(n,3)\)种选法;dfs枚举排列方案,对每种方案计算花费,取最优即可。总结dfs枚举排列方案;代码点击查看代码#include<iostream>#include<algor......
  • FastDFS 介绍
    一、介绍FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载......