动态规划 简单的分割问题的解决方案钢棒

动态规划 简单的分割问题的解决方案钢棒

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

代码第一版 :

#include <iostream>
using namespace std;


int max(int a,int b)
{
    if(a>=b)return a;
    else return b;
}


int cut_rod(int *p,int n)
{
    int q=NULL;
    if(n==0)return 0;
    else for(int i=0;i<n;i++)
    {
        q=max(q,p[i]+cut_rod(p,n-1-i));
    }
    return q;
}

int main()
{
    int p[]={1,5,8,9,10,17,17,20,24,30};
    int n;
    cout<<"Please input a int number"<<endl;
    cin>>n;
    int r=cut_rod(p,n);
    cout<<r<<endl;


    return 0;
}

这版代码 由于p[]的原因,仅仅能对1~10求解。

所以对他进行小小的改进

第二版

#include <iostream>
using namespace std;
#define NIL (-0x7fffffff-1)

int max(int a,int b)
{
    if(a>=b)
        return a;
    else
        return b;
}


int cut_rod(int *p,int n)
{

    if(n==0)
        return 0;
    int q=NIL;
    if(n<=10){
        for(int i=0;i<n;i++)
        {
            q=max(q,p[i]+cut_rod(p,n-1-i));

        }
        return q;
        }else
            if(n>10){

                int b=n/10;
                n=n-b*10;
                if(n==0)
                    q=0;
                for(int i=0;i<n;i++)
                {
                    q=max(q,p[i]+cut_rod(p,n-1-i));
                }
            return q+b*30;
        }
}

int main()
{
    int p[]={1,5,8,9,10,17,17,20,24,30};
    int n;
    cout<<"Please input a int number"<<endl;
    cin>>n;
    int r=cut_rod(p,n);
    cout<<r<<endl;

    return 0;
}

这些是动态编程——简单的分割问题的解决方案钢棒

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117873.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Unity Shader-描边效果[通俗易懂]

    简介描边效果是游戏里面非常常用的一种效果,一般在选中物体或者NPC的时候,被选中的对象就会显示描边效果。比如最近又跑回去玩了玩《剑灵》,虽然出了三年了,在现在的网游里面画面仍然算很好的。还有就是最常见的LOL中的塔,选中时就会看到很明显的描边效果:

    2022年4月11日
  • pycharm使用小技巧_pycharm学笨办法

    pycharm使用小技巧_pycharm学笨办法一、常用小技巧1.设置代码字体点击左上角的“File”(文件),选择“Settings”(设置),输入“font”(字体)找到“Font”,在“Size”(大小)里面设置数字,默认是13,建议15或者18就可以了。2.设置菜单界面文字大小这里跟上面有些区别,上面是调整代码文字大小,但并没有改变菜单界面的文字大小,如果你的菜单界面文字比较小。那么你就需要去调整一下菜单界面的文字大小了,点击左上角的“File”,选择“Settings”,输入“font”,找到“Appearance”,在“Use

    2022年8月26日
  • 51单片机设计8位抢答器_51单片机八路抢答器原理图

    51单片机设计8位抢答器_51单片机八路抢答器原理图基于51单片机八路抢答器的设计毕业设计(论文)题目:基于51单片机八路抢答器的设计系部:专业:学号:学生姓名:指导教师姓名:指导教师职称:2013年xx月xx日XXXXXXXX学院(论文)I摘要随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使…

    2022年10月20日
  • tcpdump抓包命令详解_tcpdump抓udp包命令详解

    tcpdump抓包命令详解_tcpdump抓udp包命令详解tcpdump

    2022年8月20日
  • 基于HTTP重定向的GSLB工作流程「建议收藏」

    基于HTTP重定向的GSLB工作流程「建议收藏」1.用户向网站的localdns请求域名解析2.localdns向用户返回GSLB设备的ip地址,如果GSLB系统本身有负载均衡,则返回的IP地址就是自身负载均衡后的某台设备的IP地址3.用户向这台GSLB设备发起GET请求,请求该网站的网页的内容.如果网页上有图片,文字,视频则会发起多个HTTP请求4.GSLB设备将综合分析用户ip,内容分布,设备负载,链路状况等实时…

    2022年5月6日
  • 基于Android开发的天气预报app(源码下载)「建议收藏」

    基于Android开发的天气预报app(源码下载)「建议收藏」基于AndroidStudio环境开发的天气app-系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows10系统下进行开发。主要实现了:1、定位城市天气显示;2、城市编辑功能(增、删、改、查)以及对应天气显示信息的改变;3、天气信息的Widget窗口显示(城市的编辑功能可以远程的更新Widget窗口信息的显示)4、下拉刷新、天气显示界面左右滑动、城市拖拽等小模…

    2022年7月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号