- 博客(4)
- 收藏
- 关注
原创 SPOJ - LIS2 Another Longest Increasing Subsequence Problem(CDQ分治维护三维LIS)
题解:先考虑暴力的O(n ^ 2)的dp,那么有dp[i]=max(dp[j]+1)dp[i] = max(dp[j] + 1)dp[i]=max(dp[j]+1) if(j<i && x[j]<x[i] && y[j]<y[i])if(j < i \ \&\& \ \ x[j] < x[i] \ \&\& \ \ y[j] < y[i])if
2020-12-24 21:11:23 208
原创 UVA - 1234 Dynamic len(set(a[L:R]))(带修莫队)
题解:板子题代码:/* * @Author : Nightmare */#include <bits/stdc++.h>using namespace std;#define ll long long#define ull unsigned long long#define ld long double#define ls 2 * rt#define rs 2 * rt + 1#define PII pair<int,int>#define PDD pai
2020-12-24 18:37:07 260 2
原创 HDU - 5052 Yaoge’s maximum profit(树剖 + 线段树维护上下最值)
题解:将u -> v的有向路径拆成 u -> lca 和 lca -> v的有向路径,那么答案一定是三种情况之一:u -> lca路径上买,u -> lca路径上卖u -> lca路径上买,lca -> v路径上卖lca -> v路径上买,lca -> v路径上卖利用树链剖分将u -> lca 和 lca -> v的路径拆成一段一段的链,现在考虑怎样合并两条链假设从上到下的路径 a -> b -> c,那么a -&
2020-12-24 16:36:31 212 1
原创 ZOJ - 2112 Dynamic Rankings(带修莫队 + 权值线段树)
题解:对于区间询问,能够很快的转移,考虑莫队,因为带修改,所以加一维修改时间做带修莫队,至于区间第k小,考虑权值线段树或者主席树,这里带修改,所以我们选择将所有值离散化,用权值线段树求区间第k小即可代码:/* * @Author : Nightmare */#include <bits/stdc++.h>using namespace std;#define ll long long#define ull unsigned long long#define ld long d
2020-12-24 00:35:26 202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人