08 2016 档案

hdu 5823 color II 状压dp
摘要:题目链接 给n个点 n<=18。 然后给出它们两两之间是否有边相连。 问你这个图的所有子集,最少要用多少种颜色来染色, 如果两个点相连, 那么这两个点不能染同样的颜色。 先预处理出所有的点独立集, 然后直接状压枚举所有的状态。 对每种状态枚举这个状态的所有子状态进行转移即可。 阅读全文

posted @ 2016-08-12 12:24 yohaha 阅读(183) 评论(0) 推荐(0)

codeforces 519E A and B and Lecture Rooms lca倍增
摘要:题目链接 给一个树, 然后每次询问给出2个点, 让你求出到这两个点的距离相等的点的距离。 将1当成根, dfs一遍求出每个点的高度 1 如果两个点相等, 那么答案显然是n。 2. 如果两个点的距离是奇数, 那么显然无解。 3. 如果两个点高度相等, 那么我们找到他们两个的lca, 显然这两个点到他们 阅读全文

posted @ 2016-08-03 13:18 yohaha 阅读(228) 评论(0) 推荐(0)

codeforces 702E Analysis of Pathes in Functional Graph 倍增
摘要:题目链接 给一个图, 然后给出每条边的权值和一个k值。 让你求出从每个点出发, 走k次能获得的边权的和以及边权的最小值。 用倍增的思想, 求出每个点走一次能到达的点, 权值和以及最小值, 走两次..四次..八次。 这个很容易计算。然后枚举一下所有点就可以了。 阅读全文

posted @ 2016-08-03 10:55 yohaha 阅读(183) 评论(0) 推荐(0)

hdu 5126 stars cdq分治套cdq分治+树状数组
摘要:题目链接 给n个操作, 第一种是在x, y, z这个点+1. 第二种询问(x1, y1, z1). (x2, y2, z2)之间的总值。 用一次cdq分治可以将三维变两维, 两次的话就变成一维了, 然后最后一维用树状数组维护。 对于每个询问, 相当于将它拆成8个点。 注意第二次cdq分治的时候l可能 阅读全文

posted @ 2016-08-01 13:15 yohaha 阅读(305) 评论(0) 推荐(0)

导航