博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2531 深搜剪枝
阅读量:7084 次
发布时间:2019-06-28

本文共 743 字,大约阅读时间需要 2 分钟。

题意:全局最大割。

分析:有相应的算法,数据量很小,可以枚举源点,汇点,最大流。

这里用DFS,状态定义:分成两个集合,刚开始S集合全部点,然后一个一个放,这是一个回溯的过程。

没剪枝也过了。

剪枝技巧:当前这个节点放到T集合,比之前还小,那么一定,这个点不在T集合里面。

1 #include 
2 #include
3 #include
4 #include
5 6 using namespace std; 7 8 const int maxn = 20 + 5; 9 int n;10 int a[maxn][maxn];11 int dep[maxn];12 13 int ans;14 15 16 void dfs(int u,int m) {17 dep[u] = 1;18 int tmp = m;19 20 for(int i=0;i
ans)27 ans = m;28 29 for(int i=u+1;i
tmp) {31 dfs(i,m);32 dep[i] = 0;33 }34 }35 }36 37 int main()38 {39 scanf("%d",&n);40 41 for(int i=0;i
View Code

 

转载于:https://www.cnblogs.com/TreeDream/p/7207894.html

你可能感兴趣的文章
JVM调优参数
查看>>
我的友情链接
查看>>
Ubuntu14.04下配置Emacs的Python IDE环境
查看>>
WebView允许web使用时html5自适应屏幕标签
查看>>
CentOS 5.6下pptpd *** 服务器搭建
查看>>
Android 生成keystore的两种方式
查看>>
spring 的事务回滚 异常exception 和 编译期异常和运行期异常
查看>>
淘宝切换效果
查看>>
我的友情链接
查看>>
分享一篇防刷机知识的文章
查看>>
我的友情链接
查看>>
Javascript Prototype
查看>>
判断链表是否有环,并返回链表的第一个节点
查看>>
yii日志功能详解
查看>>
前端开发面试题【转】
查看>>
AndEngine引擎学习之环境配置以及示例修改
查看>>
2014阿里云AWDC参会总结
查看>>
Echarts饼形图(二)
查看>>
Winform Timer控件时间间隔
查看>>
Android研发中对String的思考
查看>>