生日蛋糕(dfs剪枝)

简介: 生日蛋糕(dfs剪枝)
#include<bits/stdc++.h>
using namespace std;
const int N=25,INF=0x3f3f3f3f;
int R[N],H[N];
int minv[N],mins[N];
int n,m;
int res;
void dfs(int dep,int V,int S)
{
    if(minv[dep]+V>n) return;
    if(mins[dep]+S>res) return;
    if(S+2*(n-V)/R[dep+1]>=res) return;
    if(!dep)
    {
        if(V==n) res=min(S,res);
        return;
    }
    for(int r=min(R[dep+1]-1,(int)sqrt((n-V-minv[dep-1])/dep));r>=dep;r--)
    {
        for(int h=min(H[dep+1]-1,(n-V-minv[dep-1])/(r*r));h>=dep;h--)
        {
            R[dep]=r; H[dep]=h;
            int t=dep==m?r*r:0;
            dfs(dep-1,V+r*r*h,S+2*r*h+t);
        }
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        minv[i]=minv[i-1]+i*i*i;
        mins[i]=mins[i-1]+2*i*i;
    }
    res=INF;   R[m+1]=INF,H[m+1]=INF;
    dfs(m,0,0);//现在第几层 这层之下的面积,体积是多少
    if(res==INF) cout<<0<<endl;
    else cout<<res<<endl;
}
目录
相关文章
|
C语言 C++
C/C++ 自定义头文件,及头文件结构详解
还是从"stdio.h"说起,这是C语言中内置的标准库,也就是说,头文件很多时候其实就是一个“库”,类似于代码的仓库,也就是说将某些具有特定功能的常量、宏、函数等归为一个大类,然后放进这个“仓库”,就像stdio.h就是一个标准输入/输出的头文件
482 1
|
4月前
|
存储 消息中间件 人工智能
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
329 10
【08】AI辅助编程完整的安卓二次商业实战-修改消息聊天框背景色-触发聊天让程序异常终止bug牵涉更多聊天消息发送优化处理-优雅草卓伊凡
|
11月前
|
人工智能 Linux iOS开发
exo:22.1K Star!一个能让任何人利用日常设备构建AI集群的强大工具,组成一个虚拟GPU在多台设备上并行运行模型
exo 是一款由 exo labs 维护的开源项目,能够让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群,支持多种大模型和分布式推理。
2645 101
|
10月前
|
设计模式 Java
课时111:定义枚举类
课时111介绍了枚举类的定义和使用。主要内容包括:枚举的概念、定义及与多例设计的区别,`values()`方法获取所有枚举对象,以及枚举在`switch`语句中的应用。枚举从JDK 1.5引入,简化了有限对象集合的定义,代码更简洁且编译时即可检查错误。示例展示了如何定义和使用枚举类,并对比了多例设计的复杂性。
158 1
|
负载均衡 Java 调度
Java中的定时任务实现详解
Java中的定时任务实现详解
|
存储 关系型数据库 定位技术
GeoServer发布地图服务(WMS、WFS)
GeoServer发布地图服务(WMS、WFS)
1677 0
|
前端开发 开发者
深入探索 Flutter 鸿蒙版的画笔使用与高级自定义动画
本文深入探讨了 Flutter 中的绘图功能,重点介绍了 CustomPainter 和 Canvas 的使用方法。通过示例代码,详细讲解了如何绘制自定义图形、设置 Paint 对象的属性以及实现高级自定义动画。内容涵盖基本绘图、动画基础、渐变动画和路径动画,帮助读者掌握 Flutter 绘图与动画的核心技巧。
290 1
|
存储 C语言
揭秘C语言:泊舟的猜数字游戏
揭秘C语言:泊舟的猜数字游戏
226 2
|
Java Nacos 开发者
解决Spring Cloud整合Nacos与Gateway的探险之旅
解决Spring Cloud整合Nacos与Gateway的探险之旅
778 0
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
随着企业加速其数字化进程,云原生架构已成为支持灵活、可扩展解决方案的重要支柱。本文探讨了云原生技术的基本原则,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps实践,并分析了这些技术如何使企业能够快速响应市场变化,提高运营效率,并最终实现业务目标。此外,文章还将深入剖析云原生架构的实施策略,以及企业在采用过程中可能面临的挑战和解决之道。

热门文章

最新文章