摘要: 连续两道遇到换根dp。 这道题比较复杂一点,遇到题目我们应该关心的是题目的数据,我们发现k的数据很小,很容易想到可以用mod的状态来控制 如果过了一轮就步数+1,因此还需要维护下面的mod的点数 #include<bits/stdc++.h> using namespace std; typedef 阅读全文
posted @ 2020-10-02 22:12 朝暮不思 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 刷了这么久终于遇到水题,十分套路的换根dp,先自底向上维护,之后自顶向下维护一遍 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=4e5+10; int h[N],e[N],ne[N],id 阅读全文
posted @ 2020-10-02 19:17 朝暮不思 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 第一点可以想到的是,对于某个位置i上的数,他能不能被删除只和前面的数的能不能删除掉-(a[i]-i)的数有关。前提是他要a[i]-i小于0 现在的问题是,因为他有很多询问,因为左区间的限定,我们对每个询问需要知道每个i对于当前左区间l-i之间能删除多少个数,这样我们才能知道对于当前区间这个点能不能删 阅读全文
posted @ 2020-10-02 14:53 朝暮不思 阅读(143) 评论(0) 推荐(0) 编辑