CF1625D - Binary Spiders[trie树优化dp]
摘要:官方题解 题意:给数列a[],选择尽量多的数满足任意两个异或起来<=k 1625D - Binary Spiders 思路:首先,将数列排序得到,然后升序取得的值的任意两个最小值为相邻两个异或的最小值。 证明:zxcv告诉我可以考虑在trie树上,dfs序等价于字典序,然后一个树与其lca最深(异或
阅读全文
CF Divan and Kostomuksha
摘要:题意:NKOJ CF 思路:首先发现贪心不了。因此dp。然后这题需要维护的就
gi和
sumgi 状态:
dp[i]: 当前最后一个为
gi的最大值
dp[i]=maxi|j(dp[j]+(cnt[i]−cnt[j])∗i) cnt[i]:
a[]
阅读全文
[JSOI2008]火星人
摘要:题意:P4036 Q x y:计算LCQ(x,y)就是从x开始的后缀与y开始的后缀的最长公共前缀 R x d:将第x个改为d I x d:在x后面加入d 思路 如果我们想到了字符串哈希(是一种可加可减,很全面的算法)。 然后我们又想到了二分,这道题就完了! 可惜我都没想到! 然后二分后,判断我们发现
阅读全文
Link-Cut-Tree(1)
摘要:参考论文 求解范围:(动态树问题) 树上路径查询、修改 动态连边、删边 换根 lca 算法逻辑 概念: 类似树链剖分,把一棵树拆成许多链,每个链用splay维护(链上的为实边,否则为虚边),splay中以
dep为关键字(左浅右深),splay里点之间用
fa和
son[0/1]连接,不同链之
阅读全文