- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 Hdu2212 dfs (搜索&剪枝or打表)
其实可以用搜索做。 3628800=10*fact(9) 就是这个dfs数的上限。 总体思想:搜索+剪枝,先搜出所有各位阶乘和的位数和本身位数相同的数,然后再仔细判断。 我觉得练习的时候就尽量不要用直接打表法做了吧。。 #include"stdio.h" #include"stdlib.h" #include"time.h" #include"math.h" #include"io
2012-08-29 15:12:03 353
原创 hdu_4374 One hundred layer解题报告
第一次写单调队列优化的dp。。 解题思路:dp很明显了,和上次多校的一道题差不多。(dragon ball) 可以看成是分组的背包问题(背包九讲06)每一层是一组,不过不能不取。 但是这样,dp[i][p]--第i层第p个位置可以取到的最大值。直接递推复杂度O(n*m*T*2) 肯定不行。于是用单调队列:假设dp[i][p]只和第i+1层p左边的最优值有关。这样的话左-〉右推过去每层可以基
2012-08-16 19:49:38 412
原创 POJ_2828解题报告
题目不再重述。 我也是看了解题报告的...之前怎么都想不到,如果正常模拟的话,每一次插入元素都必须准确的知道位置在pos的元素究竟是哪一个,知道连在那一个元素后面,才能正确的串成一个队嘛。。 如果用数组-- 向中间加元素要一个一个的挪 用链表--n^2 超时了。。 其他的数据结构?怎么都想不到一种可以动态维护记录每个元素(相对整个队列)绝对位置的 可insert 结构...
2012-08-13 17:18:39 274
原创 POJ_1787解题报告
第一次写—— 题意不再复述,(最近我一直在读题上犯错误..丢人) 明显的模型就是多重背包。注意了自己程序细节问题就很简单。 时间卡的紧一些,就用背包九讲上的01背包优化吧,可能是打印路径这里处理的不好,有500多ms 下次试试用单调队列优化。。 #include"stdio.h" #include"stdlib.h" #include"time.h" #include"mat
2012-08-13 12:42:21 445
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人