hdu 3666 THE MATRIX PROBLEM【差分约束系统】
2013-05-13 18:44
232 查看
http://acm.hdu.edu.cn/showproblem.php?pid=3666
题目大意:
题解:
代码:
题目大意:
题解:
代码:
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <queue> #include <cmath> using namespace std; #define inf 1000000000 const int N = 805 , M = 500050; int n , m; struct Edge { int v , next; double w; Edge () {} Edge (int v,double w,int next):v(v),w(w),next(next) {} }edge[M]; int E , head ; void init() { E = 0; memset(head,-1,sizeof(head)); } void addedge(int u,int v,double w) { edge[E] = Edge(v,w,head[u]); head[u] = E ++; } int vis ; double dist ; bool spfa(int u) { vis[u] = 1; for(int i=head[u];i!=-1;i=edge[i].next) { int v = edge[i].v; if(dist[v] < dist[u] + edge[i].w) { dist[v] = dist[u] + edge[i].w; if(vis[v] == 1) return false; else if(!spfa(v)) return false; } } vis[u] = 2; return true; } int num ; int main() { double u , l; while(~scanf("%d%d%lf%lf",&n,&m,&l,&u)) { init(); double du = log(u); double dl = log(l); for(int i=0;i<n;i++) for(int j=0;j<m;j++) scanf("%d" , &num[i][j]); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { addedge(i , j+n , log((double)num[i][j]) - du); addedge(j+n , i , dl - log((double)num[i][j])); } bool ans = true; for(int i=0;i<n+m;i++) { dist[i] = 0; vis[i] = 0; } for(int i=0;i<n+m;i++) if(!vis[i] && !spfa(i)) { ans = false; break; } if(ans) puts("YES"); else puts("NO"); } return 0; }
相关文章推荐
- HDU 3666 THE MATRIX PROBLEM 差分约束系统
- HDU-3666 THE MATRIX PROBLEM(差分约束系统判断存在与否+特殊剪枝)
- HDU 3666 The MATRIX PROBLEM (差分约束系统,除化减)
- hdu 3666 THE MATRIX PROBLEM(差分约束系统)
- hdu 3666 THE MATRIX PROBLEM 差分约束系统
- hdu 3666 THE MATRIX PROBLEM (差分约束 + 最长路)
- HDU 3666 THE MATRIX PROBLEM (建图+差分约束+剪枝优化)
- HDU 3666 THE MATRIX PROBLEM(差分约束)
- HDU 3666 THE MATRIX PROBLEM(差分约束 + spfa 深搜判环)
- hdu 3666 THE MATRIX PROBLEM
- |hdu 3666|差分约束|THE MATRIX PROBLEM
- HDU-3666 THE MATRIX PROBLEM
- HDU 3666 THE MATRIX PROBLEM 解题报告(差分约束)
- HDU 3666 THE MATRIX PROBLEM 差分约束
- HDU 3666 THE MATRIX PROBLEM (差分约束判负环)
- hdu 3666 THE MATRIX PROBLEM (差分约束)
- HDU_3666_THE MATRIX PROBLEM(差分约束+spfa+slf优化)
- hdu 3666 THE MATRIX PROBLEM
- HDU 3666 THE MATRIX PROBLEM (差分约束判负环)
- hdu 3666 THE MATRIX PROBLEM (差分约束)