摘要:
BZOJ5461: [PKUWC2018]Minimax https://lydsy.com/JudgeOnline/problem.php?id=5461 分析: 写出$dp$式子:$ f "x][i] = sum f[ls][i]\times p\times sum1[rs][j" + f "l 阅读全文
摘要:
BZOJ4571: [Scoi2016]美味 https://lydsy.com/JudgeOnline/problem.php?id=4571 分析: 比较好的一道题。 按位贪心,假设由已经确定的那些位组成的数为$ans$。 令$c$为$(ans+(1 include include includ 阅读全文
摘要:
BZOJ1066: [SCOI2007]蜥蜴 https://lydsy.com/JudgeOnline/problem.php?id=1066 分析: 每个格子拆成两个点,中间限制流量为高度。 $S$向初始位置连边,能走出去的向$T$连边。 代码: 阅读全文
摘要:
BZOJ4367: [IOI2014]holiday假期 https://lydsy.com/JudgeOnline/problem.php?id=4367 分析: 最优解一定是只向一边移动最多一次。 如果确定左边在$i$拐, 右边在$j$拐,那么一共能取$min(j i+1,d (min(st i 阅读全文
摘要:
BZOJ5442: [Ceoi2018]Global warming https://lydsy.com/JudgeOnline/problem.php?id=5442 分析: 等价于后缀加(前缀减也可以转化成后缀加)。 求$L_i$表示$i$这个位置被加了$x$与前面的$lis$,$R_i$表示后 阅读全文
摘要:
BZOJ1758: [Wc2010]重建计划 https://lydsy.com/JudgeOnline/problem.php?id=1758 分析: 首先$01$分数规划,转化为求长度在$[L,U]$的最长路。 点分治,每层求某深度下的最大$dis$。 这里有一个操作,按子树深度最大值从小往大排 阅读全文
摘要:
BZOJ1007: [HNOI2008]水平可见直线 https://lydsy.com/JudgeOnline/problem.php?id=1007 分析: 这玩意是个半平面交,但是他可以用凸包来对偶搞一搞。 把直线按斜率排序,然后搞一搞就做完了 代码: cpp include include 阅读全文
摘要:
BZOJ3700: 发展城市 https://lydsy.com/JudgeOnline/problem.php?id=3700 分析: 枚举两个人,先求链交,求到两个端点的时间。 链交求法:求两两$lca$的$4$个点,去除掉不在路径上的,再去重,取$dfs$序最大的两个点。 同向,早进去的那个碗 阅读全文
摘要:
BZOJ3091: 城市旅行 https://lydsy.com/JudgeOnline/problem.php?id=3091 分析: 沙雕$lct$题,维护一坨信息。 其实也不是很多,维护答案,前缀和的和,后缀和的和,总和,$siz$。 注意翻转标记下传时要交换前缀后缀的信息。 代码: 阅读全文
摘要:
BZOJ5372: [Pkusc2018]神仙的游戏 https://lydsy.com/JudgeOnline/problem.php?id=5372 分析: 如果$len$为$border$,那么$n len$为周期,问题转化为周期。 我们知道如果$len$不是周期,那么其约数$d$也不是周期。 阅读全文
摘要:
BZOJ3509: [CodeChef] COUNTARI https://lydsy.com/JudgeOnline/problem.php?id=3509 分析: 分块,考虑$i,j,k$在不同的块内的方案数,这个我们枚举中间那个块两边做一次$fft$再枚举中间块即可。 其他的方案数可以用前缀 阅读全文