Educational Codeforces Round 1 E. Chocolate Bar(记忆化搜索)

原创 2015年11月18日 10:06:39

题目链接
题意:在n*m的矩形切出面积是k
解法:记忆化搜索


#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define X first
#define Y second
#define cl(a,b) memset(a,b,sizeof(a))
typedef pair<int,int> P;
const int maxn=100005;
const LL inf=1<<27;
const LL mod=1e9+7;
LL dp[35][35][55];
LL dfs(int n,int m,int k){
    //printf("n = %d, m = %d, k = %d\n",n,m,k);
    if(k==0||m*n==k)return 0;
    if(dp[n][m][k]!=-1)return dp[n][m][k];
    LL ans=inf;
    for(int i=1;i<n;i++){
        for(int j=0;j<=k;j++){
            ans=min(ans,dfs(i,m,j)+dfs(n-i,m,k-j)+(LL)m*m);
        }
    }
    for(int i=1;i<m;i++){
        for(int j=0;j<=k;j++){
            ans=min(ans,dfs(n,i,j)+dfs(n,m-i,k-j)+(LL)n*n);
        }
    }
    return dp[n][m][k]=ans;
}

int main(){
    int T;scanf("%d",&T);cl(dp,-1);
    while(T--){
        int n,m,k;
        scanf("%d%d%d",&n,&m,&k);
        printf("%lld\n",dfs(n,m,k));
    }
    return 0;
}
版权声明:一个菜逼的笔记,并没有什么题解。。。

Educational Codeforces Round 1 E Chocolate Bar(dp)

题意: 给定N∗M(N,M≤30)的巧克力,现在要吃掉K≤50的面积的给定N*M(N,M\le 30)的巧克力, 现在要吃掉K\le 50的面积的 且要求吃掉的一定是长方形,剩余部分的形状不...
  • lwt36
  • lwt36
  • 2016年01月19日 22:32
  • 384

Educational Codeforces Round 1 E.Chocolate Bar(DP)

题目大意:初始有一块n*m的巧克力,每次只能沿一条直线切成两块矩形的巧克力,花费为所切边长的平方。问:最终得到面积和为k的巧克力的最小花费为多少? dp[n][m][k]表示用n*m的矩形得到面积和...

【Educational Codeforces Round 1E】【动态规划-多维DP】Chocolate Bar 矩形巧克力掰开吃的最小成本

E. Chocolate Bar time limit per test 2 seconds memory limit per test 256 megabytes ...

Codeforces Round #389 (Div. 2) E. Santa Claus and Tangerines 二分+贪心+记忆化搜索

题意:有n个橘子,每个橘子可以分成ai瓣,但每次只能把 一个完整的橘子或者由一些把构成的部分橘子 分成尽可能相等的两部分,即如果瓣数是偶数则当前只能分成相等的2部分,如果是奇数则分成2部分其中一部分比...

Codeforces Round #208 (Div. 2) D(记忆化搜索)

首先,这题要一眼看出是dp...这种dp[i][0] dp[i][1] 的方法还是蛮经典的 之前写好多题都用的了只是以前都是只依赖一种状态,这个题目依赖了前后。然后自己不会写了。参考了Tutorial...

Codeforces Round #174 (Div. 2)---D. Cow Program(dp, 记忆化搜索)

Farmer John has just given the cows a program to play with! The program contains two integer variabl...

Codeforces Round #390 (Div. 2) C. Vladik and chat (DP/记忆化搜索)

题意有n个人和m句话,有些话的说话人不明,要求是每个人不能连着说两句话,每句话不能提到自己,看看能不能将这些话的说话人都找出来,答案可能不固定。思路题目的限制只有两个,因此对于每一句说话人不明的话,可...

Codeforces Round #427 (Div. 2)-D(记忆化搜索)

D. Palindromic characteristics time limit per test 3 seconds memory limit per test 256 megabytes...

Codeforces Round #406 (Div. 2):C. Berzerk(记忆化搜索解决博弈问题)

C. Berzerk time limit per test 4 seconds memory limit per test 256 megabytes input standard in...

Codeforces Round #106(Div. 2) 149D. Coloring Brackets 区间DP 记忆化搜索

D. Coloring Brackets time limit per test 2 seconds memory limit per test 256 megabytes ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Educational Codeforces Round 1 E. Chocolate Bar(记忆化搜索)
举报原因:
原因补充:

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