摘要:
原题链接 考察:Trie+dfs 思路: 将每个数插入Trie中,可以发现如果子树的结点>=2,那么这些结点会内部连接,也就是说:如果左子树和右子树的结点都>=2,那么它们就是割裂的,我们需要删除一些点使得它们连接. 最少删除数 = 最大保留数.对于当前树u, 最大保留数 :f[u] =max(f[ 阅读全文
posted @ 2021-06-06 22:53
acmloser
阅读(67)
评论(0)
推荐(0)
摘要:
原题链接 考察:矩阵快速幂 思路: 就是密码设计那题的矩阵快速幂版.下面是密码设计的递推代码. for(int i=1;i<=n;i++)//已经构造了i个字符. for(int j=0;j<len;j++)//j是已经子串匹配了的位置 for(char k='a';k<='z';k++)//枚举密 阅读全文
posted @ 2021-06-06 21:21
acmloser
阅读(200)
评论(0)
推荐(0)
摘要:
原题链接 考察:线性DP 错误思路: 求出最长公共子序列再dfs回溯枚举长度. 错误原因: 不一定只存在一个最长公共子序列.比如样例2. 正确思路: 是dp(...),定义 f[i][j] 为以1~i,1~j构成的最长公共子序列的最大S值,且A子串以i结尾,b子串由j结尾.这里其实类似最大连续子段和 阅读全文
posted @ 2021-06-06 09:23
acmloser
阅读(50)
评论(0)
推荐(0)
摘要:
原题链接 考察:拓扑排序 思路: 等级低与等级高之间建立边.比如区间[1,6]之间停靠了(1,3,5,6).那么在(1,3,5,6)与(2,4)之间两两间加一条边.最后拓扑排序即可. 但是这样会TLE.时间复杂度O(109),空间复杂度极限O(500*500*1000).需要进一步优化. 但是注意初 阅读全文
posted @ 2021-06-06 08:57
acmloser
阅读(205)
评论(0)
推荐(0)

浙公网安备 33010602011771号