摘要: 【CF1151E】Number of Components 题面 "CF" 题解 联通块个数=点数 边数。 然后把边全部挂在较小的权值上。 考虑从小往大枚举左端点,等价于每次删掉一个元素,那么删去点数,加上边数,修改一下当前值就行了。 这个东西对于任意形态的树都可以做。 cpp include in 阅读全文
posted @ 2019-04-19 21:54 小蒟蒻yyb 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 【CF1151F】Sonya and Informatics(动态规划,矩阵快速幂) 题面 "CF" 题解 考虑一个暴力$dp$。假设有$m$个$0$,$n m$个$1$。设$f[i][j]$表示当前做到了第$i$个操作,前$m$个元素中有$j$个$1$的方案数。 转移就枚举交换哪两个东西就可以了。 阅读全文
posted @ 2019-04-19 20:53 小蒟蒻yyb 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ5507】[GXOI/GZOI2019]旧词(树链剖分,线段树) 题面 "BZOJ" "洛谷" 题解 如果$k=1$就是链并裸题了。。。 其实$k 1$发现还是可以用类似链并的思想,这个东西本质上就是对于当前的一个$x$,考虑对于其他所有点的贡献,而他们的$LCA$一定是$x$到根节点链上 阅读全文
posted @ 2019-04-19 20:00 小蒟蒻yyb 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ5506】[GXOI/GZOI2019]旅行者(最短路) 题面 "BZOJ" "洛谷" 题解 正着做一遍$dij$求出最短路径以及从谁转移过来的,反过来做一遍,如果两个点不由同一个点转移过来就更新答案。 cpp include include include include using n 阅读全文
posted @ 2019-04-19 15:17 小蒟蒻yyb 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ5505】[GXOI/GZOI2019]逼死强迫症(矩阵快速幂) 题面 "BZOJ" "洛谷" 题解 如果没有那两个$1 1$的东西,答案就是斐波那契数,可以简单的用$dp$得到。 大概是设$f[i]$表示当前除了到第$i$列的方案数,转移是考虑用$2 1$竖着覆盖一列还是$2$个$1 2 阅读全文
posted @ 2019-04-19 14:36 小蒟蒻yyb 阅读(444) 评论(2) 推荐(0) 编辑
摘要: 【BZOJ5503】[GXOI/GZOI2019]宝牌一大堆(动态规划) 题面 "BZOJ" "洛谷" 题解 首先特殊牌型直接特判。 然后剩下的部分可以直接$dp$,直接把所有可以存的全部带进去大力$dp$就行了。 发现每多一张牌胡的本质就是把一个刻字换成杠子,所以这两个东西记录在一起就行了。 那么 阅读全文
posted @ 2019-04-19 09:08 小蒟蒻yyb 阅读(366) 评论(0) 推荐(0) 编辑