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

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

大家好,又见面了,我是全栈君,今天给大家准备了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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XML格式化工具_u盘格式化恢复工具

    XML格式化工具_u盘格式化恢复工具做接口开发的时候,往往接受参数或返回值是一个XML的字符串。如下图,不方便辨识两种方法,1.将它保存为xxx.xml,然后用浏览器打开。这种方法稍微有些麻烦。2.使用UltraEdit工具

    2022年8月4日
    7
  • Oracle ORA-01017 报错处理

    Oracle ORA-01017 报错处理Oracle ORA-01017报错处理背景: 通过toad连接Oracle11gRAC数据库是,发现通过sys用户连接总是报ORA-01017错误,tnsping连接名称是通的,其他用户连接是正常的,反复输入sys账户信息,总提示:1.尝试改sys用户密码,重试报错依旧。 2.使用sys登录GC,报错相同。使用普通用户登录正常。 3.数据库服务器上使用sqlplus

    2022年5月31日
    707
  • noip2018提高组初赛解析_noip小学组

    noip2018提高组初赛解析_noip小学组【问题简述】给定一个数n表示教室数接下来n个数r[i],表示每天可以借用的教室数量。有m份订单,每份订单有三个数d[i],s[i],t[i]。表示从S[i]天到t[i]天,借用d[i]个教室。现在询问能否满足所有订单。如果能,则输出0不能,则输出-1,换行输出最早不能满足的订单。【输入样例】432543213324424…

    2022年8月22日
    11
  • 【转载】细聊冗余表数据一致性(架构师之路)

    【转载】细聊冗余表数据一致性(架构师之路)

    2021年11月20日
    38
  • 最新面试题汇总(附带答案)【建议看看】

    最新面试题汇总(附带答案)【建议看看】1.性能测试关注的指标是什么?从外部看,性能测试主要关注如下三个指标:吞吐量:每秒钟系统能够处理的请求数、任务数响应时间:服务处理一个请求或一个任务的耗时错误率:一批请求中结果出错的请求所占比例从服务器的角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等。2.性能测试怎么做的?/如果你要进行性能测试,你是如何展开操作的?1.确定关键业务,关键路径;2.确定测试的关键数据。比如并发量,响应时间,循环次数等;3.准备测试环境,完成脚本录制或脚本开发;4.执行测试,观察或监控

    2022年9月27日
    2
  • 后台 管理 系统

    后台 管理 系统课程/视频管理系统:https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb1nO3pa&ft=t&id=643539140484教务管理系统:https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb1nO3pa&ft=t&id=643539140484成绩管理系统:https://item.taobao.com/item.h

    2022年4月25日
    42

发表回复

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

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