算法设计与分析 动态规划/回溯

1.最大子段和

int a[N];
int maxn(int n)
{int temp=a[0];int ans=0;ans=max(temp,ans);for(int i=1;i<n;++i){if(temp>=0){temp+=a[i];}else	temp=a[i];ans=max(temp,ans);}return ans;
}
int main()
{int n,ans=0;cin>>n;for(int i=0;i<n;++i)	cin>>a[i];ans=maxn(n);cout<<ans;return 0;
}

2. 

int main()
{string a,b;cin>>a>>b;if(a.length()>b.length())	swap(a,b);int l1=a.length(),l2=b.length();int start=0,maxn=0;int dp[l2+1][l2+1];for(int i=0;i<l1;++i)	dp[i][0]=0;for(int j=0;j<l2;++j)	dp[0][j]=0;for(int i=1;i<=l1;++i){for(int j=1;j<=l2;++j){if(a[i-1]==b[j-1])	dp[i][j]=dp[i-1][j-1]+1;if(dp[i][j]>maxn){maxn=dp[i][j];start=i-maxn;}}}cout<<maxn<<" ans:"<<a.substr(start,maxn);return 0;
}

 3.

#include<iostream>
#include<stdio.h>
using namespace std;void Knapsack(int n,int c,int *w,int *p){int f[100][100];int i=0,j=0;for(i=1;i<=n;i++){for(j=1;j<=c;j++){f[i][j]=f[i-1][j];if(j>=w[i]){f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+p[i]);}}}cout<<"背包能装的最大价值是:" << f[i-1][j-1] <<endl;
}
int main(){int n;int c;int w[100]; int p[100];cout << "请输入背包容量c:"<< endl;cin >>c;cout <<"请输入物体个数n:"<<endl;cin >>n;for(int i=1;i<=n;i++) {cout<<"请输入物重w["<<i<<"]:"<<endl;cin >> w[i]; }for(int i=1;i<=n;i++) {cout<<"请输入物价p["<<i<<"]:"<<endl;cin >> p[i];}Knapsack(n,c,w,p);}

 4.

typedef struct{char name;float v;float w;float key;
}goods;
int n;vector<goods> g;
float nowweight=0;
float remainweight=10; 
float nowvalue=0;
vector<int> bagG;
float bestV=0;
vector<int> bestS; 
float shangjie=0;
void digui(int k) 
{int i,j=0,maxG;float shangjie=0;if(k>n) {if(nowvalue> bestV){for(int i=0;i<n;i++){bestS[i]=bagG[i];}bestV=nowvalue; } return; }maxG=remainweight/g[k].w;shangjie=nowvalue+(remainweight-nowweight)*g[k].key;if(bestV>=shangjie)return;for(i=maxG;i>=0;i--){if(nowweight+i*g[k].w <=remainweight ){nowweight += i*g[k].w;nowvalue+=i*g[k].v;bagG[k]=i;j=k;if(nowweight==remainweight){for(j++;j<n;j++){bagG[j]=0;}} digui(j+1);nowweight -= i*g[k].w;nowvalue-=i*g[k].v;bagG[k]=0;}}
}int main()
{cin>>n;for(int i=0;i<n;++i){cin>>g[i].name>>g[i].w>>g[i].v;}for(int i=0;i<n;i++)g[i].key= 1.0*g[i].v/g[i].w; for(int i=0;i<n-1;i++){for(int j=0;j<i;j++)if(g[j].key < g[j+1].key ){char tname=g[j].name;g[j].name=g[j+1].name;g[j+1].name=tname;float t=g[j].v;g[j].v=g[j+1].v;g[j+1].v=t;t=g[j].w;g[j].w=g[j+1].w;g[j+1].w=t;t=g[j].key;g[j].key =g[j+1].key ;g[j+1].key =t;}} for(int i=0;i<n;i++){cout<<g[i].name<<endl;}digui(0);cout<<bestV<<endl;for(int i=0;i<n;i++){cout<<g[i].name <<":"<< bestS[i]<<endl;}return 0;
} 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/324339.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【吃透Java手写】4-Tomcat-简易版

【吃透Java手写】Tomcat-简易版-源码解析 1 准备工作1.1 引入依赖1.2 创建一个Tomcat的启动类 2 线程池技术回顾2.1 线程池的使用流程2.2 线程池的参数2.2.1 任务队列&#xff08;workQueue&#xff09;2.2.2 线程工厂&#xff08;threadFactory&#xff09;2.2.3 拒绝策略&…

财务管理|基于SprinBoot+vue的财务管理系统(源码+数据库+文档)

财务管理系统 目录 基于SprinBootvue的财务管理系统 一、前言 二、系统设计 三、系统功能设计 系统功能实现 1管理员功能模块 2员工功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1…

视频批量剪辑指南:一键合并视频并添加背景音乐,高效便捷

在数字化时代&#xff0c;视频剪辑已经成为了一项常见且重要的技能。无论是制作家庭影片、工作展示还是社交媒体内容&#xff0c;掌握高效的视频剪辑技巧都能极大地提升我们的工作效率和创作质量。本文将为您介绍云炫AI智剪中高效的视频批量剪辑方法&#xff0c;让您能够一键合…

在线教程|图灵奖得主Yann LeCun盛赞!小红书开源InstantID,一张原图即可定制多种风格写真

不久前&#xff0c;一群来自小红书的 95 后工程师联合北大团队发布了开源项目「InstantID」&#xff0c;只需上传一张照片&#xff0c;这款 AI 写真神器就能轻松定制多种风格的 AI 写真&#xff0c;告别繁琐修图。 InstantID 一经发布就引起了广泛关注&#xff0c;GitHub 收藏量…

Java实现的网上书店系统(附带完整源码)

作者声明:文章仅供学习交流与参考!严禁用于任何商业与非法用途!否则由此产生的一切后果均与作者 实现技术:JSP技术;javaBean;servlet;MySql数据库。 系统功能结构图 该系统为MVC结构,它的运行环境分客户端、应用服务器端和数据库服务器端三部分 书店系统需求分析: 通过…

通用人工智能AGI,究竟是一个哲学问题还是技术问题?

引言 在探索人工智能的未来方向中&#xff0c;人工通用智能&#xff08;AGI&#xff09;的概念逐渐成为科技领域和哲学探讨的焦点。AGI旨在创建可以执行任何智能任务的机器&#xff0c;甚至在某些方面超越人类的能力。然而&#xff0c;关于AGI的研究不仅仅是技术问题&#xff…

天龙怀旧游戏python脚本

设置图&#xff1a; 游戏窗口最大化。 海贼洞这里定位你要回点的定位。 运行bat就行&#xff0c;脚本出错了还是会重新运行脚本&#xff0c;运行自动启动&#xff0c;end暂停脚本&#xff0c;home重新启动脚本 1. 我常用的是内挂回点脚本&#xff0c; 下面都是前台脚本&…

数据结构与算法学习笔记六-二叉树的顺序存储表示法和实现(C语言)

目录 前言 1.数组和结构体相关的一些知识 1.数组 2.结构体数组 3.递归遍历数组 2.二叉树的顺序存储表示法和实现 1.定义 2.初始化 3.先序遍历二叉树 4.中序遍历二叉树 5.后序遍历二叉树 6.完整代码 前言 二叉树的非递归的表示和实现。 1.数组和结构体相关的一些知…

【React】React-redux多组件间的状态传递

效果&#xff08;部分完整代码在最底部&#xff09;&#xff1a; 编写 Person 组件 上面的 Count 组件&#xff0c;已经在前面几篇写过了&#xff0c;也可以直接翻到最底部看 首先我们需要在 containers 文件夹下编写 Person 组件的容器组件 首先我们需要编写 index.jsx 文件…

基于VOLOPV2的自动驾驶环境感知系统

基于VOLOPV2的自动驾驶环境感知系统是一个复杂的系统&#xff0c;它主要负责实时检测并识别周围环境中的各种物体和信息&#xff0c;为自动驾驶车辆提供必要的感知数据。以下是对该系统的一个简要介绍&#xff1a; 环境感知是自动驾驶系统中的一个关键部分&#xff0c;它依赖于…

AI代理和AgentOps生态系统的剖析

1、AI代理的构成&#xff1a;AI代理能够根据用户的一般性指令自行做出决策和采取行动。 主要包含四个部分&#xff1a; &#xff08;1&#xff09;大模型&#xff08;LLM&#xff09; &#xff08;2&#xff09;工具&#xff1a;如网络搜索、代码执行等 &#xff08;3&#x…

C++学习第二十九课:C++ 输入输出流详解:从基础到高级应用

在 C 中&#xff0c;流&#xff08;stream&#xff09;是一种用于实现输入输出操作的抽象概念。流可以看作是字节的流动&#xff0c;这些字节可以从一个地方流向另一个地方&#xff0c;例如从键盘输入到程序中&#xff0c;或者从程序输出到屏幕。C 提供了一套完整的流库来处理各…

区块链(打新)如何被割韭菜

看上去&#xff0c;像我只要去每个都买一遍新发行的代币&#xff0c;一定可以成功的 但是好像没有想象中这么简单&#xff0c;因为这些山寨币&#xff0c;庄家可以自己控盘的&#xff0c;看上去好像有跌宕起伏的买卖&#xff0c;但是一单掀桌子&#xff0c;庄家他自己都不玩了…

mac 讨厌百度网盘怎么办

一、别拦我 首先请允许我泄个愤&#xff0c;tmd百度网盘下个1g的文件下载速度竟然超不过200k&#xff0c;只要不放在所有已打开软件的最前面&#xff0c;它就给你降到10k以内&#xff0c;关键是你慢就慢了&#xff0c;我也不是很着急&#xff0c;关键是你日常下载失败并且总是…

Ubuntu18.04--虚拟机配置Samba并从Windows登录

前言&#xff1a; 本文记录我自己在Windows上安装 Virtualbox &#xff0c;并在Virtualbox中安装 Ubuntu-18.04 虚拟机&#xff0c;在Ubuntu-18.04虚拟机里安装配置Smaba服务器&#xff0c;从 Windows 宿主系统上访问虚拟机共享samba目录的配置命令。 引用: N/A 正文 虚拟…

鸿蒙OpenHarmony开发板解析:【特性配置规则】

特性 特性配置规则 下面介绍feature的声明、定义以及使用方法。 feature的声明 开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 在部件的bundle.json文件中通过feature_list来声明部件的feature列…

【栈】Leetcode 验证栈序列

题目讲解 946. 验证栈序列 算法讲解 在这里就只需要模拟一下这个栈的出栈顺序即可&#xff1a;使用一个stack&#xff0c;每次让pushed里面的元素入栈&#xff0c;如果当前栈顶的元素等于poped容器中的当前元素&#xff0c;因此就需要让栈顶元素出栈&#xff0c;poped的遍历…

W801学习笔记二十二:英语背单词学习应用——下

续上篇&#xff1a; W801学习笔记二十一&#xff1a;英语背单词学习应用——上 五、处理用户交互 由于英语也是采用了和唐诗一样的《三分钟限时挑战》《五十题竞速挑战》《零错误闯关挑战》&#xff0c;所以用户交互的逻辑和唐诗是一样的。所以&#xff0c;我们抽一个基类&a…

Java入门基础学习笔记7——Intellij IDEA开发工具概述、安装

之前的开发工具存在一些问题&#xff1a; 文本编辑工具&#xff1a;记事本、NotePad、EditPlus、Sublime...编写代码的时候没有错误提醒、没有智能代码提示、需要自己进行编译、执行、功能不够强大。 集成开发环境&#xff08;IDE&#xff1a;Integrated Development Environm…

SQL注入(sqli-labs第一关)

sqli-labs第一关 方法一&#xff1a;手工注入 来到第一关&#xff0c;图上说我们需要一个数字的参数 于是我们先手工注入?id1 and 11 跟?id1 and 12发现页面没有报错 每张截图上面页面中有select查询语句&#xff0c;这是我在第一关的源码中加上了echo "$sql ";…