摘要:
背景 2009NOIP余姚中学内部暑期集训7月14号模拟赛第三题 描述 Cpg 正在游览一个梦中之城,在这个城市中有n棵摇钱树。。。这下,可让Cpg看傻了。。。可是Cpg只能在这个城市中呆K天,但是现在摇钱树已经成熟了,每天每棵都会掉下不同的金币。Cpg每天可以砍掉其中一颗,并获得其树上说有的金币( 阅读全文
摘要:
堆可以看成一个近似的完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]&&Key[i]<=key[2i+2](小根堆) 或者 Key[i]>=Key[2i+1]&&key[i]>=key[2i+2](大根堆) 有了上面的定义,就有下面的计算: #define Pa(i) i> 阅读全文
摘要:
分块主要目的就是减少重复。 类似的想法在线段数和其他数据结构中出现。 引用一下黄学长的思路: “数列分块就是把数列中每m个元素打包起来,达到优化算法的目的。 如果我们把每m个元素分为一块,共有n/m块,每次区间加的操作会涉及O(n/m)个整块,以及区间两侧两个不完整的块中至多2m个元素。 我们给每个 阅读全文
摘要:
list的基本操作。 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器 erase() 删除一个元素 front() 返回第一个元素 insert() 插入一个元素 阅读全文
摘要:
问题 A: 铺砖块 题目描述 现有n*m的一块地板,需要用1*2的砖块去铺满,中间不能留有空隙。问这样方案有多少种 现有n*m的一块地板,需要用1*2的砖块去铺满,中间不能留有空隙。问这样方案有多少种 输入 输入n,m(1<=n, m<=11) 有多组输入数据,以m=n=0结束 输入n,m(1<=n 阅读全文
摘要:
平行四边形优化,是一种在一类区间动规中减少时间复杂度的方法。 有方程:m(i,j)=min(m(i,k)+m(k+1,j)+w(i,j)),s(i,j)为最优点取到值。 有方程:m(i,j)=min(m(i,k)+m(k+1,j)+w(i,j)),s(i,j)为最优点取到值。 有方程:m(i,j)= 阅读全文
摘要:
问题 A: P1045 题目描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如: N=5, K=2,5个数字分别为1、2、3、4、5,可以加成: 1 阅读全文
摘要:
最长公共子序列: LIS是一个典型的用动规解决的问题。 给出两个字符串,求出两串的最长公共子序列的长度。 我们可以构造出他的结构特征。f(i,j)表示str1[1]~str1[i]和str2[1]~str2[j]的最长不下降子序列的长度。 然后他的递归式也随之能推出来,f(i,j)=Max(f(i, 阅读全文
摘要:
问题 A: 导弹拦截 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意 的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所 有的导 阅读全文