摘要: LOJ 2351. 「JOI 2018 Final」毒蛇越狱 https://loj.ac/problem/2351 分析: 首先有$2^{|?|}$的暴力非常好做。 观察到$min(|1|,|0|,|?|)\le 6$,我们只需要推出一个$2^{|0|}$和$2^{|1|}$的容斥式子 而这个式子 阅读全文
posted @ 2019-01-13 21:47 fcwww 阅读(519) 评论(0) 推荐(0) 编辑
摘要: BZOJ1547: 周末晚会 https://lydsy.com/JudgeOnline/problem.php?id=1547 分析: 对于一个串旋转若干次会回到本身,旋转次数即是同构个数,这个东西和最小整除周期有关。 设$f_i$表示有多少个串的最小整除周期是$i$,$g_i=\sum\limi 阅读全文
posted @ 2019-01-13 21:43 fcwww 阅读(236) 评论(0) 推荐(0) 编辑
摘要: BZOJ5340: [Ctsc2018]假面 https://lydsy.com/JudgeOnline/problem.php?id=5340 分析: 背包,只需要求$g_{i,j}$表示强制活第$i$个人一共活了$j$个人的概率,$f_j$表示活了$j$个人的概率 。 这个东西有$g_{i,j} 阅读全文
posted @ 2019-01-13 21:41 fcwww 阅读(189) 评论(0) 推荐(0) 编辑
摘要: BZOJ2616: SPOJ PERIODNI https://lydsy.com/JudgeOnline/problem.php?id=2616 分析: 好题,以最小值为根建出笛卡尔树,转化成矩形问题,那么两棵子树之间就不会产生相互攻击的情况。 这是一个比较经典的模型,笛卡尔树上每一个点维护一个矩 阅读全文
posted @ 2019-01-13 21:36 fcwww 阅读(286) 评论(0) 推荐(0) 编辑
摘要: BZOJ4750: 密码安全 https://lydsy.com/JudgeOnline/problem.php?id=4750 分析: 对区间进行分治,每次取出最大值,然后枚举二进制位预处理二进制每一位前缀和更新答案。 建笛卡尔树。 代码: cpp include include include 阅读全文
posted @ 2019-01-13 21:30 fcwww 阅读(137) 评论(0) 推荐(0) 编辑
摘要: BZOJ2458: [BeiJing2011]最小三角形 https://lydsy.com/JudgeOnline/problem.php?id=2458 分析: 求最近点次近点更新答案能A掉这道题,虽然我不知道是不是正确的。 那么用$KDtree$乱搞即可。 代码: cpp include in 阅读全文
posted @ 2019-01-13 21:26 fcwww 阅读(220) 评论(0) 推荐(0) 编辑
摘要: BZOJ3811: 玛里苟斯 https://lydsy.com/JudgeOnline/problem.php?id=3811 分析: $K=1$可以随便做,每一位的贡献都是确定的,推一推可以发现每一位是$1$的概率都是$1/2$,这是因为这位是$0$的数字对答案没有影响。直接把所有数或起来除$2 阅读全文
posted @ 2019-01-13 21:24 fcwww 阅读(310) 评论(0) 推荐(0) 编辑
摘要: BZOJ3600: 没有人的算术 https://lydsy.com/JudgeOnline/problem.php?id=3600 分析: 重量平衡树的一个应用。 每个点分配一个标号和权值,满足左儿子是$(l+mid)/2$,右儿子是$(mid+r)/2$,同时对于这个点维护的信息满足$bst$的 阅读全文
posted @ 2019-01-13 21:15 fcwww 阅读(237) 评论(0) 推荐(0) 编辑
摘要: BZOJ5319: [Jsoi2018]军训列队 https://lydsy.com/JudgeOnline/problem.php?id=5319 分析: 易知把所有人按原本的顺序放到$[K,K+len 1]$这些位置上是最优的。 我们只需要求一个$mid$, 满足从$mid$以后的人都是向左移动 阅读全文
posted @ 2019-01-13 21:09 fcwww 阅读(166) 评论(0) 推荐(0) 编辑