2014年12月20日
摘要: "trie的经典应用" -- by hzwer我们把每个点到根的xor值记下来,然后找出两个xor值最大的即可(因为(a ^ c) ^ (b ^ c) = a ^ b)于是用trie把每个数的二进制位记下来,每次query的时候利用贪心,试图走到另一个儿子即可。 1 /**************... 阅读全文
posted @ 2014-12-20 23:00 Xs酱~ 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 点分治。。。尼玛啊!蒟蒻怎么做的那么桑心%>_ 11 #include 12 13 using namespace std; 14 const int N = 100005; 15 16 struct edge { 17 int next, to, v; 18 edge()... 阅读全文
posted @ 2014-12-20 22:09 Xs酱~ 阅读(570) 评论(2) 推荐(0) 编辑
摘要: 典型的点分治。。。可惜有一部不会做。。。如何找出某个点p的子树中过p的链的数量?、、、(语文不好不要打我)于是Orz cxjyxx,可以先求出所有的答案再减掉不是的答案(说了语文不好不要打我了啊>_ 11 #include 12 13 using namespace std; 14 const... 阅读全文
posted @ 2014-12-20 20:25 Xs酱~ 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 首先,列方程我们定义s[i] = 10 ^ ((int) log(i))于是,f[i] = (f[i - 1] *s[i] + i) % p反正总之就是个沙茶递推然后我们来看优化。。。怎么感觉像矩阵乘法呢?发现要按照log(i)即i的位数分类讨论,在相同位数的时候令矩阵为s[i]0 01 1 00 ... 阅读全文
posted @ 2014-12-20 17:09 Xs酱~ 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 看来蒟蒻我还是直接退役算了。。。此题就是维护子树的和,删除子树中当前最大元素,并且可以合并两个子树信息,想到了左偏树。。。做完了233 1 /************************************************************** 2 Problem:... 阅读全文
posted @ 2014-12-20 16:26 Xs酱~ 阅读(528) 评论(0) 推荐(0) 编辑