摘要: Solution 先考虑不进行操作时,怎么吞噬可以得到最多的危险次数。 有一个结论是:挑最轻的两条鱼合并,可以使答案最大。 我们简单证明一下:设鱼这个集合为 \(S\) ,那么一次操作就是从中取出两个最小的元素 \(a\) 和 \(b\) ,并把 \(a+b\) 插入 \(S\) 。设某次操作 \( 阅读全文
posted @ 2020-10-14 21:57 jasony_sam 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 调了半天,发现是没开long long Solution 看这个题的时候,第一想法是按时间排序,然后朴素DP,但这样差不多是 \(O(n^2\cdot v)\) 的。 所以我们需要考虑更优的解法。 不难发现,只有当 \(i,j\) 两点满足 \(|x_i-x_j|\leq |t_i-t_j|\tim 阅读全文
posted @ 2020-10-14 21:54 jasony_sam 阅读(120) 评论(0) 推荐(0) 编辑
摘要: Solution 能够显然的想到每个人传递必然是连续的,也就是对于一个 \(i\) ,他能够到达的区间为 \([i-a_i,i+a_i]\) 。 下一次,就会转移到 \([l,r]\) 中能往左和往右的最远端点,所以我们需要记录最值,那么不难想到用ST表去处理区间最值。 设 \(l_{i,j}\) 阅读全文
posted @ 2020-10-14 21:51 jasony_sam 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 听同机房大佬sky说这是平衡树好题,再加上本蒟蒻刚刚学习平衡树,所以写个题解加深记忆。 Solution 我们看见一操作是移动操作(连个修改都没有),可以想到拿平衡树进行维护整个序列,这是很显然的。 然后看二操作,询问区间某个数的出现次数。 好像我所学过的平衡树是没有这种技能的(可能是我太菜没听说) 阅读全文
posted @ 2020-10-14 21:40 jasony_sam 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 这里介绍两种做法,感觉都很巧妙。 Solution 1 观察题面,发现 \(|a|,|c|\leq 100\) ,所以可以像 \(KMP\) 那样,造一个 \(nxt\) 数组,然后再弄一个 \(cnt\) 数组。 其中 \(cnt_i\) 表示从 \(c_i\) 开始匹配,把 \(a\) 串扫一遍 阅读全文
posted @ 2020-10-14 21:38 jasony_sam 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 算是自己切的第一道计算几何了,写篇题解记录一下。 Solution 首先,我们发现,如果 \((x_1,y_1)\) 到 \((x_2,y_2)\) 是经过 \(ax+by+c=0\) 的,那么一定是从 \(x=x_1\) 或 \(y=y_1\) 到 \(x=x_2\) 或 \(y=y_2\) ,所 阅读全文
posted @ 2020-10-14 21:37 jasony_sam 阅读(67) 评论(1) 推荐(0) 编辑
摘要: Solution 首先明确的是对每一次询问分开处理。 然后因为要求最大价值,可以想到用DP去做。设 \(d_{i,j}\) 表示前 \(i\) 个元素,以 \(j\) 颜色为结尾的最大价值。可以发现,每一个 \(i\) 最多只会更新一个 \(dp\) ,所以可以将第一维省略掉。 接下来我们思考第 \ 阅读全文
posted @ 2020-10-14 21:35 jasony_sam 阅读(105) 评论(0) 推荐(0) 编辑
摘要: Solution 这个题经过一番思考,发现前面一位和后面一位之间是不会相互影响的,也就是各自的贡献是独立算的。 那我们就直接通过一些排列组合的方式来求出答案即可。 刚刚我提到了贡献,所以我们可以对这个括号序列的每一位进行计算,最后相加。然后发现因为他们是成对匹配的,当你算左括号的时候,右括号已经被算 阅读全文
posted @ 2020-10-14 21:33 jasony_sam 阅读(75) 评论(0) 推荐(0) 编辑
摘要: Solution 虽然每个题要求的最长序列的满足条件不一样,但是方法总是那一个——DP。 因为前后转移和 \(\gcd\) 有关系,我们可以将 \(\gcd\) 用因子的方式表示。 我们设 \(dp_i\) 表示以 \(a_i\) 结尾的最长序列, \(f_i\) 为所有含有 \(i\) 这个因子的 阅读全文
posted @ 2020-10-14 21:31 jasony_sam 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题意 松鼠bored在看小马,现在他要逃避掉下来的石头,石头总是落在bored所在的区间的中间。他有两种选择,一种是向左'l',使区间右端点变为原来的区间中间,一种是向右'r',使区间左端点变为原来的区间中间。bored已经想好了自己的行动路线,为了让他可以继续看小马,请你告诉他下落石头从左到右的编 阅读全文
posted @ 2020-10-14 21:29 jasony_sam 阅读(140) 评论(0) 推荐(0) 编辑