摘要: [NOI2017]泳池 实在没有思路啊~~~ luogu题解 1.差分,转化成至多k的概率减去至多k-1的概率。这样就不用记录“有没有出现k”这个信息了 2.n是1e9,感觉要递推然后利用数列的加速技巧 f[n]表示宽度为n的值,然后枚举最后一个连续高度至少为1的块,dp数组辅助 神仙dp:dp[i 阅读全文
posted @ 2019-02-25 21:10 *Miracle* 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 半年前做的一道题现在还是不会 x&y=0 意味着,x的补集的子集都是和x直接相连的 不妨令图中的点数就是2^n 那么可以直接从x^((1<<n)-1)开始记忆化爆搜,路上遇到的都是和x直接相连的 如果遇到一个在给出集合里的数t,就从这个点额外再开一层,t^((1<<n)-1)再开始爆搜 这样,如果两 阅读全文
posted @ 2019-02-25 14:41 *Miracle* 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 半年前做的一道题现在还是不会 x&y=0 意味着,x的补集的子集都是和x直接相连的 不妨令图中的点数就是2^n 那么可以直接从x^((1<<n)-1)开始记忆化爆搜,路上遇到的都是和x直接相连的 如果遇到一个在给出集合里的数t,就从这个点额外再开一层,t^((1<<n)-1)再开始爆搜 这样,如果两 阅读全文
posted @ 2019-02-25 14:41 *Miracle* 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 基于边的一种分治。统计过中心边的所有路径 可以类比点分治学习 构造: 每次找中心边(使得两侧的sz的最大值最小),然后递归下去 菊花图会卡成链,构造变成O(n^2)。 其实复杂度和度数相关 考虑转化成二叉树 三度化 法一:把所有儿子依次加一个点串起来 法二: 如果儿子多于2个,建立两个儿子虚点,把真 阅读全文
posted @ 2019-02-25 12:01 *Miracle* 阅读(3329) 评论(3) 推荐(3) 编辑
摘要: 简化版描述: 给定一棵N个点的树,求树上一条链使得链的长度乘链上所有点中的最小权值所得的积最大。 其中链长度定义为链上点的个数。 有几个不同的做法: 1.sort+并查集+树的直径。边从大到小加入,并查集维护连通块,记录连通块的直径的两个端点,合并连通块的时候更新直径,并且用len*bian[i]. 阅读全文
posted @ 2019-02-25 11:59 *Miracle* 阅读(1116) 评论(2) 推荐(0) 编辑