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

专业手机网站建设多少钱普通小程序开发者工具

专业手机网站建设多少钱,普通小程序开发者工具,滨州公司网站建设推广,wordpress文章类型查询DP&#xff08;动态规划&#xff09;全称Dynamic Programming&#xff0c;是运筹学的一个分支&#xff0c;是一种将复杂问题分解成很多重叠的子问题、并通过子问题的解得到整个问题的解的算法。 在动态规划中有一些概念&#xff1a; n<1e3 [][] &#xff0c;n<100 [][][…

DP(动态规划)全称Dynamic Programming,是运筹学的一个分支,是一种将复杂问题分解成很多重叠的子问题、并通过子问题的解得到整个问题的解的算法。

在动态规划中有一些概念:
n<=1e3 [][] ,n<=100 [][][]
状态:就是形如dp[i][j]= val的取值,其中i,j为下标,也是用于描述、确定状态所需的变量,val为状态值。
状态转移:状态与状态之间的转移关系,一般可以表示为一个数学表达式,转移方向决定了迭代或递归方向。
最终状态:也就是题目所求的状态,最后的答案

1.确定状态,一般为“到第i个为止,xx为j(xx为k)的方案数/最小代价/最大价值”可以根据数据范围和复杂度来推理。
2.确定状态转移方程,即从已知状态得到新状态的方法,并确保按照这个方向一定可以正确地得到最终状态。
根据状态转移的方向来决定使用选代法还是递归法记忆化。
3.确定最终状态并输出。

数字三角形

蓝桥杯数字三角形
在这里插入图片描述
在这里插入图片描述
思路:可以用 dp也可以用动态规划,计算最大和,再判断向下和向右操作不大于 1。

  • 动态规划
    O(n^3)
#include<bits/stdc++.h>
using namespace std;
const int N = 1e2 +5;
int n,a[N][N],dp[N][N][N];int main(){memset(dp,-0x3f,sizeof(dp));cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)cin>>a[i][j];dp[1][1][0] = a[1][1];for(int i=2;i<=n;i++)for(int j=1;j<=i;j++){for(int k=0;k<=n-1;k++){if(!k)dp[i][j][k] = dp[i-1][j-1][k] + a[i][j];else dp[i][j][k] = max(dp[i-1][j-1][k],dp[i-1][j][k-1]) + a[i][j];}}int ans=0;if((n-1)&1) for(int j=1;j<=n;j++) ans = max(ans,max(dp[n][j][(n-1)/2+1],dp[n][j][(n-1)/2]));else for(int j=1;j<=n;j++) ans = max(ans,dp[n][j][(n-1)/2]);cout<<ans<<'\n';return 0;
}

思路:由于最后的位置是有规律的,所以直接用[][]就行。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e2 +5;
int n,a[N][N],dp[N][N];int main(){cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)cin>>a[i][j];dp[1][1] = a[1][1];for(int i=2;i<=n;i++)for(int j=1;j<=i;j++)dp[i][j] = max(dp[i-1][j-1],dp[i-1][j]) + a[i][j];if((n-1)&1)cout<<max(dp[n][(n-1)/2+1],dp[n][(n-1)/2+1+1]);else cout<<dp[n][(n-1)/2+1];return 0;
}

思路:用 DFS,代码结果不对,不知道为什么

#include<bits/stdc++.h>
using namespace std;
const int N = 1e2+10;
int a[N][N],res[N][N],n;int dfs(int i,int j){if(res[i][j])return res[i][j];if(i==n){if(n%2==0&&(j==(n-1)/2+1||j==(n-1)/2+1+1))return a[i][j];if(n%2==1&&j==(n-1)/2+1)return a[i][j];return -10000000;}return res[i][j] = max(dfs(i+1,j),dfs(i+1,j+1))+a[i][j];
}int main( ){cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)cin>>res[i][j];cout<<dfs(1,1)<<'\n';return 0;
}
http://www.yayakq.cn/news/379051/

相关文章:

  • 北京网站制作飞沐成立公司后需要做的事情
  • 淄博网站建设公司青岛seo软件
  • 九江网站建设张旭wordpress图片cdn
  • 静态网站上下篇代码电脑上多了个wordpress
  • 常州网站推广个人网站建设开题报告
  • 网站排名怎么做个人网页设计作品html文件夹
  • 东胜网站制作珠海市住房和城乡建设厅网站
  • 贵阳有做网站的公司吗?冬奥会建设官方网站
  • 网站导航漂浮代码农产品网站开发 文献综述
  • 做网站的贴吧网站建设的运用场景
  • 公司网站建设文章网络运营有前途吗
  • 网站建设平台哪个公司好wordpress评论框添加表情评论
  • 天河建设网站企业公关策划网站建设
  • 昆山网站建设义搏甘肃住房和城乡建设厅网站
  • 因酷西安网站建设公司怎么样wordpress 5.0文章编辑教程
  • 深圳网站建设 排行榜wordpress前端用户中心开发
  • 卓商网站建设品牌创意网站建设
  • 查询网站whois做图片的软件带字图片
  • 网站怎么做备案号超链接建设工程规划许可证查询网站
  • 北京网站建设最好公司一般通过逸民
  • 手机网站 优化一台虚拟主机能建设几个网站
  • 定制型网站设计价格网络营销的特点包含
  • 企业网站托管后果软件开发报价明细
  • 内网网站搭建教程应用软件app
  • 网站建设php心得体会给一个网站风格做定义
  • 电商视觉设计是干什么的广州seo网站
  • 建设网站费用预算网站项目如何做需求分析报告
  • 中国建设银行网站登录不了php开源订单管理系统
  • 常州做网站信息怎样做手机网站建设
  • soso网站提交入口网站改版 价格