随笔分类 - ACM-加强与巩固
摘要:题意:题目:有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D。但是边上有一个小黑屋(其实就是个堆栈),可以一定程度上调整上场程序dp[i][j]表示从第i个人到第j个人这段区间的最小花费(是只考虑这j-i+1个人,不需要考虑前面有多少人)那么对于dp[i][j]的第...
阅读全文
摘要:题意:求一个环的最长回文序列,是序列不是串链接:点我起点是可以任意的,所以只要求出每个区间的最长回文序列之后取max(dp[1][i]+dp[i+1][n]),即可得最终答案本来是想扩展两倍的,但是后来的最大不太好想将 环倍增成链,求出窗口为n的最长子序列,但这不是最终的解,你可以试看看Sample...
阅读全文
摘要:观察区数字是否含有13并且能被13整除Sample Input131002001000Sample Output1 1 2 2注意在判断新状态的时候顺序不能弄反,否则会把之前的正确状态覆盖 1 #include 2 #include 3 #include 4 #include 5 #include ...
阅读全文
摘要:题意:求区间L到R之间的数A满足A的的数位的最长递增序列的长度为K的数的个数。链接:点我该题的关键是记录LIS的状态,学习过nlogn解法的同学都知道,我们每次加入的元素要和前面的比对替换,这里就用了这个方法比如1 3 6,用二进制表示为001000101,假如新加入的数为2,那么我们枚举比2大的数...
阅读全文
摘要:题意:最少添加括号,并输出链接:点我第一个区间dp题,果断百度的蛮好理解,这里直接粘贴别人的题解啦,d是区间内需要添加的括号数对于任何s[i]..s[j]应该分为两种情况考虑,一种是s[i]='('&& amp;s[j]=')' 或者s[i]='['&&s[j]=']',如果是这种情况,则d[i][...
阅读全文
摘要:题意:给你N条线段(垂直于x轴)的两个y坐标还有x坐标,问相互看到的三元组有多少个。有点纠结就是,如果两个连线之间正好有一条线段的某个端点,这个也是不能计算的,所以这个端点就有意义了,所以就用上面那个题的做法,全部扩大二倍再用线段树。Sample Input1 //测试次数5 //线段数目0 4 4...
阅读全文
摘要:题目:给出K个数,使得这K个数的和为N,LCM为M,问有多少种f[i][j][k]表示选i个数,总和为j,最小公倍数为kmemery卡的比较紧,注意不要开太大,按照题目数据开这种类型的dp也是第一次做 1 #include 2 #include 3 #include 4 #include 5 #in...
阅读全文
摘要:转自:http://blog.csdn.net/shiqi_614/article/details/7983298题意:由数字1到n组成的所有排列中,问满足题目所给的n-1个字符的排列有多少个,如果第i字符是‘I’表示排列中的第i-1个数是小于第i个数的。如果是‘D’,则反之。定义dp[i][j]表...
阅读全文

浙公网安备 33010602011771号