上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页
摘要: "题目" 跟奶酪那道题差不多,用并查集来求解。 用二分,或可以用类似于克鲁斯卡尔算法的贪心来每次判断是否起点和终点已经并在一个集合里(类似奶酪) 如果已经覆盖就结束判断并得出答案:即当前选择的边的最大值。 为什么是边的最大值呢。 我们考虑最小的工作半径一定是等于两点间的一个距离,如果大于一个两点间的 阅读全文
posted @ 2019-06-11 11:24 DAGGGGGGGGGGGG 阅读(169) 评论(0) 推荐(0)
摘要: "题目" 暴力能得$30$,正解需要其他的算法操作,算法操作就是用秦九韶算法来优化。 秦九韶算法就是求多项式的值时,首先计算最内层括号内一次多项式的值,然后由内向外逐层计算一次多项式的值,然后就将求$n$次多项式的算法转化为求$n$个一次多项式的算法。 但是这样只能得到30分,用高精也只能拿50分, 阅读全文
posted @ 2019-06-11 08:03 DAGGGGGGGGGGGG 阅读(138) 评论(0) 推荐(0)
摘要: 离散化 离散化适用于数据的权值不重要,数据权值之间的相对位置及大小关系重要的一种优化方法。而离散化也有许多方法,其中各有好坏。 1.排序解法(可处理重复元素) bool cmp(ha c, ha b) { return c.num 阅读全文
posted @ 2019-06-09 20:38 DAGGGGGGGGGGGG 阅读(189) 评论(0) 推荐(0)
摘要: 可持久化数组 可持久化数组相比与一般的数组来说多了一个限制条件:可持久化。 原题中的数组则可以用线段树来优化。 而可持久化的暴力解法就是对于每个操作都开一个线段树,可是这样的耗费空间都太多了,因此我们选择动态开点。 动态开点: 定义结构体的时候就不能像普通线段树一样来定义了,应该定义为 我们可以在原 阅读全文
posted @ 2019-06-09 20:05 DAGGGGGGGGGGGG 阅读(626) 评论(0) 推荐(0)
摘要: "题目" LCT,或者并查集水过。 首先并查集这道题不能路径压缩,因为路径压缩是为了用牺牲一些信息的方法来加快速度,可是这道题我们需要这个信息,所以不能路径压缩。 剩下的操作就只剩下了暴力并查集,而每次查询前都要使u所在的树换根,使u换为该树的根,可以方便查询。 阅读全文
posted @ 2019-06-09 15:36 DAGGGGGGGGGGGG 阅读(160) 评论(0) 推荐(0)
摘要: "题目" 不看数据范围的话是一个很简单的DP,可是加上数据范围之后就之前的做法就不行了。 所以我们考虑一下路径压缩。 小数据Code c++ include include include using namespace std; int l, m, s, t, dp[100010]; int fl 阅读全文
posted @ 2019-06-03 16:32 DAGGGGGGGGGGGG 阅读(170) 评论(0) 推荐(0)
摘要: "题目" 该题目标签是DP,但是其实数据范围可以用记忆化搜索来解决,并且代码实现起来会简单一些,用二分查找来优化。 c++ include using namespace std; int n, k, minn = 2147483647, dp[101000]; multimap m; struct 阅读全文
posted @ 2019-05-31 17:15 DAGGGGGGGGGGGG 阅读(167) 评论(0) 推荐(0)
摘要: "题目" 一道经典的树形dp,其树形DP的原理是递归求解树状结构,并返回已经确立的状态值,形式多为记忆化搜索形式。而树形DP也常常跟其他DP联系起来,这道题就是将树形DP和背包DP联系起来的一道题。 而且该题是01背包,所以要注意$i,j$的枚举顺序。还要注意j和k的取值范围。 $Code$ c++ 阅读全文
posted @ 2019-05-28 17:43 DAGGGGGGGGGGGG 阅读(144) 评论(0) 推荐(0)
摘要: "题目" 博弈论。 考虑先手和后手的关系。然后可以通过统计数值不是0的数的个数来得出答案。 $Code$ c++ include using namespace std; int main() { int n, ans = 0, a[1010]; scanf("%d", &n); for (int 阅读全文
posted @ 2019-05-26 10:40 DAGGGGGGGGGGGG 阅读(114) 评论(0) 推荐(0)
摘要: "题目" 博弈论+贪心。 由于我们是先手,所以我们其实是必赢的,而且其实选完前两次,就已经结束了,因为接下来选的每一次其实都没有我们前几次选的好。而且又因为机器人会把我们想选的最好的拿走,那我们就只能拿走次好的了。然后枚举排序就可以得出答案。 $Code$ c++ include define in 阅读全文
posted @ 2019-05-25 20:39 DAGGGGGGGGGGGG 阅读(143) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页