题目传送门

 1 /*
 2     题意:已知起点(1,1),终点(n,m);从一个点水平或垂直走到相邻的点距离+1,还有k个抄近道的对角线+sqrt (2.0);
 3     递推DP:仿照JayYe,处理的很巧妙,学习:)
 4     好像还要滚动数组,不会,以后再补
 5 */
 6 #include <cstdio>
 7 #include <iostream>
 8 #include <algorithm>
 9 #include <cmath>
10 #include <cstring>
11 using namespace std;
12
13 const int MAXN = 1e3 + 10;
14 const int INF = 0x3f3f3f3f;
15 double dp[MAXN][MAXN];
16 int used[MAXN][MAXN];
17 int a[MAXN][MAXN];
18
19 int main(void)        //URAL 1119 Metro
20 {
21     freopen ("C.in", "r", stdin);
22
23     int n, m, k;
24     while (scanf ("%d%d", &n, &m) == 2)
25     {
26         scanf ("%d", &k);
27         int u, v;
28         memset (used, 0, sizeof (used));
29         while (k--)    {scanf ("%d%d", &u, &v);    used[u][v] = true;}
30
31         for (int i=0; i<=n; ++i)
32         {
33             for (int j=0; j<=m; ++j)
34             {
35                 if (!i && !j)    dp[i][j] = 0;
36                 else if (!i)    dp[1][j] = dp[1][j-1] + 1;
37                 else if (!j)    dp[1][j] = dp[0][j] + 1;
38                 else    dp[1][j] = min (dp[1][j-1], dp[0][j]) + 1;
39                 if (used[i][j])    dp[1][j] = min (dp[0][j] + 1, dp[0][j-1] + sqrt (2.0));
40             }
41         }
42
43         printf ("%.0f\n", dp[1][m] * 100);
44
45     }
46
47     return 0;
48 }

转载于:https://www.cnblogs.com/Running-Time/p/4482955.html

递推DP URAL 1119 Metro相关推荐

  1. 递推DP URAL 1586 Threeprime Numbers

    题目传送门 1 /* 2 题意:n位数字,任意连续的三位数字组成的数字是素数,这样的n位数有多少个 3 最优子结构:考虑3位数的数字,可以枚举出来,第4位是和第3位,第2位组成的数字判断是否是素数 4 ...

  2. 2019 ICPC Asia Nanjing Regional C.Digital Path(拓扑排序递推DP)

    整理的算法模板合集: ACM模板 题目传送门 三段题面,只有第三段是有用的-前两段又长单词又难懂,就是在讲故事...不过针对四种情况给出四个图帮助我们理解题意是真的赞,可能出题人怕我们看不懂吧(第一句 ...

  3. 解题报告:luogu P2272 [ZJOI2007]最大半连通子图(tarjan缩点、递推DP、hash、set判重)

    这时yxc上课时讲解的截图. 一般用到tarjan算法的题目步骤都非常相似: tarjan算法 缩点,建图(这里要判重) 按照拓扑序递推(这里缩点以后逆向就已经是拓扑序了)/ 循环遍历新图求解答案. ...

  4. hdu1978(递推dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978 分析: 递推DP. dp[][]表示可以到达改点的方法数. 刚开始: 外循环扫描所有点dp[x] ...

  5. 递推DP HDOJ 5459 Jesus Is Here

    题目传送门 题意:简单来说就是sn = sn-1 + sn-2递推而来,求其中所有c字符的:∑i<j:sn[i..i+2]=sn[j..j+2]=''cff"(j−i) mod 530 ...

  6. 递推DP UVA 1366 Martian Mining

    题目传送门 1 /* 2 题意:抽象一点就是给两个矩阵,重叠的(就是两者选择其一),两种铺路:从右到左和从下到上,中途不能转弯, 3 到达边界后把沿途路上的权值相加求和使最大 4 DP:这是道递推题, ...

  7. POJ 1661 Help Jimmy(递推DP)

    思路: 1. 每个板子有左右两端, dp[i][0], dp[i][1] 分别记录左右端到地面的时间 2. 从下到上递推计算, 上一层的板子必然会落到下面的某一层板子上, 或者地面上 总结: 1. 计 ...

  8. HDU 5863 cjj's string game ( 16年多校10 G 题、矩阵快速幂优化线性递推DP )

    题目链接 题意 : 有种不同的字符,每种字符有无限个,要求用这k种字符构造两个长度为n的字符串a和b,使得a串和b串的最长公共部分长度恰为m,问方案数 分析 : 直觉是DP 不过当时看到 n 很大.但 ...

  9. [DFS/递推/DP] 2327 [SCOI2005] 扫雷 ( 普及+/提高

    Date:2019/10/13 Degree of difficulty:Universal Original question:P2327 [SCOI2005]扫雷 原题与改编 10.13月考[爆零 ...

最新文章

  1. 技术详解 | 如何用GAN实现阴影检测和阴影去除?
  2. 「小程序JAVA实战」微信开发者工具helloworld(三)
  3. 哪些人交不到真朋友?
  4. 《数学之美》第16章 信息指纹及其应用
  5. LiveData原理分析
  6. MyBatis基于注解的使用
  7. pythonrequests解析_Python requests获取网页常用方法解析
  8. 使用URL直接进入SAP CRM WebClient UI某个订单的明细页面
  9. 预售┃连锁反应装置积木好玩到尖叫!
  10. [css] 说说你对table-layout的理解,它有什么运用场景?
  11. IXMLDOMDocument中的load方法返回值有BUG
  12. Python习题week2
  13. Hadoop Hive概念学习系列之hive的正则表达式初步(六)
  14. 《java入门第一季》之java语法部分小案例
  15. crm系统是什么很棒ec实力_易观发布2019中国CRM实力矩阵,EC成为领先者
  16. 【Foreign】字串变化 [DP]
  17. Python抽象及异常处理
  18. 报表性能优化方案之多种报表服务器内存修改方法
  19. 防火墙虚拟系统资源分配配置实例
  20. Hibernate插入、查询、删除操作 HQL (转)

热门文章

  1. 用simple from暂不用formtastic
  2. keep dark about sth
  3. 如何查看系统启动时间-
  4. L1-066 猫是液体 (5 分)-PAT 团体程序设计天梯赛 GPLT
  5. 1078. 字符串压缩与解压 (20)-PAT乙级真题
  6. 蓝桥杯 ADV-162 算法提高 题目1 最大最小值
  7. iOS模拟器中修改textField键盘类型为中文输入和键盘弹出方法
  8. 学霸的迷宫-蓝桥杯算法提高-广搜 bfs 经典问题
  9. hive中实现行转列_Hive之行转列lateral view用法
  10. java 通过http post方式传参参数json 方式