zoukankan      html  css  js  c++  java
  • hdu5115 Dire Wolf

    题目链接

    区间DP

    $dp_{i,j}$为杀掉$i~j$内的狼的最小代价

    枚举$i~j$中最后杀掉的狼,$dp_{i,j}=min{ { {kin{[i,j]}} | dp_{i,k-1}+dp_{k+1,j}+A_k+B_{i-1}+B_{j+1}} }$

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstdlib>
     4 #include<cstring>
     5 #define re(i,l,r) for(int i=(l);i<=(r);i++)
     6 #define rre(i,r,l) for(int i=(r);i>=(l);i--)
     7 using namespace std;
     8 typedef long long LL;
     9 int t,A[222],B[222],n;
    10 LL hh[222][222];
    11 LL dfs(int l,int r)
    12 {
    13     LL &ret=hh[l][r];
    14     if(ret)return ret;
    15     ret=1LL<<60;
    16     if(l>r)return ret=0;LL now=B[l-1]+B[r+1];
    17     re(i,l,r)ret=min(dfs(l,i-1)+dfs(i+1,r)+A[i]+now,ret);
    18     return ret;
    19 }
    20 int main()
    21 {
    22     scanf("%d",&t);int tt=t;
    23     while(t--)
    24     {
    25         printf("Case #%d: ",tt-t);
    26         memset(hh,0,sizeof(hh));
    27         scanf("%d",&n);
    28         re(i,1,n)scanf("%d",&A[i]);
    29         re(i,1,n)scanf("%d",&B[i]);
    30         printf("%lld
    ",dfs(1,n));
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    canvas粒子时钟
    数组复制
    对象拷贝
    不常见但很有用的chrome调试工具使用方法
    变形transform的副作用
    CSS页面渲染优化属性will-change
    CSS实现导航条Tab切换的三种方法
    CSS两端对齐
    CSS倒影
    CSS滤镜
  • 原文地址:https://www.cnblogs.com/HugeGun/p/5339987.html
Copyright © 2011-2022 走看看