上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 83 下一页
摘要: 嘟嘟嘟 题中说选的数的编号亦或和不能为0,也就是在这个集合中,不能用不同的选取方案亦或出相同的值。由此联想到线性基的一个性质是,每一个数都能由线性基中特定的一些数亦或得到。 所以我们就是要求出这些数的线性基,并且满足所选的数的魔力值的和最大。 本来以为是dp,结果按魔力值排个序贪心就过了。 证明在网 阅读全文
posted @ 2019-01-11 16:06 mrclr 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟(洛谷) 这道题算是利用了线性基的一个性质:对于大小为$k$的线性基中亦或出来的一个数$x$,那么用原数组的数亦或出来的所有数中,$x$出现了$2 ^ {n - k}$次。 那么就可以算出线性基中比$x$小的数有多少个(记为$cnt$),然后答案就是$cnt * 2 ^ {n - k} + 1 阅读全文
posted @ 2019-01-11 15:27 mrclr 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 不愧是WC的题,思维真的很妙(虽然代码特别简单)。 首先暴力找出所有路径肯定不行。 题中说可以经过重复的边,并且边权也会被计算多次。那么就是说,如果经过一条边再沿这条边回来,这条边的贡献就是0了。但是我们可以通过这条边到达别的路径上。更准确说,是到一个环上。 于是就有这么一个做法:先找出所有 阅读全文
posted @ 2019-01-11 14:01 mrclr 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 首先都知道这题得用线性基。 然后预处理出线性基的倍增数组,查询的时候找lca的同时维护路径的线性基数组。 倍增lca复杂度$O(logn)$,合并线性基$O(log ^ 2 n)$,所以总复杂度$O(n log ^ 3 n)$。 注意的是,查询的时候如果一步都跳不了,$x$和$y$所在点的权 阅读全文
posted @ 2019-01-11 10:46 mrclr 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 集训的时候发现自己不会线性基,就打算学一下。 这东西学了挺长时间,其实不是因为难,而是天天上午考试,下午讲题,结果晚上就开始颓了。 今天总算是有大块的时间好好学了一遍。 这里推荐menci大佬的博客:线性基学习笔记 这道题就是求一个集合的第$k$小亦或和。 首先线性基的概念、构造方法什么的看 阅读全文
posted @ 2019-01-11 09:39 mrclr 阅读(117) 评论(0) 推荐(0) 编辑
摘要: "嘟嘟嘟" 首先这一眼看出来,要树形dp。 然后发现状态不好设,刚开始我想的是dp[i][j]表示以$i$为根的子树,选了$j$个黑点的最大价值。结果就不会转移了。 转移的时候想考虑$$这一条边的贡献,但是发现这个状态的转移所涉及的不只是这一条边,还有子树中的边,于是就彻底gg了。 还是看了题解。 阅读全文
posted @ 2019-01-02 17:22 mrclr 阅读(171) 评论(0) 推荐(0) 编辑
摘要: "嘟嘟嘟" 看到求区间的,一个很好的思路就是转换成前缀和相减。那么这道题就是二维前缀和。 容易列出 $$\sum _ {i = 1} ^ {n} \sum _{j = 1} ^ {m} [gcd(i, j) = k]$$ 然后就是套路的推导了,跟 "这道题" 一模一样,看我的题解吧 "[POI200 阅读全文
posted @ 2018-12-27 08:56 mrclr 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 [NOI2003]的其实就是一个板子……所以我就不说啥了。 唯一需要注意的是读入字符(哎……):题中说“中间可能有空格,请忽略”的意思是要在程序里特判掉,不是不管他…… 输出的时候暴力中序遍历就行。 然后[AHOI2006]的只是多了一个区间翻转,然后输出单个字符,其实还是板子。 只不过读入 阅读全文
posted @ 2018-12-26 16:52 mrclr 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 看到$i$变成了$A_i$,我突然想起了置换这个东西。于是马上到网上学了一遍轮换乘法。 手模后发现轮换乘法满足结合律,但不满足交换律。 于是就可以快速幂啦。 需要注意的是每一次相乘是$O(n)$的,因此总复杂度为$O(n \log n)$。 代码一看就懂 #include<cstdio> # 阅读全文
posted @ 2018-12-26 14:09 mrclr 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这题我写的时候还是挺顺的,边写边想为啥学姐说我是“勇士”。然后我用了大半天的debug时间理解了这句话…… 先不说那几个把人坑到退役的点,光说这几个操作,其实都听基础的。 我感觉唯一要说一下的就是插入一串数:我们先把这些数建成一个splay,然后把这个splay的根节点连到对应的点的儿子节点 阅读全文
posted @ 2018-12-26 12:42 mrclr 阅读(193) 评论(0) 推荐(1) 编辑
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 83 下一页