[HDU 4842]--过河(dp+状态压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4842
过河
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
题目给出独木桥的长度L,青蛙跳跃的距离范围S,T,桥上石子的位置。你的任务是确定青蛙要想过河,最少需要踩到的石子数。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 int stone[101], L, S, T, M, dp[2100], mpt[2100]; 7 int main(){ 8 int i, j, l, k, ptr = 0, minn; 9 cin >> L >> S >> T >> M; 10 for (i = 1; i <= M; i++) 11 scanf("%d", &stone[i]); 12 memset(mpt, 0, sizeof(mpt)); 13 memset(dp, 0, sizeof(dp)); 14 sort(stone + 1, stone + 1 + M); 15 stone[0] = ptr = 0; 16 for (i = 1; i <= M; i++){ 17 l = stone[i] - stone[i - 1]; 18 if (!(l % T)) k = T; 19 else k = l % T; 20 k = k + T; 21 k = min(k, l); 22 ptr = ptr + k; 23 mpt[ptr] = 1; 24 } 25 for (i = 1; i <= ptr + T; i++){ 26 minn = 0x7ffffff; 27 for (j = i - T; j <= i - S; j++) 28 if (j >= 0 && dp[j] < minn) 29 minn = dp[j]; 30 dp[i] = minn + mpt[i]; 31 } 32 minn = 0x7ffffff; 33 for (i = ptr + 1; i <= ptr + T; i++) 34 minn = min(minn, dp[i]); 35 printf("%d\n", minn); 36 return 0; 37 }
View Code
转载于:https://www.cnblogs.com/zyxStar/p/4572455.html
[HDU 4842]--过河(dp+状态压缩)相关推荐
- CCF201409-5 拼图(100分)【插头DP+状态压缩】
试题编号: 201409-5 试题名称: 拼图 时间限制: 3.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个n×m的方格图,现在要用如下L型的积木拼到这个图中,使得方格图正好被拼满 ...
- DP——状态压缩dp
状态压缩DP 蒙德里安的梦想 分析题目,当我们先摆横着放的方块,再摆放竖着放的方块,当横着放的小方块摆放完后,竖着放的方块也就确定了,因此总方案数应该等于只放横着的小方块的合法方案数.我们考虑每一列可 ...
- hdu 3681(bfs+dfs+状态压缩)
解题思路:这道题属于图上来回走的问题,可以把重复走的过程弱化,即只强调从u->v的结果,中间经过的节点都不考虑.这道题里面'G','F','Y'是重要的节点,其余的点我们是可以忽略的,也就是说, ...
- HDU 4407 Sum(容斥原理+状态压缩)
题目链接 容斥原理不会,map不会,状态压缩不会.做毛线... 题目大意:给出1-n,n个数,有两个操作1是询问x-y区间上与p互质的数的和是多少,2是改变x位置上的数为c. 自己确实办不了,map这 ...
- HDU 4628 Pieces(DP + 状态压缩)
Pieces 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4628 题目大意:给定一个字符串s,如果子序列中有回文,可以一步删除掉它,求把整个序列删除 ...
- 洛谷1052——过河(DP+状态压缩)
题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...
- 【HDU 4352】 XHXJ's LIS (数位DP+状态压缩+LIS)
XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 4997 Biconnected (状态压缩DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4997 题意:一个n个点的完全图中去掉一些边.求这个图有多少个子图是边双联通的.(就是去掉任意一条边之后 ...
- HDU 4332 Constructing Chimney [状态压缩+矩阵]
烟囱是一个3*3的中空构造,给定烟囱的高度,问用1*1*2的砖头搭成这个烟囱有多少种方法. 首先用一个8位二进制数表示某一层的状态.枚举上下两层的状态,判断这两个状态是否可以相邻,上一层必须将下层填满 ...
最新文章
- opencv+python机读卡识别(四)百度API进行数字识别
- GPU云服务器是什么?谷歌宣布将要推出GPU云服务器
- boost::core模块lightweight的测试实例
- SpringBoot:ApplicationEvent与ApplicationListener
- 【电路仿真】基于matlab Simulink光伏电池仿真模型【含Matlab源码 486期】
- 将GitHub源代码打包成jar包
- landsat8简介
- 安装vs2010 sp1失败
- 正则表达式最好的书籍_正则表达式的最佳做法
- 【电脑一点通】如何新建和切换Windows桌面
- java 限制录入特殊字符_要求输入框里面必须同时含有字母,数字,特殊字符,且不小于8位...
- 头插法逆置单向链表c语言,单链表的逆置(头插法和就地逆置)
- HIVE 总体标准差stddev()
- Linux上安装MySQl超详细教程(CentOS系统)
- 华为路由器:一次华为AR1220F-s的系统修复经历
- win7 android 双系统平板 p1000,优派Windows7/Android双系统ViewPad 100
- 怎样快速实现整篇文档中英互译?这里有简单的方法
- ssd的smt_联合评测 | Intel Optane SSD 有效加速 SmartX 超融合在 Oracle 等场景下的系统性能...
- Java实现子序列问题
- 初识现代资产配置(MPT)理论
热门文章
- win10子系统编译android,基于win10子系统ijkplayer全量编译(支持所有格式)流程
- c语言实现判断两个子图是否同构问题_经典问题-回溯法-最大团问题
- listctrl 优化_上海SEO整站优化公司_新站整站快速排名优化
- c语言实现输入输出功能需要调用库函数,C语言学习笔记(二)
- 装了python3但在cmd里不识别,Pip无法识别安装命令(Windows 7,Python 3.3)
- ntp协议中 服务器失效怎么办,排除网络时间协议(NTP)故障
- python行数据切片_通过切片访问DataFrame行
- mybatis parameterType
- TensorFlow tf.keras.losses.SparseCategoricalCrossentropy
- TensorFLow RCNN