摘要: 四道比较水的题 T1:SPFA+状压 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<queue> 5 #define INF 0x3f3f3f3f 6 using namespace std; 7 阅读全文
posted @ 2016-11-17 08:26 mzl0707 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 去年的我还不会打斗地主呵呵 觉得这道题挺难的。。抄了一遍题解,感触挺多的= = 首先出牌的方式太多了不能每次都枚举所有的出牌方式, 于是分成两部分:1、顺子 2、带牌等其他 每次dfs都搜顺子,而且顺子不一定要全出完 所以很机智的是,方式2可以直接模拟计算出来,搜到每个状态都先用方式2计算一下最终的 阅读全文
posted @ 2016-11-17 08:18 mzl0707 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一棵树,以一定顺序走完n个点,求每个点经过多少遍 可以树链剖分,也可以直接在树上做差分序列的标记 后者打起来更舒适一点。。 具体实现: 先求x,y的lca,且dep[x]<dep[y], 如果在一棵子树下的一条链上,那么lca就是x 则g[fa[x]]--; g[y]++; 如果在一棵子树 阅读全文
posted @ 2016-11-17 08:07 mzl0707 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 枚举每个分段的点,每次O(n)更新左边和右边的hash值 然后用双指针O(n)计算答案 阅读全文
posted @ 2016-11-17 07:59 mzl0707 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 昨天看了可并堆是什么,写的是左偏树 大概就是一棵树 1、有左偏性质,即当前根到左叶子节点距离比到右叶子节点距离大 2、有堆性质,堆顶关键字比子树关键字小 合并两个堆的时候,关键字大的插入到关键字小的那堆的右子树中,右子树的深度大于左子树时交换两者以维持左偏性质。 堆中个数太多的时候,pop堆顶的元素 阅读全文
posted @ 2016-11-17 07:55 mzl0707 阅读(142) 评论(0) 推荐(0) 编辑