天河网站建设平台湖南智能网站建设报价

张小明 2026/1/2 21:03:12
天河网站建设平台,湖南智能网站建设报价,wordpress 用户密码的加密算法,贵阳市房地产交易平台上线本周主要对动态规划进行了初步的学习并在力扣上进行了练习内容我认为动态规划有两大要点1.找到相应的递推公式。 2.找到i#xff0c;j#xff0c;dp[i][j]的含义。 在其中有 63.不同路径IIint** inidp(int n, int m, int** obstacleGrid){int** dp (int**)malloc(m * sizeof…本周主要对动态规划进行了初步的学习并在力扣上进行了练习内容我认为动态规划有两大要点1.找到相应的递推公式。2.找到ijdp[i][j]的含义。在其中有63.不同路径IIint** inidp(int n, int m, int** obstacleGrid){ int** dp (int**)malloc(m * sizeof(int*)); for(int i 0;i m;i){ dp[i] (int*)malloc(n * sizeof(int)); } for(int i 0;i m;i){ dp[i][0] 0; } for(int i 0;i n;i){ dp[0][i] 0; } for(int i 0;i m;i){ if(obstacleGrid[i][0])break; dp[i][0] 1; } for(int i 0;i n;i){ if(obstacleGrid[0][i])break; dp[0][i] 1; } return dp; } int uniquePathsWithObstacles(int** obstacleGrid, int obstacleGridSize, int* obstacleGridColSize) { int n *obstacleGridColSize; int m obstacleGridSize; if(obstacleGrid[0][0] 1 || obstacleGrid[m - 1][n - 1] 1)return 0; int** dp inidp(n,m,obstacleGrid); for(int i 1;i m;i){ for(int j 1;j n;j){ if(obstacleGrid[i][j]){ dp[i][j] 0; continue; } dp[i][j] dp[i - 1][j] dp[i][j - 1]; } } return dp[m - 1][n - 1]; }是典型的应用在这其中明白障碍点的路径数为0第一行列的路径数为1若障碍在第一行列时自障碍以后的全是0到达非第一行列的路径是其上面的路径数 左边的路径数。其中i代表的是行j代表列dp[i][j]代表该点的路径数便大概可以做出本题01背包问题二维#includestdio.h #includestdlib.h int max(int a, int b){ return (a b)?a:b; } int main(){ int n, m, i, j; scanf(%d %d,n,m);//n 为物品数量 m 为背包容量 。 int a[n], b[n]; for(i 0;i n;i){ scanf(%d,a[i]); } for(i 0;i n;i){ scanf(%d,b[i]); } int** dp (int**)malloc(n * sizeof(int*)); for(i 0;i n;i){ dp[i] (int*)malloc((m 1) * sizeof(int));//因为有 背包容量为 m 则会有[0—m]个位置因此要m1. } //全部初始化为0 。 for(i 0;i n;i){ for(j 0;j m;j){ dp[i][j] 0; } } //将第一个物品所代表的行填满当背包容量j 物品质量a[0]时将第一个物品的价值填入。 for(j 0;j m;j){ if(j a[0]) dp[0][j] b[0]; } for(i 1;i n;i){ for(j 0;j m;j){ if(j a[i])dp[i][j] dp[i - 1][j];//若当前物品质量背包容量则将上一个物品的价值填入若上一个也不满足则会继续往上倘若没有合适的则会为0 else{ //若当前物品质量背包容量则会将会为 上一个物品的价值 和 当前物品的价值 上一个物品在背包容量为 当前背包容量 - 当前物品质量时的价值 的最大值。 dp[i][j] max(dp[i-1][j],dp[i - 1][j - a[i]] b[i]); } } } printf(%d,dp[n - 1][m]); return 0; }其要点在注释中已写背包问题的的递推公式为dp[i-1][j],dp[i - 1][j - a[i]] b[i]。01背包问题一维#includestdio.h #includestdlib.h int max(int a,int b){ return (a b)? a : b; } int main(){ int n, m, i, j; scanf(%d %d,n,m); int a[n], v[n]; for(i 0;i n;i){ scanf(%d,a[i]); } for(i 0;i n;i){ scanf(%d,v[i]); } int* dp (int*)malloc((m 1) * sizeof(int)); for(i 0;i m;i){ dp[i] 0; } for(i 0;i m;i){ if(i a[0]){ dp[i] v[0]; } } for(i 1;i n;i){ for(j 0;j m;j){ if(j a[i]); else{ dp[j] max(dp[j],dp[j - a[i]] v[i]); } } } printf(%d,dp[m]); return 0; }相比于二维而言一维的差异在递推公式dp[j] max(dp[j],dp[j - a[i]] v[i]其中01背包的类型我目前见过三种1.返回正误416.分割等和子集int max(int a, int b){ return (a b)? a : b; } bool canPartition(int* nums, int numsSize) { int sum 0; for(int i 0;i numsSize;i){ sum nums[i]; } if(sum % 2){ return false; } int mid sum / 2; int* dp (int*)malloc((mid 1) * sizeof(int)); for(int i 0;i mid;i){ dp[i] 0; } for(int i 0;i mid;i){ if(i nums[0]){ dp[i] nums[0]; } } for(int i 1;i numsSize;i){ for(int j mid;j nums[i];j--){ if(j nums[i]); else{ dp[j] max(dp[j],dp[j - nums[i]] nums[i]); } } } return dp[mid] mid; }2.返回数int max(int a, int b){ return (a b)? a : b; } int lastStoneWeightII(int* stones, int stonesSize) { int sum 0; for(int i 0;i stonesSize;i){ sum stones[i]; } int mid sum / 2; int* dp (int*)calloc((mid 1) , sizeof(int)); for(int i 0;i mid ; i){ if(i stones[0]){ dp[i] stones[0]; } } for(int i 1;i stonesSize;i){ for(int j mid;j stones[i];j--){ if(j stones[i]){ dp[j] max(dp[j],dp[j - stones[i]] stones[i]); } } } int n sum - 2 * dp[mid]; return n; }3.返回数组数int max(int a, int b){ return (a b)? a : b; } int findMaxForm(char** strs, int strsSize, int m, int n) { int dp[m1][n1]; memset(dp,0,sizeof(int) * (n1) * (m1)); for(int k 0;k strsSize;k){ int n1 0; int n0 0; char* str strs[k]; while(*str ! \0){ if(*str 0){ n0; }else{ n1; } str; } for(int i m;i n0;i--){ for(int j n;j n1;j--){ dp[i][j] max(dp[i][j],dp[i - n0][j - n1] 1); } } } return dp[m][n]; }这三种的应用主要是在于对题目的理解以及dp数组的含义和递推公式总结动态规划的内容很多我现在只能对其部分进行应用
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

在西部数码上再备案一个网站ftp顶呱呱代理建设网站

1.hash取余算法 设有N个分⽚,使⽤[0,N-1]这样序号进⾏编号. 针对某个给定的key,先计算hash值,再把得到的结果%N,得到的结果即为分⽚编号. 举例:N为3.给定key为hello,对hello计算hash值(⽐如使⽤md5算法),得到的结果为bc4b2a76b9719d91 ,再把这个结果%3,结果为0,那么…

张小明 2026/1/1 0:14:41 网站建设

网站空间服务站电话网站常用的蓝色

PyFluent自动化仿真:从手动操作到智能工程的范式转变 【免费下载链接】pyfluent 项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent 在传统的CFD仿真工作流中,工程师往往需要花费大量时间在重复性的GUI操作上:点击菜单、设置参…

张小明 2025/12/26 4:42:18 网站建设

奉贤网站建设公司html5网站开发需要框架吗

在使用 Flink SQL 进行实时数据处理的过程中,双流 Join 是非常常见的操作之一。典型的场景包括分析广告效果(曝光流订单流实时关联)、实时推荐(点击流和商品信息)等等。然而,双流 Join 需要在状态中维护两侧…

张小明 2025/12/25 15:43:21 网站建设

建设电子商务网站的基本步骤织梦dede建站教程视频

技术干货与开源许可知识整合 1. LDAP Account Manager(LAM)相关 LAM 是一款实用的管理工具,但它也有一些可能会让用户感到困扰的地方。例如,LAM 不允许创建包含大写字符或空格的 Windows 用户和组账户,尽管底层的 UNIX/Linux 操作系统处理这些字符可能并无问题。由于在默…

张小明 2025/12/25 12:16:00 网站建设

滨州做网站的公司可以做业务推广的网站有哪些内容

ComfyUI与GitHub Actions集成:自动化测试与部署 在AI生成内容(AIGC)迅速普及的今天,越来越多开发者和创意团队开始依赖Stable Diffusion等模型进行图像、视频乃至交互式内容的生产。然而,随着工作流日益复杂——从文本…

张小明 2025/12/25 11:50:41 网站建设

国外论文类网站有哪些方面还原wordpress

本地运行大模型不再是梦:Anything-LLM本地化部署教程在企业知识管理日益复杂的今天,一个现实问题反复浮现:我们拥有海量的合同、制度文档和项目资料,却总是“知道它存在,但找不到具体内容”。更令人担忧的是&#xff0…

张小明 2025/12/26 6:05:37 网站建设