随笔分类 - BZOJ
摘要:"[Sdoi2017]硬币游戏" 题意:硬币序列,H T等概率出现,$n \le 300$个人猜了一个长为$ m \le 300$的字符串,出现即获胜游戏结束。求每个人获胜概率 考场用了 "1444: [Jsoi200\]有趣的游戏" 的做法,40分 标解好神! 思想就是 用N表示所有没有人获胜的状
阅读全文
摘要:"[Sdoi2017]序列计数" 题意:长为$n \le 10^9$由不超过$m \le 2 \cdot 10^7$的正整数构成的和为$t\le 100$的倍数且至少有一个质数的序列个数 总 没有质数 裸矩阵快速幂,$i \rightarrow (i+k)\mod t$ 但是构造矩阵m个数一个个试的
阅读全文
摘要:"[Sdoi2017]树点涂色" 题意:一棵有根树,支持x到根染成新颜色,求x到y颜色数,求x子树里点到根颜色数最大值 考场发现这个信息是可减的,但是没想到lct 特意设计成lct的形式! 如何求颜色数? 维护一个点和父亲的颜色是否一样,不一样为1,就是前缀和。 考虑相邻 的思想和那道“水位线”有点
阅读全文
摘要:"[Sdoi2017]数字表格" 题意:求 $$ \prod_{i=1}^n \prod_{j=1}^m f[(i,j)] $$ 考场60分 其实多推一步就~~推倒~~了... 因为是乘,我们可以放到 幂 上 $$ \prod_{d=1}^n \prod_{i=1}^{\frac{n}{d}}\pr
阅读全文
摘要:"3160: 万径人踪灭" 题意:求一个序列有多少不连续的回文子序列 一开始zz了直接用$2^{r_i} 1$ 总 回文子串 后者用manacher处理 前者,考虑回文有两种对称形式(以元素/缝隙作为对称轴) f[i],i为奇数表示以缝隙对称,偶数表示以元素i 1对称,对答案的贡献就是$2^{f[i
阅读全文
摘要:"4539: [Hnoi2016]树" 题意:不想写。复制模板树的子树,查询两点间距离。 终于有一道会做的题了...... 画一画发现可以把每次复制的子树看成一个大点来建一棵树,两点的lca一定在大点的lca里 然后每个大点维护一坨信息:节点编号的区间范围,到根的距离,大点对应子树的根,大点是接在了
阅读全文
摘要:"4538: [Hnoi2016]网络" 题意:一棵树,支持添加一条u到v权值为k的路径,删除之前的一条路径,询问不经过点x的路径的最大权值 考虑二分 整体二分最大权值,如果$k \in [mid+1,r]$中的路径有不经过x的,那么这个询问的答案在$[mid+1,r]$中 链修改,点查询$\rig
阅读全文
摘要:"4540: [Hnoi2016]序列" 题意:询问区间所有子串的最小值的和 不强制在线当然上莫队啦 但是没想出来,因为不知道该维护当前区间的什么信息,维护前后缀最小值的话不好做 想到单调栈求一下,但是对于$[l,r]$还是可能有很多最小值,数据不随机的话会被卡 预处理!!! 预处理$l_i,\ r
阅读全文
摘要:"4537: [Hnoi2016]最小公倍数" 题意:一张边权无向图,多组询问u和v之间有没有一条a最大为a',b最大为b'的路径(不一定是简单路径) 首先想到暴力做法,题目要求就是判断u和v连通,并查集把$a include include include include using namesp
阅读全文
摘要:HEOI2016 题解 Q:为什么要在sdoi前做去年的heoi题 A:我省选药丸 http://cogs.pro/cogs/problem/index.php?key=heoi2016 D1T1 树 树剖直接做 或者操作逆序,并查集维护自己和祖先中第一个打标记的点, 注意1号点本身有标记,mark
阅读全文
摘要:"3993: [SDOI2015]星际战争" 题意:略 R1D2T1考了裸二分答案+二分图最大匹配... cpp include include include include include using namespace std; typedef long long ll; const int
阅读全文
摘要:"4698: Sdoi2008 Sandy的卡片" 题意:差分后就是多个串LCS SAM+map大法好 模板打错 智力 2 cpp include include include include include include using namespace std; typedef long lo
阅读全文
摘要:"3990: [SDOI2015]排序" 题意:$2^n$的一个排列,给你n种操作,第i种把每$2^{i 1}$个数看成一段,交换任意两段。问是这个序列有序的操作方案数,两个操作序列不同,当且仅当操作个数不同,或者至少一个操作不同(种类不同或者操作位置不同). R1D1T1 先玩一下样例 发现操作的
阅读全文
摘要:"2959: 长跑" 题意:字词加入边,修改点权,询问两点间走一条路径的最大点权和。不一定是树 不是树😱 把边双连通分量缩为一点! 怎么缩? 用一个并查集维护连通性,另一个并查集维护每个点所在边双的编号,初始化就是自己。 加边(x,y)的时候,如果形成环,那么把x到y的路径提取出来,把这个spla
阅读全文
摘要:"2707: [SDOI2012]走迷宫" 题意:求s走到t期望步数,$n \le 10^4$,保证$|SCC| \le 100$ 求scc缩点,每个scc高斯消元,scc之间直接DP 注意每次清空系数矩阵 cpp include include include include include us
阅读全文
摘要:" 219. 【NOI2016】优秀的拆分" 题意:求有多少AABB样子的子串,拆分不同的同一个子串 算多个 一开始一直想直接求,并不方便 然后看了一眼 "Claris" 的题解的第一行就有思路了 如果分开,求$f[i]$以i结尾AA形式子串和$g[i]$以i开始AA形式子串 就可以套路了 使用常用
阅读全文
摘要:"3530: [Sdoi2014]数数" 题意:$\le N$的不含模式串的数字有多少个,$n=|N| \le 1200$ 考虑数位DP 对于长度$\le n$的,普通套路DP$g[i][j]$即可 对于长度$=n$的,需要考虑天际线,$f[i][j][0/1]$表示从高开始i位走到节点j,是否卡上
阅读全文
摘要:"2938: [Poi2000]病毒" 题意:判断是否存在无限长的不含模式串的字符串。只有01. 建出套路DP的转移图,判断有环就行了 练习一下拓扑排序 cpp include include include include include using namespace std; const in
阅读全文
摘要:"2466: [中山市选2009]树" 题意:开关上树 见到拿高斯消元胡就行了 cpp include include include include include include using namespace std; typedef unsigned long long ll; const
阅读全文
摘要:"3566: [SHOI2014]概率充电器" 题意:一棵树,每个点$q[i]$的概率直接充电,每条边$p[i]$的概率导电,电可以沿边传递使其他点间接充电。求进入充电状态的点期望个数 "糖教题解传送门" 每个充电的点贡献1,就是求每个点充电的概率的和 考虑树形DP ,分别求子树内的影响和父亲的影响
阅读全文