摘要: 思路 典型的差分约束问题,只不过转化起来有点麻烦,注意转化的边界情况就行 代码 #include <iostream> #include <vector> #include <queue> #include <cstring> using namespace std; const int N = 3 阅读全文
posted @ 2021-12-02 22:14 重言 阅读(19) 评论(0) 推荐(0)
摘要: 思路 这道题是求最大值最小,所以很明显又是要用二分。自己没注意到是因为没有注意到所选边数小于等于n这个事,所以理解题意呀! 每次二分得到一个距离mid,如果能选不超过n条边,使得每条边的权值都小于mid,那么这个值就可以选。 由于这里只涉及边的个数,所以所有边的权都变成1了,所以用bfs+松弛操作就 阅读全文
posted @ 2021-12-02 20:40 重言 阅读(34) 评论(0) 推荐(0)
摘要: 思路: 这道题就是一个单点更新,区间查询的问题,所以用树状数组就行了。不过说实话,自己对第四第五题的态度需要改变一下。暴力可以,但是应该看到是运行超时,而不是错误。如果运行超时看下有没有极端情况可以跳过优化一下,不要想着暴力完了就完事了。 代码: #include <iostream> using 阅读全文
posted @ 2021-12-02 10:21 重言 阅读(23) 评论(0) 推荐(0)
摘要: 思路: 应该要将题目进行转化,转化为平时可以理解的形式。这里就是说求所有这样的点,其他点要么可以访问他,要么可以被他访问到,也就是说用两种边,一种是正向的,一种是反向的,然后dfs就行了。 代码: #include <iostream> #include <vector> #include <alg 阅读全文
posted @ 2021-12-02 09:19 重言 阅读(30) 评论(0) 推荐(0)