上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页
摘要: 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) 编辑
摘要: 我这里和别人不一样的是取模加和乘(我觉得这个东西很好,可能会快一点? Solution 首先,它让我们算方案数,所以我们设一个数组 \(F(x)\) 表示完美数恰好为 \(x\) 的排列数,又由这熟悉的恰好,可以再设一个数组 \(G(x)\) 表示完美数至少为 \(x\) 的排列数,那么显然可以得到 阅读全文
posted @ 2020-10-09 08:25 jasony_sam 阅读(88) 评论(0) 推荐(0) 编辑
摘要: Solution 首先,能够比较明显的看出来,它的路径类型都是形如 $2^i$ ,所以我们能够想到倍增。 然后我们观察数据范围,发现 \(n\leq 500\) 。我去,那我乱搞不就行了 考虑倍增的DP,设状态 \(dp[0/1][s][u][v]\) 为从 \(u\) 到 \(v\) 存在一条以 阅读全文
posted @ 2020-10-09 08:19 jasony_sam 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题意 在一个长度为 \(n\) 的序列中,找 \(k\) 个长度互不相同的区间互不重叠,求方案数。 Solution 经过简单的计算,发现普通的组合数并不能直接把方案数算出来,因为要考虑的情况实在太多了。那么我们可以考虑另一种能够算出方案数的方法——计数DP。 在上面的题意中,我将本题目的重点加粗了 阅读全文
posted @ 2020-10-08 18:08 jasony_sam 阅读(106) 评论(0) 推荐(0) 编辑
摘要: Solution 我们可以对前 \(k+1\) 个元素询问 \(k+1\) 次,因为题目中明确说明 \(k<n\) ,所以是不会超的。 这样做的正确性:每次会少一个数,当你少的是第 \(m\) 个数之前的数或 \(m\) 时,返回的会是第 \(m+1\) 大的数,当你少的是 \(m\) 之后的数时, 阅读全文
posted @ 2020-10-07 16:55 jasony_sam 阅读(103) 评论(0) 推荐(0) 编辑
摘要: Solution 想要得到差最大,只能是最小的自己一组或者全部在一组,因为:如果拿另一个和最小的一组,最小值只有可能最小,最大值只有可能更大,反证完毕。 那么我们可以将 \(a\) 数组从小到大排序,那么现在 \(a_1\) 是 \(\min a\) , \(a_n\) 是 \(\max a\) , 阅读全文
posted @ 2020-10-07 13:53 jasony_sam 阅读(120) 评论(0) 推荐(0) 编辑
摘要: Solution 看到是一个异或和的序列,我们可以考异或的性质。 我们构造一个数组 \(b\) : \(b_0=0,b_i=a_i\oplus b_{i-1}\) ,由异或性质得 \(a_i=b_i\oplus b_{i-1}\) ,所以 \(a_l\oplus a_{l+1}\oplus\cdot 阅读全文
posted @ 2020-10-07 13:52 jasony_sam 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Solution 通过最短路和 \(n\leq 100\) 得知我们可以拿 \(floyd\) 预处理全源最短路。然后因为要换车,所以我们可以考虑dp,设 \(dp_i\) 为 \(i\) 到终点 \(b\) 的最坏换车次数,但是从起点开始可能会有后效性,所以从终点开始,即 \(dp_b\) 为 $ 阅读全文
posted @ 2020-10-07 13:51 jasony_sam 阅读(152) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页