bzoj2253】的更多相关文章

[BZOJ2253][2010 Beijing wc]纸箱堆叠 Description P 工厂是一个生产纸箱的工厂.纸箱生产线在人工输入三个参数 n p a , , 之后,即可自动化生产三边边长为 (a mod P,a^2 mod p,a^3 mod P)(a^4 mod p,a^5 mod p,a^6 mod P)....(a^(3n-2) mod p,a^(3n-1) mod p,a^(3n) mod p)的n个纸箱.在运输这些纸箱时,为了节约空间,必须将它们嵌套堆叠起来.一个纸箱可以嵌套…
题解: 其实就是求三维偏序最长链.类似于三维逆序对,我们可以用树状数组套平衡树来实现. DP方程 :f[i]=max(f[j]+1) a[j]<a[i] 我们按一维排序,另一位建立树状数组,把第三维插入到每个树状数组的节点里. 除了权值之外每个节点还要保持一个mx,表示该子树内最大的f[i]. 这样就可以nlg^n了 UPD:试了下不带旋转的treap果然会被卡 orz 代码: #include<cstdio> #include<cstdlib> #include<cm…
这题之前度娘上没有CDQ分治做法,gerwYY出来以后写了一个.不过要sort3遍,常数很大. gerw说可以类似划分树的思想优化复杂度,但是蒟蒻目前不会划分树(会了主席树就懒得去弄了). 嗯 将memset改成手动clear会快很多. 还有就是第一维相同的情况,划分为两个不存在第一维相同的两个区间即可. #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #inc…
题目链接 题意 求三元组的严格上升子序列 思路 先考虑暴力\(dp\)一下 for(int i = 1;i <= n;++i) for(int j = 1;j < i;++j) if(x[i] > x[j] && y[i] > y[j] && z[i] > z[j]) f[i] = max(f[i],f[j] + 1) 考虑用\(CDQ\)分治优化这个\(dp\). 大体思路是,先按照第一维排序,保证第一维是严格上升的.然后\(CDQ\)一下第…
Description P 工厂是一个生产纸箱的工厂.纸箱生产线在人工输入三个参数 n p a , 之后,即可自动化生产三边边长为 (a mod P,a^2 mod p,a^3 mod P) (a^4 mod p,a^5 mod p,a^6 mod P) .... (a^(3n-2) mod p,a^(3n-1) mod p,a^(3n) mod p) 的n个纸箱.在运输这些纸箱时,为了节约空间,必须将它们嵌套堆叠起来.一个纸箱可以嵌套堆叠进另一个纸箱当且仅当它的最短边.次短边和最长边 长度分别…
纸箱堆叠 Time Limit: 30 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description P 工厂是一个生产纸箱的工厂. 纸箱生产线在人工输入三个参数 n p a , 之后即可自动化生产三边边长为 (a mod P,a^2 mod p,a^3 mod P) (a^4 mod p,a^5 mod p,a^6 mod P) .... (a^(3n-2) mod p,a^(3n-1) mod p,a^(3n) mod p) 的…
cdq分治+dp 看见三维偏序是cdq,互相包含是最长上升子序列 这个代码是错的 交了两份代码,发现手动出数据是不一样的... 不调了 #include<bits/stdc++.h> using namespace std; typedef long long ll; ; int n, lim, ans; struct BIT { int tree[N]; int lowbit(int i) { return i & (-i); } void update(int pos, int d…
偏序问题: https://www.luogu.org/blog/Owencodeisking/post-xue-xi-bi-ji-cdq-fen-zhi-hu-zheng-ti-er-fen 优质题目: https://oi.men.ci/tag/cdq/ 看思想: https://www.cnblogs.com/MyNameIsPc/p/9297296.html https://www.cnblogs.com/mlystdcall/p/6219421.html 三维偏序 维度a,b,c [m…