摘要: 本题就是在一条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)