随笔分类 -  分块

Harry And Biological Teacher 分块 + 字符串hash
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5069 首先判断suffix和prefix最长多少可以直接暴力枚举长度然后 + hash可以立马判断是否相等,复杂度O(lenstr) 现在知道总长度 <= 1e5, magic = sqrt(lenstr) 那么 阅读全文

posted @ 2017-08-04 22:56 stupid_one 阅读(210) 评论(0) 推荐(0) 编辑

BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 分块
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 维护cnt[i]表示第i个节点,跳出他所属于的块的最小步数, to[i]表示第i个节点,跳出他所属的块的时候,去到那一个位置。 那么, 查询:复杂度O(sqrt(n)),不断 ans += cn 阅读全文

posted @ 2017-07-21 20:31 stupid_one 阅读(149) 评论(0) 推荐(0) 编辑

E. XOR and Favorite Number 莫队 2038: [2009国家集训队]小Z的袜子(hose)
摘要:一直都说学莫队,直到现在才学,训练的时候就跪了 T_T,其实挺简单的感觉。其实训练的时候也看懂了,一知半解,就想着先敲。(其实这样是不好的,应该弄懂再敲,以后要养成这个习惯) 前缀异或也很快想出来,结果没弄好边界,也是对前缀异或和莫队的不熟练。 CF 的E题,给定区间中有多少子区间个数异或等于k 容 阅读全文

posted @ 2017-07-16 23:08 stupid_one 阅读(173) 评论(0) 推荐(0) 编辑

D. Alyona and a tree 公式转换 + 分块暴力
摘要:http://codeforces.com/problemset/problem/740/D 对于每一对<u, v>。设dis[u]表示root到点u的距离,那么dis<u去v>就是dis[v] - dis[u], 就是在它的儿子中找出有多少个v使得dis[v] - dis[u] <= a[v]。然 阅读全文

posted @ 2016-12-12 21:59 stupid_one 阅读(263) 评论(0) 推荐(0) 编辑

E. Xenia and Tree 分块 + LCA
摘要:http://codeforces.com/contest/342/problem/E 如果把询问1存起来,每到sqrt(m)的时候再处理一次。 那么总复杂度就是msqrt(m)的。 把要变颜色的节点存起来,可以同时一次O(n)的bfs 然后就是LCA了。LCA需要倍增的做法。这题真的是个好题。。 阅读全文

posted @ 2016-12-10 16:02 stupid_one 阅读(294) 评论(0) 推荐(0) 编辑

HDU 4366 Successor 分块做法
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4366 今日重新做了这题的分块,果然是隔太久了,都忘记了。。 首先,用DFS序变成一维的问题 关键是它有两个权值,该如何处理呢? 首先假设我们的DFS序列是List, 那么,对其进行分块。对于每一个块,先按能力排序 阅读全文

posted @ 2016-12-07 22:33 stupid_one 阅读(439) 评论(0) 推荐(0) 编辑

Codeforces Round #378 (Div. 2) D. Kostya the Sculptor 分组 + 贪心
摘要:http://codeforces.com/contest/733/problem/D 给定n个长方体,然后每个长方体都能选择任何一个面,去和其他长方体接在一起,也可以自己一个,要求使得新的长方体的最短的那条边最大。 看样例2就知道,因为10、8、7和10、8、2组合后,min = 8,是最大的。 阅读全文

posted @ 2016-11-01 08:54 stupid_one 阅读(255) 评论(0) 推荐(0) 编辑

D. Time to Raid Cowavans 分块暴力,感觉关键在dp
摘要:http://codeforces.com/contest/103/problem/D 对于b大于 sqrt(n)的,暴力处理的话,那么算出每个的复杂度是sqrt(n),就是把n分成了sqrt(n)段, 其他的,b小于sqrt(n)的,那么不同 b值最多只有sqrt(n)个,但是询问可能达到q个。考 阅读全文

posted @ 2016-10-02 13:32 stupid_one 阅读(209) 评论(0) 推荐(0) 编辑

HDU - 4366 Successor DFS序 + 分块暴力 or 线段树维护
摘要:给定一颗树,每个节点都有忠诚和能力两个参数,随意指定一个节点,要求在它的子树中找一个节点代替它,这个节点要满足能力值大于它,而且是忠诚度最高的那个。 首先,dfs一下,处理出L[i], R[i]表示dfs序,则R[i] - L[i] + 1 就是当前i这个节点拥有的子孙个数。 对于一颗树,dfs的时 阅读全文

posted @ 2016-08-31 23:35 stupid_one 阅读(243) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示