当前位置: 首页 > news >正文

天津做网站的公司有哪些5118关键词工具

天津做网站的公司有哪些,5118关键词工具,做平台网站产品上传,网站建设 功能需求引入 支付问题 假设有无限多的硬币,硬币面值为1,5,11。现在需要支付15元,问最少使用的硬币数? 贪心策略:1511*11*4,145 真正的答案153*5 3 dp的两个性质 最优子结构无后效性 dp的两大要素 1.状态2.状态转移方程 思路…

引入

支付问题


假设有无限多的硬币,硬币面值为1,5,11。现在需要支付15元,问最少使用的硬币数?
贪心策略:15=11*1+1*4,1+4=5
真正的答案15=3*5   3

dp的两个性质

  • 最优子结构
  • 无后效性

dp的两大要素

  • 1.状态
  • 2.状态转移方程

思路
1.状态 dp[i]--支付i元所用的最小方案数
2.状态转移方程 dp[i]=min{dp[i-11],dp[i-5],dp[i-1]}+1

代码实现

/*
状态f(w)支付w元所用的最少的硬币的数量
求f(15)
1.先选11元的:f(4)+1=5
2.先选5元的:f(10)+1=3
3.先选1元的:f(14)+1=5
f(15)=min{f(4)+1,f(10)+1,f(14)+1}求f(15)=min{f(4)+1,f(10)+1,f(14)+1}
求f(14)=min{f(3)+1,f(9)+1,f(13)+1}
求f(11)=min{f(0)+1,f(6)+1,f(10)+1}f(i)=min{f(i-11),f(i-5),f(i-1)}+1
*/
#include<iostream>
using namespace std;
const int N=1e4+10;
int dp[N];
int main()
{int w; cin >> w;//支付金额int mi = 0x3f3f3f3f;//最小方案数字//时间复杂度O(n)for (int i = 1; i <= w; i++)//注意下标{if (i >= 1) mi= min(mi,dp[i - 1])+1;if (i >= 5) mi= min(mi,dp[i - 5])+1;if (i >= 111) mi= min(mi,dp[i - 11])+1;dp[i] = mi;//打印dp表cout << "dp[" << i << "]=" << dp[i] << endl;}cout << dp[w] << endl;return 0;
}

二维格子问题

小明要回家,必须从左上角出发,回到右下角的家,每次向右或者向下走,每个点的值都代表体力消耗,从起点到家,最少体力开销

1 2 5

8 3 9

7 4 6

dp

  • 1.状态 dp[i][j] 从起点(1,1)到(i,j)点最小体力花费
  • 2.状态转移方程 dp[i][j]=min{dp[i-1][j],dp[i][j-1]}+a[i][j]
#include<iostream>
using namespace std;
const int N=1e3+10;
int dp[N][N];
int a[N][N];//存体力
int main()
{int n; cin >> n;for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)cin >> a[i][j];//边界单独处理//行for (int j = 1; j <= n; j++)dp[1][j] = dp[1][j - 1] + a[1][j];//列for (int i = 1; i <= n; i++)dp[i][1] = dp[i-1][1] + a[i][1];for (int i = 2; i <= n; i++)for (int j = 2; j <= n; j++)dp[i][j] = min(dp[i - 1][j], dp[i][j-1]) + a[i][j];//dp表for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){cout << dp[i][j] << "\t";}cout << endl;}cout << dp[n][n] << endl;return 0;
}

1288:三角形最佳路径问题

【题目描述】

如下所示的由正整数数字构成的三角形:

7 
3 8 
8 1 0 
2 7 4 4 
4 5 2 6 5

从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。

注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。

【输入】

第一行为三角形高度100≥h≥1,同时也是最底层边的数字的数目。

从第二行开始,每行为三角形相应行的数字,中间用空格分隔。

【输出】

最佳路径的长度数值。

【输入样例】

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

【输出样例】

30
#include<iostream>
using namespace std;
const int N=1e2+10;
int dp[N][N], a[N][N], h, mx;//dp[i][j]:从(1,1)到(i,j)的所有路径中,数字加和最大的路径的数字加和。
int main()
{cin >> h;for (int i = 1; i <= h; ++i)for (int j = 1; j <= i; ++j)cin >> a[i][j];for (int i = 1; i <= h; ++i)for (int j = 1; j <= i; ++j)dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - 1]) + a[i][j];for (int j = 1; j <= h; ++j)//求从(1,1)到第h行某位置路径上数字加和的最大值mx = max(mx, dp[h][j]);for (int i = 1; i <= h; ++i){for (int j = 1; j <= i; ++j){cout << dp[i][j] << " ";}cout << endl;}cout << mx;return 0;
}

 

 

http://www.hkea.cn/news/494566/

相关文章:

  • 网站运营者网址发稿平台
  • 内蒙古网站制作公司拼多多网店代运营要多少费用
  • 免费网站建设协议baike seotl
  • 做网站的好处和坏处怎么创建自己的网址
  • 兰州新区城乡建设局网站seo sem是什么职位
  • 衡水网站制作公司自媒体软文发布平台
  • 东莞圆心科技网站开发网页搜索
  • 日照网站建设价格百度推广怎么优化关键词的质量
  • 竭诚网络网站建设开发百度搜索竞价推广
  • 浙江住房和城乡建设厅报名网站下拉关键词排名
  • 银川哪里做网站百度网址名称是什么
  • 合肥公司网站建设价格低西安网络科技公司排名
  • 怎么样建设个人网站企业文化建设
  • 如何知道网站有没有备案成都seo公司
  • wordpress 艺术主题南京网络优化公司有哪些
  • 贵阳网站备案百度网站优化方案
  • 单位网站建设论文怎么做竞价托管
  • 建筑公司网站有哪些谈谈自己对市场营销的理解
  • 做ppt音乐怎么下载网站企业培训课程有哪些
  • magento网站建设网站优化排名软件网站
  • 做生鲜食品最好的网站网络推广及销售
  • 销售管理系统需求分析长沙seo代理
  • 站长网站查询深圳百度关键字优化
  • 用net语言做网站平台好不好企业培训师资格证报考2022
  • 成都定制网站设竞价推广遇到恶意点击怎么办
  • 制作视频网站建设友链交易网
  • 做外贸是不是要有网站腾讯企点app下载安装
  • 网站开发快递文件国外网站怎么推广
  • 网站和搜索引擎站长论坛
  • 做违法网站会怎样外贸独立站怎么建站