摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 思路:求出存钱罐装全部装满情况下硬币的最小数量,即求出硬币的最小价值。转换为最小背包的问题。 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1877 思路:注意考虑0,0的情况。 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 思路:注意p和m[i]是被抓的概率,不能直接用,要转换为逃跑的概率,然后将得到的钱视为背包体积再求解。 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 思路:完全背包,但有次数的限制,因此,对次数进行dp,判断次数是否超限。 阅读全文
摘要:
康托展开:康托展开是一个全排列到一个自然数的双射,常用于构建hash表时的空间压缩。设有n个数(1,2,3,4,…,n),可以有组成不同(n!种)的排列组合,康托展开表示的就是是当前排列组合在n个不同元素的全排列中的名次。 公式:X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 注意:1、先输入起点(y1,x1)和终点(y2,x2); 2、如果一个一个遍历会超时。 思路:每次将整一行或列的点全部遍历,然后再寻找是否找过某个点。 #include<iostream> #in 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1253 思路:简单的bfs,就是要注意剪枝。 #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include< 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1175 思路:用bfs,注意要转弯的次数,次数大于两次就跳过。 #include<iostream> #include<cstdio> #include<cstring> #include<queue> 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1026 题意:输入n,m和一个n*m的矩阵, .表示通路; x表示墙; n表示有一个怪物,消灭它需要n个时间。 求从(0,0)到(n-1,m-1)所需要的最短时间。 如果不存在,照题目格式输出;如果存在, 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1072 思路:深搜每一个节点,并且进行剪枝,记录每一步上一次的s1,s2;如果之前走过的时间小于这一次, 就说明有更短的;路径,所以就不用继续遍历下去。 用bfs做就要简单一点。 阅读全文