Luogu P1692 部落卫队
解题思路
数据范围不是很大,那应该不是那些普遍的图论的算法。考虑搜索,用暴力解决。从1到N枚举每一个点的位置,搜索这个点事选还是不选。如果在这个点之前选到的点中又和他冲突的点,那就不选,要么就选。
附上代码
#include <cstdio>
#include <cstring>
#include <iostream> using namespace std; int n, m, cnt[], Ans[], ans[], res;
bool dis[][], mark; inline void DFS(int x, int tot) {
if(x == n+) {
if(res < tot) {
res = tot;
for(int i=; i<=n; i++)
Ans[i] = ans[i];
}
return ;
}
if(tot + (n-x+) <= res) return ;
mark = false;
for(int i=; i<=x-; i++) {
if(ans[i] && (dis[x][i] || dis[i][x])) {
mark = true;
break;
}
}
if(!mark) {
ans[x] = ;
DFS(x+, tot+);
ans[x] = ;
}
DFS(x+, tot);
} int main() {
scanf("%d%d", &n, &m);
int x, y;
for(int i=; i<=m; i++) {
cin>>x>>y;
dis[x][y] = ;
dis[y][x] = ;
}
DFS(, );
printf("%d\n", res);
for(int i=; i<=n; i++) printf("%d ", Ans[i]);
}
Luogu P1692 部落卫队的更多相关文章
- 洛谷 P1692 部落卫队
P1692 部落卫队 题目描述 原始部落byteland中的居民们为了争夺有限的资源,经常发生冲突.几乎每个居民都有他的仇敌.部落酋长为了组织一支保卫部落的队伍,希望从部落的居民中选出最多的居民入伍, ...
- 洛谷——P1692 部落卫队
题目描述 原始部落byteland中的居民们为了争夺有限的资源,经常发生冲突.几乎每个居民都有他的仇敌.部落酋长为了组织一支保卫部落的队伍,希望从部落的居民中选出最多的居民入伍,并保证队伍中任何2 个 ...
- (Java实现) 最大团问题 部落卫队
首先介绍下最大团问题: 问题描述:给一个无向图G=(V,E) ,V是顶点集合,E是边集合.然后在这顶点集合中选取几个顶点,这几 个顶点任意两个之间都有边在E中.求最多可以选取的顶点个数.这几个顶点就构 ...
- 洛谷 P1692 【部落卫队】
啊这道题其实暴力就行了,算是一道搜索入门题吧. 搜索变量就应该是当前到哪一位了,然后进行枚举,当前的一位加或者不加,然后知道搜完为止. 判断当前一位可不可以加的时候本来想用vector的,但是没调出来 ...
- luogu 4047 部落划分 二分答案
二分距离判断是否满足k个部落,注意double类型精度,可使用不开方,最终再开 #include<bits/stdc++.h> #define rep(i,x,y) for(registe ...
- 【luogu P3950 部落冲突】 题解
题目连接:https://www.luogu.org/problemnew/show/P3950 1.像我这种学数据结构学傻了的 2.边权化点权 所有点权初始化0 3.对于战争 将深度较深的-1,对于 ...
- 【题解】Luogu P3950 部落冲突
原题传送门 这题用Link-Cut-Tree解决,Link-Cut-Tree详解 我们用Link-Cut-Tree维护连通性(十分无脑) 一开始先把树中每条边的两端连接 U操作:把u,v两个点连起来 ...
- luogu P3950 部落冲突
嘟嘟嘟 树剖板子题. #include<cstdio> #include<iostream> #include<algorithm> #include<cma ...
- lupgu P3950 部落冲突
题目链接 luogu P3950 部落冲突 题解 树剖线段树可以 lct还行 代码 #include<cstdio> #include<algorithm> inline in ...
随机推荐
- XMU 1125 越野车大赛 【三分】
1125: 越野车大赛 Time Limit: 500 MS Memory Limit: 64 MB Special JudgeSubmit: 8 Solved: 4[Submit][Statu ...
- ios24--改变button的文字和图片
// // ViewController.m // 09-UIButton内部子控件的调整 // // Created by xiaomage on 15/12/30. // Copyright © ...
- LightTable的结构(一)
LightTable使用clojurescript来生成js,然后使用 node-webkit 来处理UI clojurescript非常适合做抽象程度很高的页面和编辑逻辑结构设计, 最近会对整体进行 ...
- java异常——重新抛出异常
有时候希望把刚捕获的异常重新抛出,尤其是在使用Exception捕获所有异常的时候.既然已经得到了对当前异常对象的引用,可以直接把它重新抛出: catch(Exception e){ System.o ...
- 【POJ 1144】 Network
[题目链接] 点击打开链接 [算法] Tarjan算法求割点 [代码] #include <algorithm> #include <bitset> #include < ...
- windows 下操作目录(使用DOS命令)
Attrib 更改单个文件或目录的属性.该命令设置或删除指派给文件或目录的只读.系统.存档.隐藏以及压缩属性. 含有下列参数的 attrib 命令仅当使用故障恢复控制台时才可用.含有不同参数的 att ...
- ImportError: No module named flask.ext.login
from flask.ext.login import current_user python 3.x中,上面代码会报错:ImportError: No module named flask.ext. ...
- 关于file文件操作的头文件 【LINUX】 (转载)
转自:http://blog.csdn.net/figo77ll/article/details/3156052 Linux下如果要对文件进行读取访问,需要包含至少以下两个头文件: #inlcude ...
- 在visual studio code和visual studio中编写TypeScript文件自动生成JavaScript文件
注:此处的自动生成都为保存ts文件时自动生成js文件 VS CODE 只需要在TypeScript的终端控制台中输入如下命令即可,并注意需要将其中的*换成对应的文件名,此处的*似乎不能作为通用匹配. ...
- J20170604-hm
丸める 四舍五入 文字化け 乱码 わきまえる 弁える 辨别,识相 御構い 张罗,招待,款待 お構いなしに 不加考虑 しおり ブックマーク 书签 スタイルシート 样式表