BZOJ1131【树状数组】【deque】
2015-04-14 23:57
239 查看
/* I will wait for you */ #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <ctime> #include <algorithm> #include <iostream> #include <fstream> #include <vector> #include <queue> #include <deque> #include <set> #include <map> #include <string> #define make make_pair #define fi first #define se second using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> pii; const int maxn = 100010; const int maxm = 100010; const int maxs = 26; const int inf = 0x3f3f3f3f; const int P = 1000000007; const double error = 1e-9; inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') f = (ch == '-' ? -1 : 1), ch = getchar(); while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar(); return x * f; } deque <int> q; int s[maxn], f[maxn]; void insert(int x, int c) { for (; x < maxn; x += x & -x) s[x] = max(s[x], c); } int query(int x) { int ans = 0; for (; x; x -= x & -x) ans = max(ans, s[x]); return ans; } int main() { int n = read(); for (int i = 1; i <= n; i++) { int pos = read(); q.insert(q.begin() + pos, i); } for (int i = 0; i < n; i++) { f[q[i]] = query(q[i]) + 1; insert(q[i], f[q[i]]); } for (int i = 1; i <= n; i++) { f[i] = max(f[i], f[i - 1]); printf("%d\n", f[i]); } return 0; }
相关文章推荐
- BZOJ 1461: 字符串的匹配 kmp套树状数组
- BZOJ 2434: [Noi2011]阿狸的打字机 [AC自动机 Fail树 树状数组 DFS序]
- BZOJ 3295: [Cqoi2011]动态逆序对 (树状数组套主席树)
- bzoj3289 Mato的文件管理 莫队算法 树状数组
- BZOJ 1103 [POI 2007] dfs序+树状数组 解题报告
- dp+树状数组 bzoj1264 AHOI2006基因匹配
- BZOJ 2743 采花(树状数组)
- BZOJ3211 花神游历各国 【树状数组 + 并查集】
- BZOJ 1264: [AHOI2006]基因匹配Match 树状数组,DP
- BZOJ1103【树状数组】
- BZOJ 4990: [Usaco2017 Feb]Why Did the Cow Cross the Road II 树状数组优化LCS
- [BZOJ4994] [Usaco2017 Feb]Why Did the Cow Cross the Road III(树状数组)
- 【BZOJ】1878: [SDOI2009]HH的项链(树状数组)
- BZOJ 2789 Poi 2012 Letters 树状数组 逆序对
- [bzoj3289]Mato的文件管理_莫队_树状数组
- bzoj2141 分块套树状数组/树套树
- [BZOJ1201][HNOI2005]数三角形(树状数组)
- BZOJ 2743: [HEOI2012]采花 离线树状数组
- zoj 3929 Deque and Balls 树状数组 递推
- BZOJ2527 [Poi2011]Meteors 【整体二分 + 树状数组】