摘要:
这个dp应该算lcs加上一些模拟处理吧lcs我们大家都会求 很简单。这边的话 就是先算出 a b两个字符串从前往后 与 从后往前的lcs因为 我们在算d的长度的时候 是向两边进行拓展的。然后 拿c分别于a和b去暴力匹配 分别找出以a b中的字符串中的每个位置起始点 可以包含c这个字符串的子序列的最左... 阅读全文
摘要:
自己还是没有做出来= = 我去用段树 而不是点树去做了而貌似段树不行啊。我还没想明白 ccc 1 #include 2 #include 3 using namespace std; 4 5 int cnt; 6 const int size = 20010; 7 struct ... 阅读全文
摘要:
所谓扫描线一般按照习惯上 就是说从左到右 或者是 从下到上这2题 都是这样的运用 但除此 也还有别的方法可以过我们将下边标记为1 上边标记为-1 这是自下而上的扫描 如果是从左到右 那么自然是左边为1 右边为-1这边 当然要进行离散化了。 因为是数据蛮大的浮点数嘛~这步真的很重要= =然后注意下 ... 阅读全文
摘要:
这题 很多人用的都是 离线处理的方法。比赛的时候 就没想到这个方法。一直在mle tle之间徘徊。。 porker的这个处理数组方法很好我本来是1-1e7的数组范围存下的是每个f[n]的值现在我用一个 1-1e6的数组来表示f[n] , g[n] g[n]就是n的阶乘因为 f[n] = f... 阅读全文
摘要:
首先 给你N个点的坐标 你要找出其中的4个点来构造矩形可以选择4个点 或者 一条对角线来进行构造4个点 需要写个4层for 对角线只要2层for相比下 还是对角线比较好虽然 我们会重复构造相同的矩形出来 但是没关系 题目数据很小的接下来 就是矩形是否相交的判断了注意一种特殊情况 矩阵 I 内含与 矩... 阅读全文
摘要:
尽量选边数大的3根木棍来组成一个三角形 一直到无法选取为止这边计算三角形面积 还是用 海伦公式比较方便 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 double Abs... 阅读全文
摘要:
理解错题意了= =我看成bfs去做了 应该是最短路一共1-n个点 删除 2 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int n; 9 const int size = 35;10 bool... 阅读全文
摘要:
我都不想将bfs这3个字写在标题里...bfs没那么简单就是求出任意两个管子之间的最短距离 但这边不能直接用spfa dij啊什么的 但感觉现在的bfs就有点相当于退化版的最短路。。这题的重点还是在完成上面的Precompute后 接下去的求tsp操作这边应该是最简单的 没有多余的难度增加的求ts... 阅读全文
摘要:
这题的特点是 引入了个fib数组 其实就是 延迟更新的时候 换了个方式我觉得线段树的题目 不用什么解释 如果一下子没做出来 如果需要使用lazy的话 都是因为 不能很好地定义它的内容lower_bound真心蛮好的 省去了自己手写二分 但也要看情况使用 = = 对了 它还有个兄弟叫做 upper_b... 阅读全文
摘要:
其实本场 很水 = =B C都犯了sb错误挂了..B挂在 自己代码里没有考虑N=1的情况C挂在 在Int向LL进行强制转换的时候 先溢出了 以后应该这样写 1LL * x * y 或者直接将x y定义为LLD E porker帮忙= =解释 明天给 睡觉了 3点半了 我擦B 1 #include ... 阅读全文