摘要:
一、题目 点此看题 二、解法 我自己做的时候用 \(\tt Boruvka\) 加点分治,一直 \(\tt T\) 三个点根本卡不过去。 其实可以直接点分治,因为我们只要考虑了每条路径就考虑了每条边,那么对于每个分治中心,我们求出子树内到中心点的距离 \(dis[i]\),记 \(p[i]=w[i] 阅读全文
摘要:
一、题目 妹妹 \(\tt Oneindark\) 给了你 \(n\) 个卡组,对于每个卡组有 \(k_i\) 个卡牌,其中第 \(j\) 个卡牌的大小是 \(j\),价值是 \(a_{i,j}\),每个卡组只能选取一张卡牌。 如果卡牌栏的大小为 \(t\),那么能获得的最大价值是多少,你需要对 \ 阅读全文
摘要:
G.Jumping sequence 题目描述 有一个平面直角坐标系,你初始在 \((0,0)\),目标点是 \((x,y)\),你有 \(n\) 步可以走,每一步步长为 \(d_i\),可以任意选择走上下左右,试构造方案使得能走到终点。 \(n\leq 2000,d_i\leq 1800\) 解法 阅读全文
摘要:
一、题目 给定一个长度为 \(n\) 的表达式,表达式只出现括号、减号和数字 \(1\sim 9\),设一共有 \(m\) 个减号。 求出把 \(m\) 个减号其中 \(k\) 个替换成加号,\(m-k\) 个替换个乘号的所有表达式之和,答案模 \(1e9+7\) \(n\leq 10^5,m\le 阅读全文
摘要:
一、题目 有一棵 \(n\) 个点的树,根为 \(1\),每个点都有一个初始为 \(1\) 的标记值 \(s_i\),对点 \(x\) 进行操作表示把 \(x\) 的祖先中深度最小并且 \(s_i=1\) 的 \(i\) 置为 \(0\),每个叶子有一个操作次数 \(a_i\),问有多少种不同的操作 阅读全文
摘要:
一、题目 有一个长度为 \(n\) 的整数序列 \(a\),你需要回答 \(m\) 个询问,每次给出 \(L,R\),求下列式子的值: \(\sum_{l=L}^R\sum_{r=l}^R(\max_{i=l}^r s_i)\cdot (\min_{i=l}^rs_i)\) \(n,m\leq 10 阅读全文
摘要:
## 一、题目 [点此看题](https://www.luogu.com.cn/problem/CF1556G) ## 二、解法 考虑本题数据范围极大并且删除操作是以区间的形式给出的,那么可以考虑**动态开点线段树**。 继续考虑如果我们用线段树做有什么性质,其实就是把左儿子和右儿子的叶子节点对应连 阅读全文
摘要:
C. Paint 题目描述 给你一个长度为 \(n\) 的颜色数组,每次可以选择一个位置修改它的颜色,此时与他相邻的极长连续相同颜色段也会改变颜色,问把所有位置变同色的最小操作次数。 \(n\leq 3\cdot 10^3\) 解法 因为每次操作的是一个极长同色连续段,所以可以考虑用区间 \(dp\ 阅读全文
摘要:
一、题目 蚂蚁一开始在 \((0,0)\) 这个位置,平面大小为 \(n\times m\),每次蚂蚁可以向右走或者是向上走,从 \((n-1,i)\) 这个点向右走就会到达 \((0,i)\),从 \((i,m-1)\) 向上走就会到达 \((i,0)\),问走到 \((x,y)\) 的期望步数。 阅读全文
摘要:
一、题目 点此看题 二、解法 注意到 \(n\leq 3000\),那么对于 \(30000\) 次询问的理解方式就是用 \(\log\) 次确定一个点的父亲。 不难想到把所有点按深度分层,对于所有点求出和 \(1\) 的距离即可。 我们考虑每做一次询问就要把父亲的范围缩小一半,因为二叉树本身就带有 阅读全文