随笔分类 -  2.2 各省省选

摘要:"题目蓝链" Description 给定一棵有$n$个节点的树,初始全为白色。你要在里面找到$k$个点,并把它们染成黑色。要使得染完色后,黑点两两之间的距离加上白点两两之间的距离的和最大 Solution 我们可以设$dp[i][j]$表示以$i$为根的子树中选择$j$个节点对全局答案的最大贡献 阅读全文
posted @ 2019-02-16 11:31 xunzhen 阅读(124) 评论(0) 推荐(0)
摘要:"题目蓝链" Description 有$n$个点排成一列,每一个点都有一个颜色$c_i$。你需要支持下面两个操作: 1. 将一种颜色全部变为另一种颜色 2. 询问当前一共有多少个颜色段 Solution 我们可以考虑对于每一种颜色开一棵线段树维护一下颜色出现的位置,线段树的每一个节点记录当前区间的 阅读全文
posted @ 2019-02-12 14:20 xunzhen 阅读(125) 评论(0) 推荐(0)
摘要:"题目蓝链" Description 有$n$个未知数$x_1, x_2, \cdots, x_n$,给出$m$条消息,每条消息选出一些未知数并告诉你他们的和的奇偶性。你的目标是判断每个未知数的奇偶性 如果前$k$条消息就可以确定所有未知数的奇偶性,输出$k$以及所有未知数的奇偶性,否则输出这是不可 阅读全文
posted @ 2019-02-06 13:50 xunzhen 阅读(121) 评论(0) 推荐(0)
摘要:"题目蓝链" Description 给定一个长度为$n$的数列$q_i$,定义 $$ F_j = \sum_{i j} \frac{q_i q_j}{(i j)^2} \\ E_i = \frac{F_i}{q_i} $$ 求出所有的$E_i$ Solution 直接上推导过程 $$ E_j = 阅读全文
posted @ 2019-02-05 13:23 xunzhen 阅读(103) 评论(0) 推荐(1)
摘要:"题目蓝链" Description 定义函数$G(n, k) = \sum\limits_{i = 1}^{n} k~mod~i$,给定$n, k$,求函数$G$的值 $n, k \leq 10^9$ Solution ~~我一开始看这题的时候居然还懵了一下~~ 因为当$i k$时,余数一定都是$ 阅读全文
posted @ 2019-01-31 10:29 xunzhen 阅读(134) 评论(0) 推荐(0)
摘要:"题目蓝链" Description 给你一个森林,你需要支持两个操作: 1. 查询一条路径上第$k$小的权值是多少 2. 连接两个点 强制在线 Solution 我们一开始看到这道题,一定会想什么LCT套主席树 ~~乱编的~~ 其实我们只需要主席树就可以了。我们发现这题只需要连边,不需要断边。所以 阅读全文
posted @ 2019-01-26 08:09 xunzhen 阅读(136) 评论(0) 推荐(0)
摘要:"题目蓝链" Description 有$n$个弹簧排成一列,每一个弹簧都会给定一个向后弹射的距离,然后需要支持两个操作 1. 查询从某个弹簧开始需要弹多少次后,就会弹到第$n$个弹簧之后 2. 修改某个弹簧的向后弹射距离 Solution 考虑分块,每一个块中维护每一个位置要跳多少次才能跳出这个块 阅读全文
posted @ 2018-11-18 14:04 xunzhen 阅读(106) 评论(0) 推荐(0)
摘要:"题目蓝链" Description 给定一个无向图,需要支持两个操作,断掉一条边或者询问两个点之间的路径上有多少个桥 Solution 考虑把操作离线,然后时光倒流一下。初始的时候所有的边权值都为$1$,把加入边后形成的环直接置成$0$。询问就直接查询两点之间的链上权值和 Code 阅读全文
posted @ 2018-11-16 21:38 xunzhen 阅读(126) 评论(0) 推荐(0)
摘要:"题目蓝链" Solution 我们可以贪心的考虑,就是尽量把小的覆盖完。我们把所有的点从小到大排序,然后直接二分覆盖前$k$个点,用网络流跑一下二分图求出最小链覆盖,然后就判断一下点数减去最小链有没有超过给定的人数 由于这道题的链可以重叠的,所以我们可以直接求出每一个点可达的所有点。然后拆点,对于 阅读全文
posted @ 2018-09-30 21:33 xunzhen 阅读(186) 评论(0) 推荐(0)
摘要:"题目蓝链" Solution 考虑首先建出一棵最小生成树,然后再枚举所有其他的边。然后直接查询这条边对应在树上的两点之间的链上最大值和次大值,因为要保证严格次小。然后用查询的值更新一下答案 维护一条链上的最大值和次大值,直接倍增就行了 Code Summary 这道题的思路不是很难,结果在码码的过 阅读全文
posted @ 2018-09-26 22:19 xunzhen 阅读(129) 评论(0) 推荐(0)
摘要:"题目蓝链" Solution 首先,很显然这题是要用莫队来处理的。我们先把输入的数字另外排一下序,然后记录一下$p_i$表示每一个数字对应在排好序的数列里面是排第几个。询问的时候要把一个询问拆成$3$个询问,然后再并起来。然后在莫队的时候记录$cnt_i$表示当前数字$i$出现的次数,再开一个$b 阅读全文
posted @ 2018-09-21 13:49 xunzhen 阅读(233) 评论(0) 推荐(0)