10 2019 档案

摘要:【CF573E】Bear and Bowling 题面 "洛谷" 题解 首先有一个贪心的结论: 我们一次加入每个数,对于$\forall i$,位置$i$的贡献为$V_i = k_i\times a_i+b_i$,其中$k_i$为位置$i$之前被选的数的个数,$b_i$为$i$之后被选的数的和。 那 阅读全文
posted @ 2019-10-30 17:22 heyujun 阅读(581) 评论(1) 推荐(2) 编辑
摘要:【BZOJ3508】开灯 题面 "bzoj" 题解 其实变为目标操作和从目标操作变回来没有区别,我们考虑从目标操作变回来。 区间整体翻转($\text{Xor}\;1$)有点难受,我们考虑将这个操作放在差分数组上,也就是说令$a$为原数组,$c$为差分数组,$c_i=a_{i 1}\text{Xor 阅读全文
posted @ 2019-10-30 16:48 heyujun 阅读(126) 评论(0) 推荐(0) 编辑
摘要:【LG3322】[SDOI2015]排序 题面 "洛谷" 题解 交换顺序显然不影响答案,所以每种本质不同的方案就给答案贡献次数的阶乘。 从小往大的交换每次至多$4$中决策,复杂度$O(4^n)$。 代码 cpp include include include include include incl 阅读全文
posted @ 2019-10-30 16:34 heyujun 阅读(250) 评论(3) 推荐(0) 编辑
摘要:【LG4397】[JLOI2014]聪明的燕姿 题面 "洛谷" 题解 考虑到约数和函数$\sigma = \prod (1+p_i+...+p_i^{r_i})$,直接爆搜把所有数搜出来即可。 爆搜过程和 "这道题" 一样,这里不再赘述。 代码 cpp include include include 阅读全文
posted @ 2019-10-30 16:12 heyujun 阅读(200) 评论(0) 推荐(0) 编辑
摘要:【BZOJ4722】由乃 题面 "bzoj" 题解 考虑到区间长度为$14$时子集个数$2^{14} 14\times 1000$,由抽屉原理,区间长度最多为$13$(长度大于这个值就一定有解)。 那么对于一个区间我们可以暴力背包$dp$出来,然后$bitset$优化下就是$\frac {13\ti 阅读全文
posted @ 2019-10-30 16:06 heyujun 阅读(224) 评论(1) 推荐(0) 编辑
摘要:【BZOJ3837】[PA2013]Filary 题面 "darkbzoj" 题解 考虑到模数为$2$时答案至少为$\frac n2$,这是我们答案的下界。 那么我们对于任意的一个数,它们答案集合中的就概率至少为$\frac 12$。 那么我们随机选出一个数,将这个数与其他数作差,那么将这些数分解质 阅读全文
posted @ 2019-10-30 15:38 heyujun 阅读(169) 评论(1) 推荐(0) 编辑
摘要:【LG2567】[SCOI2010]幸运数字 题面 "洛谷" 题目大意: 问你区间$ "L,R" $中有几个数是仅由$6,8$组成的数的倍数。 题解 首先考虑容斥。 但是这种数字去掉有倍数关系的数还有$943$个,还是无法直接容斥。 这时候可以借鉴一下$meet\;in\;the\;middle$的 阅读全文
posted @ 2019-10-30 15:24 heyujun 阅读(150) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3569】DZY Loves Chinese II 题面 "bzoj" 题目大意: 给你一张$N(1\leq N\leq 10^5)$个点$M(1\leq M\leq 5\times 10^5)$条边的无向图,有$Q(1\leq Q\leq 5\times 10^4)$次询问,每次询问问你 阅读全文
posted @ 2019-10-30 15:18 heyujun 阅读(185) 评论(0) 推荐(0) 编辑
摘要:【BZOJ3711】Druzyny 题面 "bzoj" 题解 首先我们有一个$O(n^2)$的$dp$: 设$f_i$表示现在已经分好了$1...i$的组,且$i$作为一组的结尾的最大值,那么转移的话就是对于每个 $\max\limits_{k=j}^i c_k\leq i j+1\leq \min 阅读全文
posted @ 2019-10-24 11:43 heyujun 阅读(363) 评论(2) 推荐(2) 编辑
摘要:【LG2605】[ZJOI2010]基站选址 题面 "洛谷" 题解 先考虑一下暴力怎么写,设$f_{i,j}$表示当前$dp$到$i$,且强制选$i$,目前共放置$j$个的方案数。 那么转移为$f_{i,j}=\min_{k=1}^{i 1} \{f_{k,j 1}+cost_{k,i}\}+c_i 阅读全文
posted @ 2019-10-23 22:20 heyujun 阅读(231) 评论(0) 推荐(1) 编辑
摘要:【AGC009E】Eternal Average 题面 "洛谷" 题解 神仙题.jpg 我们把操作看成一棵$k$叉树,其中每个节点有权值,所有叶子节点(共$n+m$个)就是$0$或$1$。 出了叶子节点外的所有节点就代表一次合并,权值就是他们的平均值。 设一开始$0$点的深度分别为$x_1,x_2. 阅读全文
posted @ 2019-10-23 21:03 heyujun 阅读(376) 评论(0) 推荐(1) 编辑
摘要:【AGC009C】Division into Two 题面 "洛谷" 题解 首先有一个比较显然的$n^2$算法: 设$f_{i,j}$表示$A$序列当前在第$i$个,$B$序列当前在第$j$个的方案数,发现$i,j$大小没有限制不是很好转移,于是再设一个$g_{i,j}$表示$B$序列当前在第$i$ 阅读全文
posted @ 2019-10-23 20:12 heyujun 阅读(322) 评论(6) 推荐(0) 编辑
摘要:【LG3647】[APIO2014]连珠线 题面 "洛谷" 题解 首先考虑一下蓝线连起来的情况,一定是儿子 父亲 另一个儿子或者是儿子 父亲 父亲的父亲。 而因为一开始只有一个点在当前局面上,将一条红边变为两条蓝边也只能在一对有父子关系的点之间加,所以第一种“儿子 父亲 另一个儿子”的情况实际上是不 阅读全文
posted @ 2019-10-23 17:25 heyujun 阅读(199) 评论(0) 推荐(0) 编辑
摘要:【LG5504】[JSOI2011]柠檬 题面 "洛谷" 题解 考虑$dp$,令$f_i$表示$dp$到第$i$位且在第$i$位分段的最大值。 我们令题面中的$s_i$为$a_i$,那么对于一个转移点$j$,显然$a_i=a_j$,因为多余的颜色肯定无法产生贡献,不如不选。 令$c_i$为位置$i$ 阅读全文
posted @ 2019-10-23 16:58 heyujun 阅读(160) 评论(0) 推荐(0) 编辑
摘要:【CF55D】Beautiful numbers 题面 "洛谷" 题解 考虑到如果一个数整除所有数那么可以整除他们的$lcm$,而如果数$x$满足$x\bmod Lcm(1,2...,9)=r$,且$r\bmod Lcm\{x有的数\}=0$,那么这个数一定满足条件。 因为$Lcm(1,2...,9 阅读全文
posted @ 2019-10-23 16:38 heyujun 阅读(181) 评论(0) 推荐(0) 编辑
摘要:【Wannafly挑战赛24E】旅行 题面 "牛客" 题解 首先有一个非常显然的$dp$:我们直接把$s\rightarrow t$的路径抠出来然后设$f_{i,j}$表示到第$i$个点,目前余数为$j$的方案数。 但是这样子复杂度显然是不对的,我们想办法快速合并对于某个点$u$,$s\righta 阅读全文
posted @ 2019-10-21 09:13 heyujun 阅读(135) 评论(0) 推荐(0) 编辑
摘要:【LG3582】[POI2015]KIN 题面 "洛谷" 题解 这题维护区间的信息有点像最大子段和,我们往最大子段和上面靠。 对于一个颜色,我们有一个直观的想法就是将它一次出现的权值设为正,二次出现就设为负。 但是当区间中出现次数多于两次怎么办呢?我们可以考虑从左往右扫这个序列,这个数出现在最靠右的 阅读全文
posted @ 2019-10-21 08:58 heyujun 阅读(118) 评论(0) 推荐(0) 编辑
摘要:【CF1142B】Lynyrd Skynyrd 题面 "洛谷" 题解 假设区间$[l,r]$内有一个循环位移,那么这个循环位移一定有一个最后的点,而这个点在循环位移中再往前移$n 1$个位置也一定在这个区间中。 那么我们将每一个点在它所在循环位移中前挪$n 1$个位置记下来,判断一下$[l,r]$中 阅读全文
posted @ 2019-10-18 19:33 heyujun 阅读(173) 评论(0) 推荐(0) 编辑
摘要:【CF765F】Souvenirs 题面 "洛谷" 题解 我们可以发现,对于某个右端点$i$,左端点$j$在由$i\rightarrow 1$的过程中,每一段的答案是单调不增的,由这个性质,我们想办法维护出加入右端点$i$后的答案。 我们只考虑形如$ja_i$且$j$最大,这个可以用值域线段树维护。 阅读全文
posted @ 2019-10-17 22:00 heyujun 阅读(211) 评论(0) 推荐(0) 编辑
摘要:【LG2839】[国家集训队]middle 题面 "洛谷" 题解 按照求中位数的套路,我们二分答案$mid$,将大于等于$mid$的数设为$1$,否则为$ 1$。 若一个区间和大于等于$0$,则答案可以更大,反之亦然。 对于这个题,我们只要维护出$[b+1,c 1]$之间二分答案后的和,$[a,b] 阅读全文
posted @ 2019-10-17 21:40 heyujun 阅读(162) 评论(0) 推荐(0) 编辑
摘要:【LG2154】[SDOI2009]虔诚的墓主人 题面 "洛谷" 题解 ~~如果您没有看懂题,请反复阅读题面及样例~~ 可以发现,对于某一个点,它的答案就是上下左右几个组合数乘起来。 这样直接做复杂度显然爆炸,考虑怎么优化这个东西。 我们可以固定左右,在某两个左右之间维护上下有多少个,这样子的话左右 阅读全文
posted @ 2019-10-17 21:34 heyujun 阅读(147) 评论(0) 推荐(0) 编辑
摘要:【LG3783】[SDOI2017]天才黑客 题面 "洛谷" 题解 首先我们有一个非常显然的$O(m^2)$算法,就是将每条边看成点, 然后将每个点的所有入边和出边暴力连边跑最短路,我们想办法优化这里的连边。 具体怎么做呢,我们将所有入边和出边在$\text{Trie}$树上所对应的点放在一起按$d 阅读全文
posted @ 2019-10-16 22:37 heyujun 阅读(196) 评论(2) 推荐(0) 编辑
摘要:【UVA1057】Routing 题面 "洛谷" 题解 有一个比较好想的dp就是$f_{i,j}$表示第一个点在$i$,第二个点在$j$的最小点数,但是直接搞不好转移。 考虑建出反图,那么$j$表示在反图上的点$j$其实是和正图上的是一样的。 这样子的话我们枚举出边转移: $$ f[v][u2]=f 阅读全文
posted @ 2019-10-15 21:37 heyujun 阅读(203) 评论(0) 推荐(0) 编辑
摘要:【ARC098F】Donation 题面 "atcoder" 题意: 给定一张$n$个点,$m$条边的无向图。这张图的每个点有两个权值 $a_i,b_i$。 你将会从这张图中选出一个点作为起点,随后开始遍历这张图。 你能到达一个节点 $i$当且仅当你的手上有至少$a_i$元钱。当你到达一个节点$i$ 阅读全文
posted @ 2019-10-15 17:14 heyujun 阅读(379) 评论(0) 推荐(1) 编辑
摘要:【CF1042F】Leaf Sets 题面 "洛谷" 题解 对于一个根节点$x$,考虑其子树内的所有$lca$为它的叶子节点到它的距离$d_1K$,我们可以将$i$之前的所有叶子节点合并成一个大点,并以深度$d_i$向上合并,再将$d_{i+1}...d_m$向上合并即可。 这样子用数据结构维护复杂 阅读全文
posted @ 2019-10-15 16:27 heyujun 阅读(173) 评论(0) 推荐(0) 编辑
摘要:【CF241E】Flights 题面 "洛谷" 题解 对于原来的图,如果一条边不出现在$1$到$n$的路径上面,直接$ban$掉即可。 那么考虑一条边$u\rightarrow v$,一定满足$1\leq dis_v dis_u\leq 2$,其中$dis_u,dis_v$表示$1$到$u,v$的最 阅读全文
posted @ 2019-10-15 16:15 heyujun 阅读(173) 评论(0) 推荐(0) 编辑
摘要:【BZOJ2095】[Poi2010]Bridges 题面 "darkbzoj" 题解 首先可以想到二分答案,那么我们就是要求我们新图中给所有边定向是否存在欧拉回路。 而有向图存在欧拉回路的充要条件为所有顶点的入度等于出度且该图是连通图,我们考虑在这一点上做文章。 令一个点的入度减出度表示一个点的度 阅读全文
posted @ 2019-10-14 22:35 heyujun 阅读(243) 评论(0) 推荐(0) 编辑