摘要: 题解 这题还要判无解真是难受…… 我们发现我们肯定能确定1的位置,1左右的两个区间是同理的可以确定出最小值的位置 我们把区间最小值看成给一个区间+1,构建出笛卡尔树,就求出了每一次取最小值和最小值左右的区间大小 然后就相当于左右子树的排列方式,乘上把左右子树那么多个元素选出左子树个数和右子树个数那么 阅读全文
posted @ 2018-06-12 21:31 sigongzi 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 题解 干脆题解套题解好了 毕竟我的hash方法是抄小迪的 https://www.cnblogs.com/RabbitHu/p/9165770.html 小迪太巨了%%% 之前模数是八位的WA了几个点,换成9位模数就都过了 代码 cpp include // define ivorysi defin 阅读全文
posted @ 2018-06-12 17:42 sigongzi 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题解 我们统计深度对于bfs序统计,树结构出现分歧的地方必然是BFS序的最后一段,这个最后一段同时还得是dfs序上连续的一段 如果不是bfs序的最后一段,那么必然下一层会有节点,如果树结构分歧了,那么dfs序是不一样的 如果不是dfs序上连续的一段,如果分歧那么bfs序会改变。。。 好的,知道了这两 阅读全文
posted @ 2018-06-12 16:09 sigongzi 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题解 写水题放松一下心情 二进制有个很好的性质是每一位是独立的,我们按位贪心,先看这一位能不能填1,然后看看如果这一位填0那么运算后最后这一位是不是1,是的话就退出,然后看看这一位如果填1最后是1这一位就填1,否则就退出 一次性把所有位填0,所有位填1,然后算两遍,复杂度$O(n + \log m) 阅读全文
posted @ 2018-06-12 14:32 sigongzi 阅读(145) 评论(0) 推荐(0) 编辑