上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 28 下一页
摘要: 前序遍历的第一个元素是根,设其为r,则可以在中序遍历中找到r,并分别确定左右子树的前序遍历和中序遍历。这样递归求解即可。 注意,在中序遍历中查找r时,可以不用遍历,而是预处理出每个r在中序遍历I中的位置invI,这样就可以在O(1)的时间查找到。 是否可以生成一棵二叉树的条件为,每一次递归,判断r在 阅读全文
posted @ 2022-06-13 19:30 80k 阅读(77) 评论(0) 推荐(0)
摘要: 当动态规划需要的数组范围太大,且当前状态只与前几维状态相关时,可以用滚动数组存储。 例如 二个滚动数组 dp[i&1]...=dp[i-1&1]... 三个滚动数组 dp[i%3]...=dp[(i-1)%3]....+dp[(i-2)%3].....; 阅读全文
posted @ 2022-06-13 16:21 80k 阅读(71) 评论(0) 推荐(0)
摘要: 对于一个首尾相接的数组,设其旋转k1、k2、k3...次后可以恢复原状。 且k1<k2<k3<...。 则可以肯定,k1为这个数组的循环节,且k2、k3...均为k1的倍数。 一种求循环节的方法为: 对长度为n的循环字符串,先从小到大遍历可能的循环节的长度i,判断是否n%i==0,然后对其中的除第一 阅读全文
posted @ 2022-06-10 18:47 80k 阅读(46) 评论(0) 推荐(0)
摘要: 291. 蒙德里安的梦想 此题使用状态压缩dp进行计算,状态表示使用一个数j,其中j的二进制位为1的位置表示1*2的第一个小方格并向后延伸。 由于1*2的第二个小方格和2*1的任意一个小方格与后面是没有联系的,对于后面的处理是等价的, 所以状态只用表示和后面产生联系的1*2的第一个小方格。 转移方法 阅读全文
posted @ 2022-06-10 10:39 80k 阅读(43) 评论(0) 推荐(0)
摘要: 根据三个等价条件,可以将n^2个数的GCD转化为n个数的GCD,且这n个数是连续的,可以通过线段树在log时间求解。 转化方式为 a与b的GCD=a与a-b的GCD,因为b=x*GCD。 阅读全文
posted @ 2022-06-09 15:37 80k 阅读(42) 评论(0) 推荐(0)
摘要: 设f(x)为x的最大平方除数(x的除数且为平方数),两数i与j相乘为平方数,等价于i/f(i)*j/f(j)为平方数且由于i / f(i)与j / f(j)不可能被任何质数整除两次以上则两数i与j相乘为平方数,等价于i / f(i)= j/ f(j)且f(i)可以在sqrt(i)的时间复杂度求出。 阅读全文
posted @ 2022-06-09 14:46 80k 阅读(357) 评论(0) 推荐(0)
摘要: dp中的状态机模型会增加一维表示当前的状态。根据状态间的转移方式进行dp 1052. 设计密码 此题需要结合kmp和状态机模型 状态的定义是 dp[i][j]表示遍历到字母i,且匹配了长度为j的模板串,匹配模板串的长度即为状态。 状态的转移根据i-1位的匹配长度,以及i位的字母,计算i位的匹配长度。 阅读全文
posted @ 2022-06-08 19:34 80k 阅读(42) 评论(0) 推荐(0)
摘要: 对一个字符串的子字符串,判断回文一般需要O(n)的时间, 但是如果预先处理出子字符串的哈希值,则可以在O(1)的时间判断。 具体方法是,如果是小写字母,则可以用26进制数进行记录。 base=26; for(...) ha[i]=ha[i-1]*base+(str[i]-'a'); 再反着进行一次哈 阅读全文
posted @ 2022-06-06 21:46 80k 阅读(297) 评论(0) 推荐(0)
摘要: C++中class和struct除了空的默认构造函数,还存在传入初始化列表的默认构造函数。 使用方式为: struct s { int a,b; double c; } int main() { s s1={1,1,1.1}; } View Code 但是在类内如果提供了构造函数,则不会生成默认构造 阅读全文
posted @ 2022-06-06 20:14 80k 阅读(291) 评论(0) 推荐(0)
摘要: 背包问题可以用dp数组记录最大值。 可以新增另一个数组count,记录等于最大值的方案数, 这样,在算出最大值后,在求解一遍可以以最大值转移过来的方案数的和,即可得到最大值的方案数。 AcWing 11. 背包问题求方案数 代码如下: #include<bits/stdc++.h> using na 阅读全文
posted @ 2022-06-06 18:32 80k 阅读(31) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 28 下一页