再次因为浮点数g++, c++编译器的问题WA,中间还因为reset没有改过来编译器无脑再WA了一次 这道题很适合Kruskal这种将最开始的联通森林,一点点聚合到一起成为一棵联通的最小生成树的想法,只不过,具体到这道题,是要将原先的p个森林,聚合成为s个森林,所以实现就非常简单了 #include ...
分类:
其他好文 时间:
2021-04-14 12:13:20
阅读次数:
0
Kruskal模板题,需要注意,这道题空间限制很严格,第一遍下意识的开了一个记录数组(因为一对节点之间允许多条路经,这里想着进行优化,不过弄巧成拙了,遇到了第一个MLE) #include <iostream> #include <algorithm> #include <queue> #inclu ...
分类:
其他好文 时间:
2021-04-13 11:44:47
阅读次数:
0
原题链接 考察:线性dp 思路: 这道题就和POJ 1661差不多.f[i][0/1]表示到达第i条线段的0(左),1(右)的最小距离. f[i][0] = min(f[i-1][0]+i-1条线左端点到i条线左端点的最短距离,f[i-1][1]+i-1条线右端点到第i条线左端点的最小值) 同理右端 ...
分类:
其他好文 时间:
2021-04-10 13:20:07
阅读次数:
0
这几天转去尝试做leetcode,意外发现其实leetcode题做做还是挺有收获的,不过感觉OJ做起来收获更大些,这两个还是结合起来做好点。 这道题思路还是比较清晰的,利用bellman ford的思路,不过因为图可能不连通,所以参考kuangbin大佬的思路加了一个“超级源”(因为此题只需要判断负 ...
分类:
其他好文 时间:
2021-04-09 13:20:46
阅读次数:
0
题目 P3383 【模板】线性筛素数 题目描述 如题,给定一个范围$n$,有$q$个询问,每次输出第$k$小的素数。 输入格式 第一行包含两个正整数 \(n,q\),分别表示查询的范围和查询的个数。 接下来$q$行每行一个正整数$k$,表示查询第$k$小的素数。 输出格式 输出$q$行,每行一个正整 ...
分类:
其他好文 时间:
2021-04-08 13:40:15
阅读次数:
0
原题链接 考察:区间DP 处理方式略像涂色...本蒟蒻是没想出来怎么转移.... 思路: 实际就是暴力...本蒟蒻还想了怎么快速判断循环..... 对于枚举的区间[l,r],看是否是循环区间,如果不是要再看里面的子区间是否为循环区间,枚举子区间f[l][r] = min(f[l][k]+f[k+1] ...
分类:
其他好文 时间:
2021-04-07 11:08:21
阅读次数:
0
求路径中最小值的最大值,应该可以利用网络流的方法解决,不过这道题就利用了dijkstra的方法解决了。 此前POJ 2253利用Floyd方法解决的思路应该也可以应用到这种方法上来 #include <iostream> #include <algorithm> #include <queue> # ...
分类:
其他好文 时间:
2021-04-07 10:29:27
阅读次数:
0
原题链接 考察:状压dp+dfs寻找路径 思路: 重复覆盖问题.参考愤怒的小鸟的思路,我们需要两两构造一个包含两个字符串a,b的DNA序列,然后要分a在前面与b在前面两种情况. 本蒟蒻一开始想的是定义结构体String,再定义结构体内部的st(二进制标记哪些串被标记),构造后的具体字符串s.每个状态 ...
分类:
其他好文 时间:
2021-04-06 14:25:16
阅读次数:
0
XXVII.CF573E Bear and Bowling 考虑暴力的DP。设 \(f_{i,j}\) 表示前 \(i\) 个元素中选择长度为 \(j\) 的子序列所能得到的最大收益。 考虑由 \(f_i\) 转移到 \(f_{i+1}\)。明显,一共有两种转移方式:\(f_{i,j}\righta ...
分类:
其他好文 时间:
2021-04-05 11:56:10
阅读次数:
0
暴力求解法,直接遍历求最大值 class Solution { public: int maxProfit(vector<int>& prices) { int maxprofit=0; for(int i=0;i<prices.size();i++) { for(int j=i+1;j<price ...
分类:
其他好文 时间:
2021-04-05 11:41:37
阅读次数:
0