08 2016 档案
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1010 我认为的剪枝就是在本来的代码中加入一些附加条件使之不去进行多余的计算,防止超时 奇偶剪枝的知识链接 AC代码: 1 #include <iostream> 2 #include <cstdio>
阅读全文
摘要:题目链接: http://lightoj.com/volume_showproblem.php?problem=1337 这个题最重要的就是记忆化搜索,根据这个题我所知道的记忆化搜索就是:当出现某一测试数据时把与其有关的数据都搜索出来,以备后用。 AC代码: 1 #include <iostream
阅读全文
摘要:题目链接: http://poj.org/problem?id=2488 注意两点: 1.本题要求按照字典序最小输出所以a[8]={-1, 1, -2, 2, -2, 2, -1, 1},b[8]={-2, -2, -1, -1, 1, 1, 2, 2} 2.由于 1 <= p * q <= 26所
阅读全文
摘要:题目链接: http://lightoj.com/volume_showproblem.php?problem=1066 题目很容易,广搜和深搜应该都行,我个人认为要注意的是‘A’-->‘ . ’ AC代码: 1 #include <iostream> 2 #include<cstdio> 3 #i
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3466 题目很容易理解,但是如何将其转换为01背包是个问题。 对物品按 qi-pi 的值从小到大排序,因为这样可以保证每次更新的状态值从小到大递增,前面更新过的状态不会影响后面更新的状态。 题目代码:
阅读全文
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 求第k优解的关键代码: 用两个数组记录两种状态(选择或不选择),并且只要记录前k次。在这两个数组中都是前k次可能的最优解。所以我们只要把这两个数组做比较,一直排到k就行了 题目代码: 1 #in
阅读全文
摘要:第一个深搜的问题,虽然很简单,但是很高兴,加油!!! 题目链接: http://poj.org/problem?id=2386 题目交了好几次,一直RE,又重新写了一遍总算是A了 最初RE是由于是s[x][y]='#'放到了dfs的后面,以后要把最初的改变放在前面 RE代码,引以为戒: 1 #inc
阅读全文
摘要:input 输入n,m,k分别代表城市个数,路的条数,和要求城市 然后输入m跳路,ai,bi,ci表示城市ai到城市bi的距离是ci output 求每个城市到城市k的距离 input 1 #include <iostream> 2 #include <cstdio> 3 #define MAX 1
阅读全文
摘要:http://poj.org/problem?id=2115 只是简单地exgcd求解,要注意的是k位存储系统意思是当 i 大于2^k时从头开始计算 1 #include <iostream> 2 #include<cstdio> 3 using namespace std; 4 long long
阅读全文
摘要:http://poj.org/problem?id=3970 题目很水,但是要强调的是:要保证N个数据能够完全输入否则会RE 1 #include <iostream> 2 #include<cstdio> 3 #define ll long long 4 using namespace std;
阅读全文
摘要:http://poj.org/problem?id=1061 这题的关键就是找方程: 要想青蛙能碰面,就满足方程: (x+m*t) - (y+n*t) = p*l; t:跳的次数 p:两只青蛙相差的圈数 l:纬度线的长度 将上述方程整理得: (n-m)*t + p*l = x-y; 令a=n-m,b
阅读全文

浙公网安备 33010602011771号