hdu-5569matrix(dp)
2024-08-24 00:31:57
http://acm.hdu.edu.cn/showproblem.php?pid=5569;
题目意思:
从(1,1)点出发只能向右和向下走,到达(n,n)点时所得到的价值最小,
价值是Let the numbers you go through become an array a1,a2,...,a2k. The cost is a1∗a2+a3∗a4+...+a2k−1∗a2k,每个
格都有相应的价值ak.
思路:dp,状态转移方程是如果(i+j)%2==1-- dp[i][j]=min(dp[i-1][j]+a[i][j]*a[i-1][j],dp[i][j-1]+a[i][j-1]*a[i][j]);
如果(i+j)%2==0--dp[i][j]=min(dp[i-1][j],dp[i][j-1]);
1 #include<stdio.h>
2 #include<algorithm>
3 #include<iostream>
4 #include<string.h>
5 #include<stdlib.h>
6 typedef long long LL;
7 LL dp[1005][1005];
8 LL a[1005][1005];
9 using namespace std;
10 int main(void)
11 {
12 int n,i,j,k,p,q;
13 while(scanf("%d %d",&p,&q)!=EOF)
14 {
15 for(i=1; i<=p; i++)
16 {
17 for(j=1; j<=q; j++)
18 {
19 scanf("%lld",&a[i][j]);
20 }
21 }
22 memset(dp,0,sizeof(dp));
23 for(i=1; i<=p; i++)//初始化边界当j为1时,dp[i][j]只能从dp[i-1][1]转移而来
24 {
25 if((i+1)%2==1)
26 {
27 dp[i][1]=dp[i-1][1]+a[i][1]*a[i-1][1];
28 }
29 else dp[i][1]=dp[i-1][1];
30 }
31
32 for(i=1; i<=q; i++)//初始化边界当i为1时,dp[i][j]只能从dp[1][j-1]转移而来
33 {
34 if((i+1)%2==1)
35 {
36 dp[1][i]=dp[1][i-1]+a[1][i-1]*a[1][i];
37 }
38 else dp[1][i]=dp[1][i-1];
39 }
40 for(i=2; i<=p; i++)
41 {
42 for(j=2; j<=q; j++)
43 {
44 if((i+j)%2==1)
45 dp[i][j]=min(dp[i-1][j]+a[i][j]*a[i-1][j],dp[i][j-1]+a[i][j-1]*a[i][j]);
46 else dp[i][j]=min(dp[i-1][j],dp[i][j-1]);
47 }
48 }
49 printf("%d\n",dp[p][q]);
50 }
51 return 0;
52 }
最新文章
- 久违的问候-----eclipse中搭建maven项目2016年
- 错误: 程序包com.sun.istack.internal不存在
- Codeforces 676C Vasya and String(尺取法)
- 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计
- Maven Learning - Direct Dependencies &; Transitive Dependencies
- Jython概要
- 动态规划(斜率优化):[CEOI2004]锯木厂选址
- /users/products.:format 这种写法的其对应解析字符写法
- iview menu组件手动收起与展开
- MySQL Backup myloader
- 6-1 平衡的括号 uva673
- 对于pycharm和vscode下,从外部复制文本内容为python字符串内容是会自动加\u202a解决办法
- c语言gets()函数与它的替代者fgets()函数
- MPD大会北京上海两站圆满落幕
- Oracle 函数 “数据控制,指定某些人只能查看他权限范围内的信息”
- openstack 的horizon的结构
- mongo数据库基本操作--python篇
- Android编程实用代码合集
- c语言数据结构学习心得——队列
- vim常用操作整理
热门文章
- 日常Java 2021/9/27
- flink---实时项目--day01--1. openrestry的安装 2. 使用nginx+lua将日志数据写入指定文件中 3. 使用flume将本地磁盘中的日志数据采集到的kafka中去
- 4.2 rust 命令行参数
- java面试--(生成随机数,获取重复次数最多,并且数是最大的一个,打印出来)
- 【编程思想】【设计模式】【行为模式Behavioral】中介者模式Mediator
- VectorCAST - 通过确保测试的完整性控制产品质量
- 启动Springboot 报错 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sat Jan 12 15:50:25 CST 2019 There was an unexpected error (type=Not
- show_slave_status参数详解
- centos添加本地yum源
- 【紧急】Log4j又发新版2.17.0,只有彻底搞懂漏洞原因,才能以不变应万变,小白也能看懂