HDU 4370 0 or 1(巧妙思路转化,0/1规划,最短路SPFA)
来源:互联网 发布:淘宝客服催单算提成吗 编辑:程序博客网 时间:2024/06/06 17:39
题目大意:给出一个n×n的矩阵,求一个n×n的只含有0和1的矩阵,使得两个矩阵位置对应的元素相乘后和最小。
思路:巧妙的思路,把题目所给的三个条件以图论的角度考虑可以转换成一个求最短路径的问题。
通过这题了解到了一个新的问题–“0/1规划”。
各种题解:
官方题解
kuangbin
cxlove
Code:
/* W w w mm mm 222222222 7777777777777 *//* W w w w m m m m 222 22 7777 *//* w w w w m m m m 22 777 *//* w w w w m m m m 22 77 *//* w w w w m m m m 222 77 *//* w w w w m m m m 222 77 *//* w w w w m m m m 222 77 *//* w w w w m m m m 222 77 *//* w w w w m m m m 222 77 *//* ww ww m mm m 222222222222222 77 *///#pragma comment(linker, "/STACK:102400000,102400000")//C++//int size = 256 << 20; // 256MB//char *p = (char*)malloc(size) + size;//__asm__("movl %0, %%esp\n" :: "r"(p));//G++#include<set>#include<map>#include<queue>#include<stack>#include<ctime>#include<deque>#include<cmath>#include<vector>#include<string>#include<cctype>#include<cstdio>#include<cstdlib>#include<cstring>#include<sstream>#include<iostream>#include<algorithm>#define REP(i,s,t) for(int i=(s);i<=(t);i++)#define REP2(i,t,s) for(int i=(t);i>=s;i--)using namespace std;typedef long long ll;typedef unsigned long long ull;typedef unsigned long ul;int n;const int MAXN=305;const int INF=0x3f3f3f3f;int path[MAXN][MAXN];bool vis[MAXN];//在队列标志int dist[MAXN];void SPFA(int start,int n){ memset(vis,false,sizeof(vis)); queue<int>Q; for(int i=1; i<=n; i++) { if(i==start) { dist[i]=INF; } else { dist[i]=path[start][i]; Q.push(i); vis[i]=1; } } while(!Q.empty()) { int u=Q.front(); Q.pop(); vis[u]=0; REP(i,1,n) { if(dist[i]>dist[u]+path[u][i]) { dist[i]=dist[u]+path[u][i]; if(!vis[i]) { vis[i]=1; Q.push(i); } } } }}int main(){#ifdef ONLINE_JUDGE#else freopen("test.in","r",stdin);#endif while(~scanf("%d",&n)) { REP(i,1,n) { REP(j,1,n) { int c; scanf("%d",&path[i][j]); } } SPFA(1,n); int ans=dist[n]; int c1=dist[1]; SPFA(n,n); int c2=dist[n]; printf("%d\n",min(ans,c1+c2)); } return 0;}
0 0
- HDU 4370 0 or 1(巧妙思路转化,0/1规划,最短路SPFA)
- 0 or 1(最短路转化)
- HDU 4370 巧妙的最短路SPFA
- HDU 4370 0 or 1(12年多校by uestc 0/1规划,最短路)
- hdu 0 or 1(最短路spfa)(本质,抽象)
- hdu 4370 0 or 1(将数学问题转化为最短路)
- HDU 4370 0 or 1(最短路)
- hdu 4370 0 or 1 (最短路)
- HDU-4370 0 or 1(最短路[Dijkstra])
- HDU 4370 0 or 1(最短路)
- HDU 4370 0 or 1(最短路)
- HDU 4370 0 or 1(最短路)by Kuangbin
- HDU-4370 0 or 1(SPFA)
- 最短路+最小花费环-HDU-4370-0 or 1
- HDU 4370 0,1规划转换成最短路问题
- 0 or 1 图论最短路spfa
- [spfa] hdu 4370 0 or 1
- HDU 4370 0 or 1 (SPFA)
- Oracle集群文件系统(OCFS2)
- WIN8 IE浏览器打不开
- 矩阵范数(martix norm) --维基百科
- windows和linux中的socket
- ZTE
- HDU 4370 0 or 1(巧妙思路转化,0/1规划,最短路SPFA)
- UVALive - 4621 Cav 贪心 + 分析
- springmvc + hibernate构建web工程
- RS-232 / 485 / 422
- Linux使用jstat命令查看jvm的GC情况
- 贷款没办成,反被骗走大量资金
- android textview设置字体的行距和字间距
- Camera的LayerMask
- AndroidStudio 文档自动提示&代码提示补全