09 2017 档案

摘要:题目链接 GSS $GSS1$ 对于每个询问$l$, $r$,查询$a_{l}$, $a_{l+1}$, $a_{l+2}$, ..., $a_{r}$这个序列的最大字段和。 建立线段树,每个节点维护四个信息 $c$:当前区间的元素和 $lc$:当前区间左端点开始的最大子序列和 $rc$:当前区间右 阅读全文
posted @ 2017-09-30 21:40 cxhscst2 阅读(355) 评论(0) 推荐(0)
摘要:题目链接 Tree and Queries 题目大意 给出一棵树和每个节点的颜色。每次询问$vj, kj$ 你需要回答在以$vj$为根的子树中满足条件的的颜色数目, 条件:具有该颜色的节点数量至少为$kj$。 (莫队居然可以过) 首先转$DFS$序,这样就变成了区间查询。 然后直接套用莫队,求出每次 阅读全文
posted @ 2017-09-30 21:13 cxhscst2 阅读(171) 评论(0) 推荐(0)
摘要:题目链接 HDU5972 2016 ACM/ICPC 大连区域赛 B题 我们预处理出$b[i][j]$,$b[i][j] = 1$的意义是数字$i$可以放在第$j$位。 然后就开始这个匹配的过程。 假设字符串第一位下标从$1$开始 我们每一次处理的子串为$s[i-n+1]$,$s[i-n+2]$, 阅读全文
posted @ 2017-09-28 19:06 cxhscst2 阅读(360) 评论(0) 推荐(0)
摘要:题目链接 Black White Tree 树型DP,设$f[i][j]$为以$i$为根的子树中大小为$j$的连通块中可以包含的最小黑点数目。 $g[i][j]$为以$i$为根的子树中大小为$j$的连通块中可以包含的最大黑点数目。 $F[i]$为大小为$i$的连通块中可以包含的最小黑点数目 $G[i 阅读全文
posted @ 2017-09-26 21:25 cxhscst2 阅读(250) 评论(0) 推荐(0)
摘要:题目链接 BZOJ 3675 首先最后的答案和分割的顺序是无关的, 那么就可以考虑DP了。 设$f[i][j]$为做了$i$次分割,考虑前$j$个数之后的最优答案。 那么$f[i][j] = max(f[i - 1][p] + (s[i] - s[p]) * s[p])$ 时间复杂度为$O(kn^{ 阅读全文
posted @ 2017-09-26 00:35 cxhscst2 阅读(182) 评论(0) 推荐(0)
摘要:题目链接 Guangxi 感觉这场比赛完全是读题场啊…… 比赛过程中丢失了一波进度,最后想开题的时候已经来不及了…… Problem A 按题意模拟……按照那个矩阵算就可以了 Problem C 这道题限制条件比较多,比赛的最后一分钟才通过 Problem F 求矩形面积并 模板题 Problem 阅读全文
posted @ 2017-09-26 00:23 cxhscst2 阅读(192) 评论(0) 推荐(0)
摘要:题目链接 Beijing 阅读全文
posted @ 2017-09-26 00:22 cxhscst2 阅读(151) 评论(0) 推荐(0)
摘要:题目链接 Xian 阅读全文
posted @ 2017-09-26 00:20 cxhscst2 阅读(204) 评论(0) 推荐(0)
摘要:题目链接 Qingdao Problem C AC自动机还不会,暂时暴力水过。 Problem J 考虑直接用队列保存待判断的元素(出队or not) 然后直接用链表模拟就可以了。 为什么比赛的时候我不会做呢 Problem K 签到 阅读全文
posted @ 2017-09-26 00:19 cxhscst2 阅读(212) 评论(0) 推荐(0)
摘要:比赛题目链接 Urumuqi 阅读全文
posted @ 2017-09-26 00:17 cxhscst2 阅读(108) 评论(0) 推荐(0)
摘要:题目链接 Fire 题意 有n个物品,每个物品的挽救时间代价为ti, 消失时刻为di, 价值为pi。 如果要救某个物品,必须在他消失之前救出来。 同一时刻最多只能救一件物品。 当前耗时为当前已经救出的物品的ti累积。 你需要救出总价值尽可能大的物品,并输出方案。 考虑DP f[i][j]为考虑前i个 阅读全文
posted @ 2017-09-26 00:15 cxhscst2 阅读(298) 评论(0) 推荐(0)
摘要:题目链接 BZOJ 4810 首先对询问离线, 莫队算法处理。 首先我们可以用bitset维护处当前区间中是否存在某个数。 对于询问1, 我们可以用 ((f >> q[i].x) & f).any()来回答当前的询问。 对于询问2, 我们用((g >> (S - q[i].x)) & f).any( 阅读全文
posted @ 2017-09-23 00:45 cxhscst2 阅读(168) 评论(0) 推荐(0)
摘要:题目链接 Animals and Puzzle 题意 给出一个1e3 * 1e3的01矩阵,给出t个询问,每个询问形如x1,y1,x2,y2 你需要回答在以$(x1, y1)$为左上角,$(x1, y2)$为右下角的子矩阵中,最大的全1正方形的边长。 首先考虑DP预处理。 $f[i][j]$表示以$ 阅读全文
posted @ 2017-09-22 19:19 cxhscst2 阅读(402) 评论(0) 推荐(0)
摘要:题目链接 Sonya and Problem Wihtout a Legend 题意 给定一个长度为n的序列,你可以对每个元素进行$+1$或$-1$的操作,每次操作代价为$1$。 求把原序列变成严格递增子序列的所需最小花费。 考虑$DP$。 首先比较常见的套路就是把每个$a[i]$减去$i$,然后把 阅读全文
posted @ 2017-09-22 18:56 cxhscst2 阅读(285) 评论(0) 推荐(0)
摘要:题目链接 Watto and Mechanism 题意 给出$n$个串(相当于字典),然后给出$m$个询问。 每个询问以字符串的形式给出,你需要改变这个字符串中的任意一个字符 (必须改变且只能改变一个) 如果改变之后可以成为$n$个串中的一个字符串,则输出$YES$, 否则输出$NO$。 字母集合为 阅读全文
posted @ 2017-09-19 23:05 cxhscst2 阅读(398) 评论(0) 推荐(0)
摘要:题目链接 直线的交点 两条直线的交点如果落在两个平板之内的话 假设这两条直线和两条平板的交点横坐标分别为 $x1, x2, X1, X2$ 那么有$(x2 - x1)(X2 - X1) < 0$ 于是这就转化成了一个经典问题 我们求出所有直线和平板的两个交点的横坐标,按其中一个平板的横坐标排序, 然 阅读全文
posted @ 2017-09-17 10:59 cxhscst2 阅读(302) 评论(0) 推荐(0)
摘要:题目链接 Round Subset 题意 在n个数中选择k个数,求这k个数乘积末尾0个数的最大值。 首先我们预处理出每个数5的因子个数c[i]和2的因子个数d[i] 然后就可以背包了。 设f[i][j]为选i个数,5的因子总和为j时,2的因子总和的最大值。 则状态转移方程为 $f[i][j] = m 阅读全文
posted @ 2017-09-16 22:01 cxhscst2 阅读(242) 评论(0) 推荐(0)
摘要:题目链接 简单 中等 困难 简单版本 直接统计答案,数目到达一半即可。 中等版本 题面和简单版本不一样。 我们可以通过两组变化解出一组行人的移动参数 具体的解法是 scale可以通过变换后两点之间距离的倍数关系求出 旋转坐标前两个点形成的直线向量A,和旋转坐标后的两个点形成的直线向量B 那么θ就是A 阅读全文
posted @ 2017-09-16 21:26 cxhscst2 阅读(452) 评论(0) 推荐(0)
摘要:题目链接 HDU5893 $2016$年$ICPC$沈阳网络赛的$B$题。这道题其和 BZOJ2243 基本一样 那道题我也写了题解 点这里 两道题的区别就是$BZOJ$这题是点的权值,这道题是边权。 所以我们把边权看成这条边连接的两个点的深度较大的那条边的点权就可以了。 但是这样的话根结点就没有权 阅读全文
posted @ 2017-09-16 21:14 cxhscst2 阅读(219) 评论(0) 推荐(0)
摘要:题目链接 Strip 题意 把一个数列分成连续的$k$段,要求满足每一段内的元素最大值和最小值的差值不超过$s$, 同时每一段内的元素个数要大于等于$l$, 求$k$的最小值。 考虑$DP$ 设$dp[i]$为前$i$个数字能划分成区间个数的最小值。 则$dp[i] = min(dp[j] + 1) 阅读全文
posted @ 2017-09-13 16:23 cxhscst2 阅读(349) 评论(0) 推荐(0)
摘要:题目链接 HDU6149 百度之星复赛的题目……比赛的时候并没有做出来。 由于低点只有15个,所以我们可以考虑状压DP。 利用01背包的思想,依次考虑每个低点,然后枚举每个状态。 在每个状态里面任意枚举不在这个状态中的两个点,如果能构成一个valley,那么更新答案。 阅读全文
posted @ 2017-09-12 23:06 cxhscst2 阅读(233) 评论(0) 推荐(0)
摘要:题目链接 Hihocoder 1561 首先对原图求$MST$ 我们发现某条边成为某两个点的关键路径的必要条件是这条边是最小生成树的树边。 所以我们求$MST$的同时进行启发式合并。 把$size$小的子树合并到$size$大的子树当中就可以了。 接下来是处理询问。 对于一条边,如果他不是最小生成树 阅读全文
posted @ 2017-09-12 14:48 cxhscst2 阅读(271) 评论(0) 推荐(0)
摘要:这场比赛全程心态爆炸…… 开场脑子秀逗签到题WA了一发。之后0贡献。 前期状态全无 H题想复杂了,写了好久样例过不去。 然后这题还是队友过的…… 后期心态炸裂,A题后缀数组理解不深,无法特判k = 1时的情况。 然后也没有心思读题了,心静不下来。 比赛题目链接 Problem B $ans = k( 阅读全文
posted @ 2017-09-11 21:28 cxhscst2 阅读(239) 评论(0) 推荐(0)
摘要:题目链接 Powerful array 给你n个数,m次询问,Ks为区间内s的数目,求区间[L,R]之间所有Ks*Ks*s的和。 $1<=n,m<=200000, 1<=s<=10^{6}$ 考虑莫队算法 把区间排序,然后让l和r分别询问即可。 根据排序的方式,l指针和r指针移动次数和大概是$n\s 阅读全文
posted @ 2017-09-11 10:08 cxhscst2 阅读(152) 评论(0) 推荐(0)
摘要:题目链接 HDU4389 题意 给出T个区间[L, R],统计L到R中有多少个满足条件的数。 限制条件为该数能被这个数的各位数字之和整除。 数据范围$1 <= L <= R <= 10^{9}$ 考虑数位DP 注意到f(x)最大为81,所以对1-81每一个和做一遍数位DP即可。 f[pos][mod 阅读全文
posted @ 2017-09-10 23:15 cxhscst2 阅读(221) 评论(0) 推荐(0)
摘要:题目链接 Turning in Homework 考虑区间DP $f[i][j][0]$为只考虑区间$[i, j]$且最后在$a[i]$位置交作业的答案。 $f[i][j][1]$为只考虑区间$[i, j]$且最后在$a[j]$位置交作业的答案。 首先对$a[i]$升序排序(位置第一关键字,时间第二 阅读全文
posted @ 2017-09-09 20:33 cxhscst2 阅读(201) 评论(0) 推荐(0)
摘要:题目链接 Rooter's Song 题意 有n个舞者站在x轴上或y轴上,每个人有不同的出发时间。x轴上的舞者垂直x轴正方向移动,y轴上的舞者垂直y轴正方向移动。 当x轴的舞者和y轴的舞者相遇时,他们会互换运动轨迹。求每个舞者的最后位置。 把所有会发生碰撞的舞者塞到一起,按照坐标大小升序排序。 对于 阅读全文
posted @ 2017-09-09 18:50 cxhscst2 阅读(219) 评论(0) 推荐(0)
摘要:题目链接 Tell Your World 题意 给出N个点(i, xi),问是否存在两条平行的直线,使得每一个点恰好在两条直线的其中一条上。 每条直线必须穿过至少一个点。 考虑每个点和第1个点的斜率,相同的用并查集弄成一个连通块。 然后我们枚举每个连通块,判断不在连通块内的这些点是否在同一条直线上, 阅读全文
posted @ 2017-09-09 18:48 cxhscst2 阅读(320) 评论(0) 推荐(0)
摘要:题目链接 BZOJ4034 这道题树链剖分其实就可以了。 单点更新没问题。 相当于更新 [f[x], f[x]]这个区间。 f[x]表示树链剖分之后每个点的新的标号。 区间更新的话类似DFS序,求出所对应的区间。 也就是[f[x], f[x] + size[x] - 1]。 给这个区间加上a即可。 阅读全文
posted @ 2017-09-05 20:25 cxhscst2 阅读(161) 评论(0) 推荐(0)
摘要:题目链接 HDU5636 n个点,其中编号相邻的两个点之间都有一条长度为1的边,然后除此之外还有3条长度为1的边。 m个询问,每次询问求两个点之前的最短路。 我们把这三条边的6个点两两算最短路, 然后询问的时候用这6个点的距离来更新答案就可以了。 (不过听说好像有更好的方法,先占个坑) 时间复杂度$ 阅读全文
posted @ 2017-09-05 20:09 cxhscst2 阅读(194) 评论(0) 推荐(0)
摘要:题目链接 HH的项链 这道题可以直接上主席树的模板 当然用莫队算法也是可以做的 阅读全文
posted @ 2017-09-02 17:51 cxhscst2 阅读(327) 评论(0) 推荐(0)
摘要:题目链接 Problems HDOJ上的题目顺序可能和现场比赛的题目顺序不一样, 我这里的是按照HDOJ的题目顺序来写的。 Problem 1001 签到 Problem 1002 这道题的话,其实一个点上是可以有多种颜色的 因为最多只有51种颜色,所以我们维护51棵线段树即可。 我们对y坐标建立线 阅读全文
posted @ 2017-09-01 21:26 cxhscst2 阅读(371) 评论(0) 推荐(0)