#include<bits/stdc++.h>
using namespace std;
int n,m,k;
int cherry[405],dp[405][405];
int solve(int l,int r)
{
//printf("%d,%d %d,%d\n",l/m,l%m,r/m,r%m);
int &ret=dp[l][r];
if(ret!=-1)return ret;
int nmin=30,nmax=-1,mmin=30,mmax=-1;
for(int i=1;i<=k;++i)
{
int ntmp=cherry[i]/m,mtmp=cherry[i]%m;
if(ntmp>=l/m&&ntmp<=r/m&&mtmp>=l%m&&mtmp<=r%m)nmin=min(nmin,ntmp),nmax=max(nmax,ntmp),mmin=min(mmin,mtmp),mmax=max(mmax,mtmp);
}
if(nmin==-1)ret=0;
if(nmin==nmax&&mmin==mmax)ret=0;
if(ret==0)return ret;
ret=0x3f3f3f3f;
for(int i=nmin;i<nmax;++i)ret=min(ret,solve(l,r-(r/m-i)*m)+solve(l+(i-l/m+1)*m,r)+(r%m-l%m+1));
for(int i=mmin;i<mmax;++i)ret=min(ret,solve(l,r-(r%m-i))+solve(l+(i-l%m+1),r)+(r/m-l/m+1));
return ret;
}
int main()
{
int Case=0;
while(~scanf("%d%d%d",&n,&m,&k))
{
memset(dp,-1,sizeof dp);
for(int i=1;i<=k;++i){int a,b;scanf("%d%d",&a,&b);cherry[i]=a*m-m+b-1;}
printf("Case %d: %d\n",++Case,solve(0,n*m-1));
}
}

HDU 2513 Cake slicing的更多相关文章

  1. Hdu 2513 区间DP

    Cake slicing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  2. HDU 5355 Cake

    HDU 5355 Cake 更新后的代码: 今天又一次做这道题的时候想了非常多种思路 最后最终想出了自觉得完美的思路,结果却超时 真的是感觉自己没救了 最后加了记忆化搜索,AC了 好了先说下思路吧.不 ...

  3. 2015多校第6场 HDU 5355 Cake 贪心,暴力DFS

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5355 题意:给你n个尺寸大小分别为1,2,3,…,n的蛋糕,要求你分成m份,要求每份中所有蛋糕的大小之 ...

  4. HDU 5355 Cake (WA后AC代码,具体解析,构造题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=5355 题面: Cake Time Limit: 2000/1000 MS (Java/Others) ...

  5. hdu 1722 Cake 数学yy

    题链:http://acm.hdu.edu.cn/showproblem.php? pid=1722 Cake Time Limit: 1000/1000 MS (Java/Others)    Me ...

  6. hdu 5535 Cake 构造+记忆化搜索

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=5355 题意:给定n与m,其中1<= n <= 1e5,2 <= m <= 10;问 ...

  7. UVa 1629 Cake slicing (记忆化搜索)

    题意:一个矩形蛋糕上有好多个樱桃,现在要做的就是切割最少的距离,切出矩形形状的小蛋糕,让每个蛋糕上都有一个樱桃,问最少切割距离是多少. 析:很容易知道是记忆化搜索,我们用dp[u][d][l][r]来 ...

  8. HDU 1722 Cake (数论 gcd)(Java版)

    Big Number 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1722 ——每天在线,欢迎留言谈论. 题目大意: 给你两个数 n1,n2 . 然后 ...

  9. HDU 5355 Cake(2015多校第六场,搜索 + 剪枝)

    Cake Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

随机推荐

  1. 2020年Java多线程与并发系列22道高频面试题(附思维导图和答案解析)

    前言 现在不管是大公司还是小公司,去面试都会问到多线程与并发编程的知识,大家面试的时候这方面的知识一定要提前做好储备. 关于多线程与并发的知识总结了一个思维导图,分享给大家 1.Java中实现多线程有 ...

  2. PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)

    PTA数据结构与算法题目集(中文)  7-36 社交网络图中结点的“重要性”计算 (30 分) 7-36 社交网络图中结点的“重要性”计算 (30 分)   在社交网络中,个人或单位(结点)之间通过某 ...

  3. node.js代码

    // 1. 引入 express var express = require('express'); var formidable = require('formidable'); var mysql ...

  4. 虚拟机的vmnet8网卡找不到了

    不知道我设置了什么,在我于Linux中配置网络时发现怎么都不行,检查了一下发现用于NAT的网卡没有了. 我重启了电脑之后发现还是没有. 于是按照网上的办法在虚拟网络编辑器将其重置,如下图. 问题解决. ...

  5. django-rest-framework视图和url

    django-rest-framework视图 GenericView class GenericView(GenericAPIView): queryset = models.Role.object ...

  6. C语言输出菱形

    #include<stdio.h> #include<string.h> int main(){          int data[7][7] = {0};     for( ...

  7. 页面DIV弹出层 JS原生脚本

    <script type="text/javascript"> /*         * 弹出DIV层         */ function showDiv() { ...

  8. 响应式web设计(Responsive web design)

    在全面进入互联网时代后,随着各种移动设备的普及,移动互联网更加受到大众的青睐.由于移动互联网的使用量远远超出了传统互联网的使用量,移动设备也正在逐渐超越桌面设备.因为用户在移动设备上的使用习惯不同,U ...

  9. 一、华为模拟器eNSP下载与安装教程

    简单介绍一下 eNSP: eNSP是一款由华为提供的免费的图形化网络仿真工具平台,它将完美呈现真实设备实景(包括华为最新的ARG3路由器和X7系列的交换机),支持大型网络模拟,让你有机会在没有真实设备 ...

  10. Netty是如何处理新连接接入事件的?

    更多技术分享可关注我 前言 前面的分析从Netty服务端启动过程入手,一路走到了Netty的心脏——NioEventLoop,又总结了Netty的异步API和设计原理,现在回到Netty服务端本身,看 ...