上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: 这题做法好多好多啊 首先我们发现直径的重合部分一定是类似于 这样的 然后考虑产生多条直径的条件,一定是某点走到底和它走到直径的一端长度相同 这里的每条线其实可以看做每个点子树最深的地方了,那么我们处理出直径上每个点最深能到达的地方,扫一遍,找到两个端点,这两个端点之间就是必经边了 dis数组用的比较 阅读全文
posted @ 2019-10-15 15:56 羊肉汤泡煎饼 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意:给一棵无根树,要求一个有长度限制的路径使得 距离这条路径最远的点 距此路径的距离最小 性质:对一个点,距离它最远的点是直径上两个端点之一,不然不要原来的端点把那个更远的点连到直径上直径会更长 对直径上的一条路径,如果某 不在直径上的点b 到此路径上最近的点 是这条路径的端点a,那么这个距离一定 阅读全文
posted @ 2019-10-15 10:10 羊肉汤泡煎饼 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 不知道题解啥意思咋想到的 阅读全文
posted @ 2019-10-14 20:23 羊肉汤泡煎饼 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 普及组T4 还有点不懂的先咕着 阅读全文
posted @ 2019-10-14 17:34 羊肉汤泡煎饼 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 首先第一反应该是贪心,对于同一队列中的人应该是吃时间长的人先打饭更优,因为打饭时间不可避免,同时吃饭的人更多就一定更优,接下来就是处理谁在哪队了,设$f[i][j][k]$为前i人队1花费j时间队2花费k时间全部吃完用的最小时间,然而其实不用因为j+k为全集,所以搞个前缀和可以减一维, 转移为$f[ 阅读全文
posted @ 2019-10-14 14:53 羊肉汤泡煎饼 阅读(172) 评论(0) 推荐(0) 编辑
摘要: n个人排队打饭,每个人可以容忍在他后面的b[i]个人在他前面打饭,每次打饭的时间消耗为两个人权值异或(或-与),问最短时间 小数据范围一定要想状压,b[i]<=7提示我们状压当前这个人周围的7个(左右)的人,要算每次消耗的时间还要再记上一个打饭的人,注意这个人不可能在某人后面或前面7位以上,所以直接 阅读全文
posted @ 2019-10-11 20:23 羊肉汤泡煎饼 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 板子就是同时在两个线段树上走,然后合并信息,一般是权值线段树 板题: luogu_P3605 求子树内有多少比此点权值大的(类似逆序对 用线段树合并做就是每个点维护权值线段树,每dfs到一个点就dfs并合并它所有儿子的线段树,查询答案 CF600E 一棵树有n个结点,每个结点都是一种颜色,每个颜色有 阅读全文
posted @ 2019-10-11 14:44 羊肉汤泡煎饼 阅读(165) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-10-11 10:30 羊肉汤泡煎饼 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 数据范围小,不是爆搜就是状压 发现每个集合s不能表示所有状态,还有一个状态是和起始点的距离,这样我们直接用$f[x][s][d]$表示点x在点集s深度为d的最小代价,暴力枚举每个起始点直接扩展状态,把s跑满就更新答案,图上所以dfs实现还好写 阅读全文
posted @ 2019-10-10 11:08 羊肉汤泡煎饼 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 给定一个l,r,表示只能选择起点为i,终点在i+l-1,i+r-1内的区间,每个区间的贡献为区间内的和,现在从所有合法区间内选k个使和最大 先转化成前缀和,要求的是$max(sum[k]-sum[i-1])(1 \le i \le n)(i+l-1 \le k \le i+r-1)$,可以看到sum 阅读全文
posted @ 2019-10-10 08:10 羊肉汤泡煎饼 阅读(107) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页