随笔分类 -  【动态规划】-> dp

摘要:摘自网友,具体哪个忘记了,抱歉~定义:RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题: 对于长度为n的数列A,回答若干询问RMQ(A,i,j) (i,jO(nlogn)*/2 int dp[maxn][20];3 void initRMQ(int... 阅读全文

posted @ 2015-09-02 00:06 LLGemini 阅读(284) 评论(0) 推荐(0)

摘要: 阅读全文

posted @ 2015-08-18 10:08 LLGemini 阅读(173) 评论(0) 推荐(0)

摘要:给你一个二进制数,,每一位有一个权值,让你转格雷码,求所对应格雷码位为1的权值的和;二进制位中的某些位为?,你需要给这些问号赋值使得到的和最大。首先你得知道二进制转格雷码的规则,即格雷码位为【二进制位与左边前一位的异或值】,格雷码首位为二进制首位;因为格雷码首位为二进制首位,那么可以视二进制首位的左... 阅读全文

posted @ 2015-08-12 09:36 LLGemini 阅读(173) 评论(0) 推荐(0)

摘要:花了一晚上加一早上研究背包,唉一大把年纪了才狠下心弄dp也确实说不过去的......背包入门当然还是看背包九讲(链接很多,没找到原作的,就随便贴一个链接了...),我再扯也是班门弄斧,只是贴一些摘要以及写代码时候的总结吧。01背包:有N件物品和一个容量为V的背包。第i件物品的体积是v[i],价值是v... 阅读全文

posted @ 2015-08-08 20:07 LLGemini 阅读(220) 评论(0) 推荐(0)

摘要:【LIC--最长递增子序列问题】 在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i minT[len],则将T[t]接在minT[len]后将得到一个更长的上升子序列,len = len + 1, minT[len] = T[t];否则,在minT[1]..minT[len]中,... 阅读全文

posted @ 2015-03-05 00:00 LLGemini 阅读(365) 评论(0) 推荐(0)

摘要:回文串问题。给出一个字符串,问最少可以划分为多少个字符串子串。对于判断是否为回文串,对于不是很长的字符串,可以采取直接暴力,即从两边向中间收缩判断字符相等。1 bool is_pali(int l, int r)2 {3 while(l #include#include#includeusi... 阅读全文

posted @ 2015-03-04 09:52 LLGemini 阅读(164) 评论(0) 推荐(0)

摘要:Problem FLighting SystemDesignInput: StandardInputOutput: StandardOutput You are given the task to designa lighting system for a huge conference hall.... 阅读全文

posted @ 2015-03-03 23:43 LLGemini 阅读(207) 评论(0) 推荐(0)

摘要:题意:给你一个数字n,有两种操作:减1或乘2,问最多经过几次操作能变成m;随后发篇随笔普及下memset函数的初始化问题。自己也是涨了好多姿势。代码 1 #include 2 #include 3 #include 4 #include 5 #define INF 0x7fffffff; 6 usi... 阅读全文

posted @ 2015-03-02 20:07 LLGemini 阅读(188) 评论(0) 推荐(0)