上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: http://blog.csdn.net/PoPoQQQ/article/details/43155749 1.随便去三个点构成三角形的轴承作为ans的初值 2.按照x排序 3.分治处理[l,r]内的三角形的最小周长 4.分治[l,r]=>[l,mid]和[mid+1,r] 5.两个子区间的情况都以 阅读全文
posted @ 2017-11-28 11:33 Stump 阅读(176) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/3810 CDQ分治棵题 第一维 排序 第二维 CDQ分治 第三位 树状数组维护 阅读全文
posted @ 2017-11-27 21:40 Stump 阅读(132) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/wiki/show?name=%E9%A2%98%E8%A7%A3+P3674 莫队算法+bitset维护 bitset真是个好东西. 考虑减的情况, 则ai-aj=x,ai=aj+x,l≤i,j≤r 所以,维护一个bitset s1满足s1&(s1<<x 阅读全文
posted @ 2017-11-27 20:27 Stump 阅读(690) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P3806 点分治棵题 对于每次询问,离线处理,每次取重心点分治,查询到每个位置,对于每次询问进行查询. 阅读全文
posted @ 2017-11-27 15:34 Stump 阅读(126) 评论(0) 推荐(0) 编辑
摘要: http://www.lydsy.com/JudgeOnline/problem.php?id=2152 还是点分治棵题 分治写法一样 只是维护的信息是路径长度mod 3的余数 阅读全文
posted @ 2017-11-27 11:42 Stump 阅读(170) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/userstatus?user_id=fzsz_chy 找重心作根,统计通过重心的路径数量 删根形成若干子树,再做类似操作. 阅读全文
posted @ 2017-11-27 11:12 Stump 阅读(175) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/1903 用pre[i]数组记录上一次和当前i同色的位置 查询[l,r],若pre[i]<r,则说明在[l,i)区间内没用和i同色的,则++ans 于是就可以大胆地分块 对于每一块按照pre[i]排序,再进行二分了 复杂度O 阅读全文
posted @ 2017-11-26 21:41 Stump 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 最短路+topsort+dp 求出1到所有点的单源最短路。 所有edge(x,y)满足dis[x]+w[e]≥dis[y], 则大于最短路的值不会减少。 设状态f[i][j]为到达i点时经过的长度为dis[i]+j(j≤k)的路径数. 因此对于一个节点可以扩展出其他k个新结点. 分别表示不同的距离( 阅读全文
posted @ 2017-11-25 21:54 Stump 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 每次操作(x,y)只对第x行和最后一列有影响. 所以维护n+1棵线段树. 第1~n棵维护1~n行每行的状态. 第n+1棵维护最后一列的状态. 但是空间好像会炸. 没关系,我们来动态开点. 动态开点的空间复杂度为O(q*log(max(n,m)+q)),非常优秀. 正紧点,时间复杂度也为O(q*log 阅读全文
posted @ 2017-11-25 19:50 Stump 阅读(268) 评论(0) 推荐(1) 编辑
摘要: 解题报告 状压DP=状压+记忆化搜索. dfs时可以方便维护每种状态的每个点的depth。 dep[b[j]]=dep[a[i]]+1; f[s|(1<<b[j])][st]=f[s][st]+dep[b[j]]*dis[a[i]][b[j]]; 阅读全文
posted @ 2017-11-23 17:12 Stump 阅读(241) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页