HDU 1584 蜘蛛牌 (区间DP)

原创 2015年11月19日 22:26:41

分析:最后的状态是所有的牌都在一堆,一开始有十堆,这个时候比较容易想到石子合并问题,但是有点问题,左区间最终状态不是一堆怎么办?比如左区间是:4 5 7 8,这几个数不可能合并到一堆,这个时候预处理出每个数的位置,把数重新从小到大排一下序以后就是一个区间合并问题了。

转移方程:

dp[i][j]=min(dp[i][k]+dp[k+1][j]+w[k][j])

复杂度:o(103)

代码:

#include <bits/stdc++.h>
#define LL long long
#define FOR(i,x,y)  for(int i = x;i < y;++ i)
#define IFOR(i,x,y) for(int i = x;i > y;-- i)

using namespace std;

const int inf = 0x3fffffff;

int dp[11][11];
int pos[11];

int main()
{
    //freopen("test.in","r",stdin);
    int T;  scanf("%d",&T);
    while(T--){
        FOR(i,1,11){
            int u;
            scanf("%d",&u);
            pos[u] = i;
        }
        FOR(i,1,11){
            dp[i][i] = 0;
        }
        IFOR(i,9,0){
            FOR(j,i+1,11){
                int res = inf;
                FOR(k,i,j){
                    res = min(res,dp[i][k]+dp[k+1][j]+abs(pos[k]-pos[j]));
                }
                dp[i][j] = res;
            }
        }
        printf("%d\n",dp[1][10]);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

HDU 1584 蜘蛛牌(很经典的深搜)

蜘蛛牌 Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submi...
  • xky140610205
  • xky140610205
  • 2016年07月16日 16:54
  • 1077

(step4.3.9)hdu 1584(蜘蛛牌——DFS)

题目大意:本体是中文题,可以直接在OJ上看 /* * 1584_2.cpp * * Created on: 2013年8月22日 * Author: Administra...
  • caihongshijie6
  • caihongshijie6
  • 2013年08月22日 16:44
  • 1446

HDU1584:蜘蛛牌(DFS)

Problem Description 蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那...
  • libin56842
  • libin56842
  • 2013年08月06日 23:04
  • 3203

hdu1584 蜘蛛牌(经典dfs)

真是好题啊。。。 刚开始一看下一个状态是由上一个子问题得来的,想DP上去了,结果找不出状态方程,一百度是数位DP,还是dfs吧= =。。。 这题的dfs也很奇葩,我对dfs理解还浅啊,刚开...
  • Flynn_curry
  • Flynn_curry
  • 2016年03月01日 21:32
  • 711

hdoj 1584(没有使用队列的dfs)

//hdu 1584 dfs //dfs搜索,搜索的策略是每次枚举10张纸牌,看它可以放在哪张牌的上面 //深搜一下,枚举一下每次移动哪张牌,再判断一下当前的这张牌要移动到哪张牌上! 比如 2,3,...
  • longyuan20102011
  • longyuan20102011
  • 2012年02月09日 22:24
  • 833

hdu 1584 蜘蛛牌【dfs+简单剪枝】

蜘蛛牌 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub...
  • mengxiang000000
  • mengxiang000000
  • 2016年02月27日 16:26
  • 430

HDU-1584-蜘蛛牌

HDU-1584-蜘蛛牌
  • loy_184548
  • loy_184548
  • 2016年04月01日 12:22
  • 318

HDU1584:蜘蛛牌(DFS)

Problem Description 蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那...
  • libin56842
  • libin56842
  • 2013年08月06日 23:04
  • 3203

HDU 1584 蜘蛛牌(很经典的深搜)

蜘蛛牌 Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submi...
  • xky140610205
  • xky140610205
  • 2016年07月16日 16:54
  • 1077

【深入蜘蛛】百度蜘蛛IP段详解

大家进行网站日志分析的时候,常见到很多不同IP段的百度蜘蛛,为了方便大家更好的进行日志分析,下面列举了百度不同IP段常见蜘蛛的一些详情情况,及所谓的降权蜘蛛,沙盒蜘蛛,高权重蜘蛛等等 下面的百度...
  • whChina
  • whChina
  • 2016年05月08日 21:59
  • 3587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HDU 1584 蜘蛛牌 (区间DP)
举报原因:
原因补充:

(最多只允许输入30个字)