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

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.mzph.cn/diannao/9814.shtml

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

相关文章

H5 处理点击元素高亮、自定义按钮、去除焦点边框

1、设置移动设备上点击元素时出现的高亮颜色 *{-webkit-tap-highlight-color: transparent; }2、如果你想要自定义按钮的样式&#xff0c;你可以使用 -webkit-appearance: none; 来移除按钮的默认样式 .button {-webkit-appearance: none;appearance: none; /* 兼容性更好的通…

光检测器——光纤通信学习笔记七

光检测器 光检测器的基本介绍 作用&#xff1a;把接受到的光信号转换成电信号 光接收器的灵敏度、光源的发光功率和光纤的损耗三者决定了光纤通信的传输距离&#xff1b; 光电二极管 光电转换的基本原理 之前提到&#xff0c;PN结由于内部载流子的扩散运动形成了内部电场&…

Hive Windows Functions 窗口函数

Hive Windows Functions 窗口函数 在 Hive 中&#xff0c;窗口函数&#xff08;Window Functions&#xff09;用于在查询结果中执行聚合、排序和分析操作&#xff0c;而无需将数据分组。窗口函数允许你在查询结果中的一组行上执行计算&#xff0c;而不会改变原始数据的行数&am…

Vue3知识总结-1

前面学习一段时间的前端&#xff0c;但是没有进行过太多的练习&#xff0c;并且对于里面一些重要的知识点也没有去着重的记忆&#xff0c;所以打算在学习Vue3的时候&#xff0c;做一些笔记&#xff0c;方便后面翻看。这个笔记会对于学习一些做一些&#xff0c;而不是一个整体的…

前端之深拷贝

前提&#xff1a; 就是在实际开发中&#xff0c;我有一个编辑的弹窗&#xff0c;可以查看和编辑&#xff0c;因为弹窗里面是一个步骤条&#xff0c;点击下一步就要向对应的接口发送请求&#xff0c;考虑到就比如我点击下一步&#xff0c;此次表箱信息其实不需要修改&#xff0…

推荐 6 个超好用的 iterm2 zsh 插件

大家好啊&#xff0c;今天给大家分享几个我日常使用的 iterm2 插件&#xff0c;每一个都很有用&#xff0c;希望能给帮助你提高使用命令行的效率&#xff5e; zsh-autosuggestions 插件地址&#xff1a;https://github.com/zsh-users/zsh-autosuggestions 效果展示 当你输入…

AI中转站计费平台系统源码一站式解决方案安装说明

AI中转站计费平台系统源码一站式解决方案安装说明 功能 | Features AI 联网功能 AI online searching service 多账户均衡负载 Multi-account load balancing HTTP2 Stream 实时响应功能 HTTP2 Stream real-time response function 节流和鉴权体系 Throttling and authenticati…

【17-Ⅱ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础&#xff0c;通过阅读Java廖雪峰网站&#xff0c;简单速成了java&#xff0c;但对其中一些入门概念有所疏漏&#xff0c;阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

开源代码分享(28)-含分布式光伏的配电网集群划分和集群电压协调控制

参考文献&#xff1a; [1] Chai Y , Guo L , Wang C ,et al.Network Partition and Voltage Coordination Control for Distribution Networks With High Penetration of Distributed PV Units[J].IEEE Transactions on Power Systems, 2018:3396-3407.DOI:10.1109/TPWRS.2018…

基于微信小程序的校园二手交易平台设计与实现(论文+源码)_kaic

基于微信小程序的校园二手交易平台 设计与实现 摘 要 随着绿色低碳消费和循环经济的理念越来越深入人心,大学生二手商品市场发展迅猛&#xff0c;而大部分二手交易平台运输方式与收售方式对于大学生用户群体并不适用&#xff0c;所以急需一款针对大学生二手商品交易的软件&…

搜索的未来:OpenAI 的 GPT 如何彻底改变行业

搜索的未来&#xff1a;OpenAI 的 GPT 如何彻底改变行业 概述 搜索引擎格局正处于一场革命的风口浪尖&#xff0c;而 OpenAI 的 GPT 处于这场变革的最前沿。最近出现了一种被称为“im-good-gpt-2-chatbot”的神秘聊天机器人&#xff0c;以及基于 ChatGPT 的搜索引擎的传言&am…

WebSocket基础知识

WebSocket是什么&#xff1f; WebSocket 是一种网络通信协议&#xff0c;它提供了全双工通信机制&#xff0c;允许服务器主动向客户端发送消息&#xff0c;而不仅限于响应客户端的请求。它使用类似于 HTTP 的握手来建立连接&#xff0c;然后使用单独的持久连接来进行通信。这种…

kubernetes删除命名空间下所有资源

kubernetes强制删除命名空间下所有资源 在 Kubernetes 中&#xff0c;当一个命名空间处于 Terminating 状态但不会完成删除过程时&#xff0c;通常是因为内部资源没有被正确清理。要强制删除这个命名空间及其所有资源&#xff0c;你可以采取以下步骤&#xff1a; 1. 确认命名空…

cPanel中如何卸载已安装的SSL证书

我使用的Hostease的Linux虚拟主机产品默认带普通用户权限的cPanel面板&#xff0c;由于临时搭建了一个测试的个人的纯静态的网站&#xff0c;不想要安装SSL证书&#xff0c;但是据这边了解HosteaseLinux虚拟主机是只要域名解析指向主机IP&#xff0c;并且绑定到主机&#xff0c…

中国地面气候资料日值数据获取方式

数据简介 环境气象数据服务平台提供了全国大约2100个点位&#xff0c;2000年至2023年的逐日数据。包括气温、气压、湿度、风、降水等要素。 数据基于ECMWF reanalysis-era5-land、reanalysis-era5-single-levels 以及中国2100站点地面气候资料日值观测数据&#xff0c;使用机器…

BBS客户端服务器的编写

根据网络编程中的内容&#xff0c;我们本篇文章将讲解一个bbs通信的项目&#xff0c;首先让我们了解一下什么是bbs. 一、bbs介绍 BBS&#xff0c;即Bulletin Board System的缩写&#xff0c;中文译为“电子公告板系统”或“网络论坛”。它是一个在网络上进行信息交流和讨论的…

Java解决垂直鉴权问题(对垂直权限进行校验)

Java解决垂直鉴权问题&#xff08;对垂直权限进行校验&#xff09; 文章目录 Java解决垂直鉴权问题&#xff08;对垂直权限进行校验&#xff09;前言一、垂直鉴权是什么&#xff1f;二、实现过程1.新建接口权限菜单映射表2.项目初始化时加载接口菜单映射关系3.自定义过滤器拦截…

[C++][数据结构]哈希2:开散列/哈希桶的介绍和简单实现

前言 接着上一篇文章&#xff0c;我们知道了闭散列的弊端是空间利用率比较低&#xff0c;希望今天学习的开散列可以帮我们解决这个问题 引入 开散列法又叫链地址法(开链法)&#xff0c;首先对关键码集合用散列函数计算散列地址**&#xff0c;具有相同地址的关键码归于同一子…

latex algorithm2e 库学习总结

案例1 \documentclass{article}\usepackage{xeCJK} \usepackage[]{algorithm2e} %\usepackage{ctex} % 中文包\begin{document}\renewcommand{\algorithmcfname}{算法} % 把标题设置为“算法” \begin{algorithm…

云衔科技成为卓豪Zoho中国区代理商,开启智能化企业管理新篇章

每一家企业数字化转型&#xff0c;都在寻求通过技术创新实现业务的飞跃。为了更好地服务于中国企业的数字化转型需求&#xff0c;云衔科技荣幸宣布正式成为卓豪Zoho中国区代理商&#xff0c;这一强强联合将为市场带来全新的数字化解决方案与服务体验&#xff0c;共同开启中国企…