KM算法(O(n^4)) HDU2255
来源:互联网 发布:中等收入陷阱 书籍知乎 编辑:程序博客网 时间:2024/06/14 13:28
网站:http://www.cnblogs.com/skyming/archive/2012/02/18/2356919.html
</pre><pre code_snippet_id="1577750" snippet_file_name="blog_20160213_3_5056781" name="code" class="cpp"><pre name="code" class="cpp">#include<stdio.h>#include<string.h>#include<stdlib.h>int n,a[301],b[301],w[301][301],fa[301],fb[301],hus[301],d,ans;int dfs(int u){int v;fa[u]=1;for (v=1;v<=n;v++) {if (!fb[v] && a[u]+b[v]==w[u][v]) {fb[v]=1;if (hus[v]==0 || dfs(hus[v])) {hus[v]=u;return 1;}}}return 0;}int main(){int i,j,l;while (scanf("%d",&n)!=EOF) {for (i=1;i<=n;i++) {a[i]=0;for (j=1;j<=n;j++) {scanf("%d",&w[i][j]);if (w[i][j]>a[i]) a[i]=w[i][j];}}memset(b,0,sizeof(b));for (i=1;i<=n;i++) {while (1) {memset(fa,0,sizeof(fa));memset(fb,0,sizeof(fb));if (dfs(i)) break;d=999999999;for (j=1;j<=n;j++) {if (fa[j]) {for (l=1;l<=n;l++) {if (!fb[l]) if (d>a[j]+b[l]-w[j][l]) d=a[j]+b[l]-w[j][l];}}}if (d==999999999) break;for (j=1;j<=n;j++) {if (fa[j]) a[j]-=d;if (fb[j]) b[j]+=d;}}}for (i=1;i<=n;i++) {if (hus[i]!=0) ans+=w[hus[i]][i];}printf("%d\n",ans);}return 0;}
1 0
- KM算法(O(n^4)) HDU2255
- KM算法O(n^3)模板 hdu2255
- hdu2255--KM算法
- KM算法模板 hdu2255
- hdu2255(KM算法模板)
- km算法模板 hdu2255
- KM(N^3)模板(HDU2255)
- KM(N^3)模板(HDU2255)
- hdu2255 KM算法入门 KM算法模板
- KM算法模板(hdu2255)
- HDU2255 KM优化(n^3)模板
- HDU2255 KM优化(n^3)模板
- KM算法(O(n^3)) HDU 2255
- HDU2255-KM
- HDU2255--奔小康赚大钱(KM算法)
- 【HDU2255】奔小康赚大钱-KM算法
- hdu2255奔小康赚大钱 KM算法
- hdu2255奔小康赚大钱-km算法
- [iOS]iOS的字号转换问题
- usaco 2.1.2 frac1
- usaco 2.1.1 castle
- 欣赏,永远是有学习成本的——又读《三体》
- openstack学习笔记(二)-浅谈OpenStack与虚拟机的区别与联系
- KM算法(O(n^4)) HDU2255
- 【Android】获取控件的宽和高
- Mysql学习笔记一
- Servlet3--基于注解的servlet
- 消息队列的使用场景
- 从4行代码看右值引用
- C/C++语言复习一
- 解决easyUI grid标题固定居中的问题
- Mysql学习笔记二