生日蛋糕

一道深搜题,看了这两个博客才懂的。

http://blog.csdn.net/blesslzh0108/article/details/53486168

http://blog.csdn.net/v5zsq/article/details/46575215

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int maxn = 0x3f3f3f3f;
int minv[], mins[];
int ans, mh,n, m; void dfs(int v, int s, int level, int r, int h)
{
if (level == ) {
if (v == n&&s < ans)
ans = s;
return;
}
if (v + minv[level - ] > n) return;
if (s + mins[level - ] > ans) return;
if ( * (n - v) / r + s >= ans) return;
for (int i = r - ; i >= level; i--) {
if (level == m) s = i*i;
mh = min(h - , (n - v - minv[level - ]) / (i*i));
for (int j = mh; j >= level; j--)
dfs(v + i*i*j, s + * i*j, level - , i, j);
}
} int main()
{
minv[] = , mins[] = ;
for (int i = ; i <= ; i++) {
minv[i] = minv[i - ] + i*i*i;
mins[i] = mins[i - ] + * i*i;
}
while (scanf("%d%d",&n,&m)==)
{
ans = maxn;
dfs(, , m, n + , n + );
if (ans == maxn) ans = ;
printf("%d\n", ans);
}
return ;
}

最新文章

  1. 【6年开源路】FineUI家族今日全部更新(FineUI + FineUI3to4 + FineUI.Design + AppBox)!
  2. Addthis
  3. DWT小波变换及其在时间序列数据预测中的应用
  4. Perfect Scrollbar – 完美的 jQuery 滚动条插件
  5. Revit API 楼板开洞
  6. nova-network
  7. Linux学习 -- Shell基础 -- Bash基本功能
  8. 自定义仿 QQ 健康计步器进度条
  9. 201521123078《Java程序设计》第2周学习总结
  10. 微信小程序天坑--图片汉字命名
  11. [Codeforces 919F]A Game With Numbers
  12. 利用BLEU进行机器翻译检测(Python-NLTK-BLEU评分方法)
  13. 以Attribute加上Header验证
  14. mongo连接拒绝10061原因
  15. 【转】Oracle virtual column(虚拟列)
  16. adb环境变量配置
  17. [转]urllib模块urlretrieve方法
  18. Allegro中常见的文件格式
  19. hihocoder博弈游戏&#183;Nim游戏&#183;三
  20. win8.1rtm专业版无法安装net3.5还有iis

热门文章

  1. 二、Web Service开发(.net)
  2. Pywinauto自动化操作PC微信提取好友微信号
  3. Hadoop 集群规模要多大
  4. Linux 系统的运行级别(runlevel)
  5. 现在学习 JavaScript 的哪种技术更好:Angular、jQuery 还是 Node.js?(转)
  6. WebGis二次开发包实例
  7. I Hate It HDU - 1754 (线段树)
  8. 话说placeholder
  9. centos下彻底删除mysql
  10. 通过工具SQLyog进行导入数据