- 博客(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
348
原创 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
405
原创 POJ_2828解题报告
题目不再重述。我也是看了解题报告的...之前怎么都想不到,如果正常模拟的话,每一次插入元素都必须准确的知道位置在pos的元素究竟是哪一个,知道连在那一个元素后面,才能正确的串成一个队嘛。。如果用数组-- 向中间加元素要一个一个的挪用链表--n^2 超时了。。其他的数据结构?怎么都想不到一种可以动态维护记录每个元素(相对整个队列)绝对位置的 可insert 结构...
2012-08-13 17:18:39
268
原创 POJ_1787解题报告
第一次写——题意不再复述,(最近我一直在读题上犯错误..丢人)明显的模型就是多重背包。注意了自己程序细节问题就很简单。时间卡的紧一些,就用背包九讲上的01背包优化吧,可能是打印路径这里处理的不好,有500多ms下次试试用单调队列优化。。#include"stdio.h"#include"stdlib.h"#include"time.h"#include"mat
2012-08-13 12:42:21
439
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人