Live2D
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 31 下一页
摘要: link Solution 首先我们考虑 \(B_i=0\) 的情况怎么解决,可以发现的是,我们设 \(f_i\) 表示从 \(i\) 出发的最大期望贡献,当 \(A_i\) 为最大值时 \(f_i=A_i\),否则如果我们要停止,为 \(A_i\),不停止为 \((f_{i-1}+f_{i+1}) 阅读全文
posted @ 2022-01-25 17:42 Dark_Romance 阅读(51) 评论(0) 推荐(0) 编辑
摘要: link Solution 并没有想到分治,我果然是个屑。 我们考虑分治,那么问题就是如何合并两个有序子段。不难发现,一定是前一段的后缀移到后面去,后一段的前缀移到前面去,所以我们可以两段先反转,就变成了一段连续的下降子序列,再整体反转,那么又变成了子问题,继续分治即可。 用了一点小技巧卡到了LOJ 阅读全文
posted @ 2022-01-25 16:42 Dark_Romance 阅读(113) 评论(0) 推荐(0) 编辑
摘要: link Solution 比较懒,所以放了一个OJ里的链接。 这个题感觉还是比较可做。考虑如何判断一个是否合法,那么我们可以使用 dp,转移式即为: \(dp_i=Or_{j=1}^{i-1}[a_i=a_j]dp_{j-1}\) 那么,我们可以对此进行 dp,我们设 \(f_{i,j,0/1}\ 阅读全文
posted @ 2022-01-25 14:47 Dark_Romance 阅读(95) 评论(0) 推荐(0) 编辑
摘要: link Solution 我,tr,废物。 不难看出的是,我们可以通过移动我们的游泳和小跳,使得我们游泳或小跳要么直接到一个岛屿的左端点(中间不能跳),要么先游泳或小跳再跳大跳到一个岛屿的右端点。然后我们可以直接进行dp了。 虽然说得很轻巧,不过实现起来需要智力,然而我没有。我们考虑到岛屿的左端点 阅读全文
posted @ 2022-01-24 20:51 Dark_Romance 阅读(55) 评论(0) 推荐(0) 编辑
摘要: link Solution 我们可以考虑把整个图分成若干个独立集(可以证明个数 \(\le \sqrt m\)),然后考虑独立集之间查询边,然后你发现查询两个独立集之间的边的话我们可以通过递归,据说复杂度挺对的。 Code #include "meeting.h" #include <bits/st 阅读全文
posted @ 2022-01-24 17:28 Dark_Romance 阅读(32) 评论(0) 推荐(0) 编辑
摘要: link Solution 我们考虑解决从 \(s\to t\) 用 \(S\) 中的点走的这样一个问题,那么对于一个点 \(v_0\) ,我们肯定就可以通过叉积来判断哪些点在它前面,哪些点在它后面,从而继续递归。 复杂度 \(\Theta(n^2)\) 。 Code #include <bits/ 阅读全文
posted @ 2022-01-24 17:24 Dark_Romance 阅读(95) 评论(0) 推荐(0) 编辑
摘要: link Solution 我们将 \(z\) 按 \([2^i,2^{i+1})\) 划分成 \(\log2(n)\) 层,那么对于 \(z\) 和 \(s_x\) 处于同一层的情况,如果 \(z\ge s_x\),那么 \(z\to 2\times s_x\),就会进入下一层,所以最多只有 \( 阅读全文
posted @ 2022-01-24 15:18 Dark_Romance 阅读(194) 评论(0) 推荐(0) 编辑
摘要: link Solution 首先我们可以求出任意的 \(\text{dis}(u,i),\text{dis}(i,t)\)。 考虑二分答案,对于当前二分的 \(x\),我们最终接到电话可行的点一定就是就是那些 \(\text{dis}(i,t)\le x\) 的 \(i\) 点。对于边 \((u,v 阅读全文
posted @ 2022-01-24 10:27 Dark_Romance 阅读(87) 评论(0) 推荐(0) 编辑
摘要: link Solution 不难看出,对于任何确定性算法官方都能办法卡掉你,所以我们可以选择随机化算法。 不难想到统计一个人的错误率,然后对于每次进行加权,概率选择,这样就不好卡了。但是不是很清楚正确率如何保证这么高的,因为很可能出现集体翻车的情况,或许是官方数据造的比较善良吧。 Code #inc 阅读全文
posted @ 2022-01-23 20:45 Dark_Romance 阅读(56) 评论(0) 推荐(0) 编辑
摘要: link Solution 考虑对于当前还剩的价值和为 \(c\),个数为 \(k\) 的情况,那么从概率上来讲,如果我们买,贡献即是 \(c/k\),如果我们抽,那么贡献就是 \((n/k+1)\times (x/2)\)。那么我们只需要计算出每种情况的概率即可,可以将组合数放入每次计算中以便减少 阅读全文
posted @ 2022-01-23 14:36 Dark_Romance 阅读(34) 评论(0) 推荐(1) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 31 下一页