链接

路径麻烦啊 很多细节 倒回去搜一遍

卡了一节数据库。。

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define LL long long
int u,o,path[],flag;
LL sum[][],dp[][],f[][];
int m,n;
void dfs(int u,int v)
{
if(flag)
return ;
int i,j,tt=o;
if(v==)
{
o++;
path[o] = u;
for(i = o ; i > ; i--)
printf("%d ",path[i]);
printf("%d\n",path[]);
flag = ;
return ;
}
if(dp[v][u]==dp[v-][u]+f[v][u])
{
o = tt;
path[++o] = u;
dfs(u,v-);
}
for(i = u-; i >= ; i--)
{
if(dp[v][i]!=dp[v-][i]+f[v][i])
continue;
o = tt;
if(dp[v][u]==dp[v][i]+sum[v][u]-sum[v][i])
{
for(j = u ; j>= i ; j--)
path[++o] = j;
dfs(i,v-);
}
}
for(i = u+ ; i <= m ; i++)
{
if(dp[v][i]!=dp[v-][i]+f[v][i])
continue;
o = tt;
if(dp[v][u]==dp[v][i]+sum[v][i-]-sum[v][u-])
{
for(j = u; j <= i; j++)
path[++o] = j;
dfs(i,v-);
}
}
o = tt;
}
int main()
{
int i,j,g;
flag=;
scanf("%d%d",&n,&m);
for(i = ; i <= n ;i++)
{
for(j = ; j <=m ; j++)
{
scanf("%lld",&f[i][j]);
sum[i][j] = sum[i][j-]+f[i][j];
}
}
for(i = ;i <= n ;i++)
{
for(j = ; j <=m ; j++)
dp[i][j] = dp[i-][j]+f[i][j];
for(j = ; j <= m ; j++)
{
for(g = ; g < j ;g++)
dp[i][j] = min(dp[i][j],dp[i][g]+sum[i][j]-sum[i][g]);
for(g = j+ ; g <=m ; g++)
dp[i][j] = min(dp[i][j],dp[i][g]+sum[i][g-]-sum[i][j-]);
}
}
LL ans = dp[n][],u = ;
for(i = ; i <= m ; i++)
{
if(ans>=dp[n][i])
{
ans = dp[n][i];
if(dp[n][i]==dp[n-][i]+f[n][i])
u = i;
}
}
o++;
path[o] = u;
if(n==)
printf("%d\n",u);
else
dfs(u,n-);
return ;
}

URAL1029. Ministry(DP+路径)的更多相关文章

  1. DP+路径 URAL 1029 Ministry

    题目传送门 /* 题意:就是从上到下,找到最短路,输出路径 DP+路径:状态转移方程:dp[i][j] = min (dp[i-1][j], dp[i][j-1], dp[i][j+1]) + a[[ ...

  2. POJ1015 && UVA - 323 ~Jury Compromise(dp路径)

    In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting of ...

  3. Codeforces Round #598 (Div. 3)E(dp路径转移)

    题:https://codeforces.com/contest/1256/problem/E 题意:给一些值,代表队员的能力值,每组要分3个或3个以上的人,然后有个评价值x=(队里最大值-最小值), ...

  4. poj2264 dp+路径

    //Accepted 208K 0MS //dp //最长公共子序列+路径 #include <cstdio> #include <cstring> #include < ...

  5. poj1141Brackets Sequence(dp+路径)

    链接 dp好想  根据它定义的 记忆化下就行 路径再dfs一遍 刚开始以为要判空格 所以加了判空格的代码 后来知道不用 .. #include <iostream> #include< ...

  6. [IOI1999]花店橱窗布置(DP路径记录)

    题目:[IOI1999]花店橱窗布置 问题编号:496 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V ...

  7. P1052 过河 线性dp 路径压缩

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  8. 【CH5104】I-country 线性dp+路径输出

    pre:在网格中,凸多边形可以按行(row)分解成若干段连续的区间 [ l , r ] ,且左端点纵坐标的值(col)满足先减后增,右端点纵坐标先增后减. 阶段:根据这个小发现,可以将阶段设置成每一行 ...

  9. poj1417(带权并查集+背包DP+路径回溯)

    题目链接:http://poj.org/problem;jsessionid=8C1721AF1C7E94E125535692CDB6216C?id=1417 题意:有p1个天使,p2个恶魔,天使只说 ...

随机推荐

  1. article元素设计网络新闻展示

    article元素用来表示文档.页面中独立的.完整的.可以独自被外部引用的内容.它可以是一篇文章博客或者报刊中的文章.一篇论坛帖子.一段用户评论或独立的插件等.除了内容部分,一个article元素通常 ...

  2. C--指针函数,static

    (*p)是固定写法,代表指针的变量P将来是指向函数 void (*p)(); p=test;//指针变量P指向了test函数 函数名test代表函数地址 //同等调用test()函数 (*p)(); ...

  3. POJ 1088 滑雪 -- 动态规划

    题目地址:http://poj.org/problem?id=1088 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  4. OpenJudge / Poj 1003 Hangover

    链接地址: Poj:http://poj.org/problem?id=1003 OpenJudge:http://bailian.openjudge.cn/practice/1003 题目: Han ...

  5. 把URL传递参数转变成自定义实体方法

    先定义下要获取的实体: public class InputClass { public long Id { get; set; } public int Status { get; set; } p ...

  6. Linux与Windows的桥梁--共享目录

    1.关闭防火墙和selinux         # service iptables stop         # chkconfig --level 2345 iptables off        ...

  7. QtSQL学习笔记(2)- 连接到数据库

    要使用QSqlQuery或者QSqlQueryModel访问一个数据库,首先需要创建并打开一个或多个数据库连接(database connections). 一般地,数据库连接是根据连接名(conne ...

  8. jquery checkbox 选中 全选 插件

    checkbox  选中 全选 在项目中经常用到,但是不同的程序员写出的东西各有差异,在此整合了jquery checkbox插件,用起来很方便,也总结了我们项目中通常会出现问题的地方,一行代码搞定. ...

  9. 在jsp中运用ajax实现同一界面不跳转处理事件

    目前,编写应用程序时有两种基本的选择: 桌面应用程序 Web应用程序 它们有什么区别呢?桌面应用程序一般很快(就在您的计算机上运行,不用等待互联网连接),具有漂亮的用户界面(通常和操作系统有关)和非凡 ...

  10. hdu 1568 Fibonacci 数学公式

    Fibonacci Problem Description 2007年到来了.经过2006年一年的修炼,数学神童zouyu终于把0到的Fibonacci数列(f[0]=0,f[1]=1;f[i] = ...