摘要: ![](https://img2018.cnblogs.com/blog/1442599/201901/1442599-20190105134831848-1172523499.png) ``` //minamoto #include #define R register #define ll long long #define fp(i,a,b) for(R int i=a,I=b+1;iI;-... 阅读全文
posted @ 2019-01-05 13:49 bztMinamoto 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题面 题解 数据结构做傻了.jpg 考虑每一个节点,它的儿子的取值最多只有$O(\sqrt {m})$种,那么可以用一个双向链表维护儿子的所有取值以及该取值的个数,那么对儿子节点修改一个值就是$O(\sqrt{m})$,整体修改可以通过在自己身上打一个标记做到$O(1)$ 然后还要修改父亲,那么可以 阅读全文
posted @ 2019-01-05 12:31 bztMinamoto 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题面 题解 又一道全场切的题目我连题目都没看懂……细节真多…… 先考虑怎么维护仙人掌。在线可以用LCT,或者像我代码里先离线,并按时间求出一棵最小生成树(或者一个森林),然后树链剖分。如果一条边不是生成树上的边,它肯定会和树上$u,v$这条路径构成一个环,然后对于每条树边记录一下这条树边被覆盖过没有 阅读全文
posted @ 2019-01-05 11:07 bztMinamoto 阅读(359) 评论(0) 推荐(0) 编辑
摘要: "传送门" 题面 liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_runda想让选手数n个节点的不同构的二叉树的数目. 但是liu_runda虽然退役已久,也知道 阅读全文
posted @ 2019-01-05 08:32 bztMinamoto 阅读(320) 评论(0) 推荐(0) 编辑
摘要: "传送门" 题面 题解 不难看出每个点的大小为行列限制中较小的那一个(因为数据保证有解) 对于行的每个限制,能取到的个数是列里限制大于等于它的数的个数,同理,对于列是行里大于它的个数(这里没有等于,为了避免重复计算) 于是可以对于行列分别开权值线段树,修改的时候只要把对应的贡献改一下就好了 //mi 阅读全文
posted @ 2019-01-05 08:16 bztMinamoto 阅读(290) 评论(0) 推荐(0) 编辑
Live2D