上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页
摘要: 本题就是在一条1-n的路径上找p,q(先经过p),使得q-p最大。 考虑建正反图,正图上求出d[x],表示1-x的路径经过的节点最小值,反图上则从n开始求出f[x],x-n的最大值,最后枚举断点i,取最大的f[i]-d[i]就是答案。 基于动态规划的思想。 1 #include<bits/stdc+ 阅读全文
posted @ 2022-07-16 17:52 YHXo 阅读(44) 评论(0) 推荐(0)
摘要: 和整体二分的模板相比,多了修改操作。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1e5+10,INF=1e9; 4 int n,m,t,c[N],ans[N],b[N]; 5 struct node{ 6 int o 阅读全文
posted @ 2022-07-16 10:24 YHXo 阅读(29) 评论(0) 推荐(0)
摘要: 刚学了整体二分,用这种解法来解决这道题。 首先对于每个询问时可以二分解决的,这也是可以使用整体二分的前提。将原来的序列看成是插入操作,和询问操作和在一起根据值域进行二分。用树状数组来检验二分值。 1 #include<bits/stdc++.h> 2 using namespace std; 3 c 阅读全文
posted @ 2022-07-16 09:38 YHXo 阅读(27) 评论(0) 推荐(0)
摘要: 解法1: 本题有插入路径和删除路径,在每个节点维护插入堆和删除堆,查询时两者top一样则一直弹出。如果每个节点维护的是经过他的路径,显然有些不好处理,正难则反,每个点维护不经过他的路径,那么x节点出了故障时,我们就查询x,查询到的就是x出故障后不受影响的路径。 (洛谷上有一个点一直过不了,似乎是之后 阅读全文
posted @ 2022-07-15 22:28 YHXo 阅读(48) 评论(0) 推荐(0)
摘要: 这道题的贪心思路可真是很难证明啊...... 对于<i,j>的限制(i必须在j之前),容易想到topsort,每次在入度为0的点中选取最小的。但这种正向找是错误的,题目要求的是小的节点尽量往前,并不是字典序最小。<i,j>中i肯定大于j,这样建的图中小的节点是靠后的,当然不行;那我们考虑反向建图,那 阅读全文
posted @ 2022-07-02 23:22 YHXo 阅读(33) 评论(0) 推荐(0)
摘要: 【题目描述】 Tom和Jerry各有一个玩具,每个玩具都是由M根绳子连接到N个球上制成的。 在Tom的玩具中,球的编号为1,…,N,第i条绳子将球Ai和Bi连接起来。 类似地,在Jerry的玩具中,球编号为1,…,N,第i条绳子将连接到球Ci和球Di。 在每个玩具中,没有球把一条绳子的两端都系在自己 阅读全文
posted @ 2022-07-02 14:09 YHXo 阅读(44) 评论(0) 推荐(0)
摘要: 这道题目有两种解法: 1.将每个点视为一个二元组(x,p),表示从起点到x有p条路径免费,相当于构建了一张分层图,N*k个节点,P*k条边。在这张图上用优先队列优化的SPFA算法求解,注意这里的d数组存的不是最短路径,而是路径中边权最大的值,最终答案就是min(d[n][j]),0<=j<=k 。 阅读全文
posted @ 2022-07-01 21:41 YHXo 阅读(39) 评论(0) 推荐(0)
摘要: 通过打懒标记实现区间取反,和线段树基本操作都差不多。 本题还是一道边权化为点权的问题。 200行巨长代码: 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int 阅读全文
posted @ 2022-07-01 20:21 YHXo 阅读(38) 评论(0) 推荐(0)
摘要: 差不多是模板题,不过要注意将边权转化为点权,将边的权值赋给它所连的深度较大的点。 这样操作过后,注意查询ask()的代码有所改变(见代码注释) 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace 阅读全文
posted @ 2022-07-01 20:11 YHXo 阅读(37) 评论(0) 推荐(0)
摘要: 用树链剖分求LCA的模板; 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 const int maxn=40005; 5 int n,m; 6 int head[maxn],to[maxn<<1],w[maxn 阅读全文
posted @ 2022-07-01 18:32 YHXo 阅读(26) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页