- 博客(8)
- 收藏
- 关注
原创 dp 略难 poj1661
这个题目状态就是每块板到左边和到右边的最短时间 然后转移的时候要对结构体排序高度从大到小 可以递推过来 也可以用记忆搜索 做这个题目的时候wa了好长时间 后来才意识到转移的时候中间不能有别的板挡着。。。。。 然后里面写了个循环暴力 但是tle了 怎么办?优化一下代码 想一下随即数据很容易产生覆盖的 然后两边都不能合法转移了 所以那么多循环次数没用 当两个都为0之后直接跳出循环就好了#i
2016-05-31 22:20:05 231
原创 poj 1015Jury Compromise
这个题目真的困扰了对于还是新手的我2个小时以上 首先状态转移方程还是很好找的 通过数据范围一下就看出来了 直接拿差值当作其中的状态参数dp[i][j]表示选择了i个物品 差值为j的时候的最大的和 并且有path[i][j]纪录前驱元素 然后dp就可以了 注意有几点 1. j有正有负 所以要对他进行平移; 2. 其中选择每一个物品的时候 一定要有一个函数判断之前的状态有没有重复 这个直接
2016-05-29 18:16:01 225
原创 hdu 1160
这个题目简单 但是wa了很久 一直找不到自己错在哪里 最后对比了一下别人代码 终于发现原来dp要初始化为1 以后要细心!#include #include #include #include #include #include #include #include #include #include #include #include #include #define p
2016-05-28 20:30:08 173
原创 hdu 1114的反思与总结
二话不说 先上代码#include #include #include #include #include #include #include #include #include #include #include #include #include #define pi acos(-1)#define e exp(1)#define inf 0x3f3f3f3fu
2016-05-28 16:30:15 184
原创 hdu 1074 doing homework
思路:纪录每个状态的最小花费dp[i] 然后转移 转移的时候要用到位运算 用111)]转移而来 然后全部取最小的 ,但是这个地方的转移顺序很需要注意! 选择j的时候要n-1 to 0 因为要用字典序最小的状态转移而来 所以字典序排序应该是j越大 之前的状态字典序越小 #include #include #include #include #include
2016-05-28 12:16:42 205
原创 m 段 最大和 max sum plus plus
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int arr[1000006];int dp[1000006];int maxx[1000006];int m
2016-05-27 15:44:02 313
原创 最少拦截系统 hdu 1257
这道题目类似于lis 使用的类似于nlgn的做法 用一个辅助数组把之前所有的导弹拦截系统的最低限度记录下来 每次二分即可 注意如果出现了更大的要进行添加#include #include #include #include #include #include #include #include #include #include #include #include #inc
2016-05-27 15:40:30 175
转载 BFS 同余模定理 poj1426
摘自 優YoU http://user.qzone.qq.com/289065406/blog/1303946967大致题意:给出一个整数n,(1 解题思路:首先暴力枚举肯定是不可能的 1000ms 想不超时都难,而且枚举还要解决大数问题。。要不是人家把这题放到搜索,怎么也想不到用BFS。。。 解题方法: BFS+同余模定理
2016-05-02 10:20:16 355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人