|
刚刚写了 Splay 发现很快啊
|
|
这个题插入还是照旧,在节点内记重数,不过要维护子树的最大覆盖数,询问的时候累计下路径上的覆盖数然后判。
ps:注意一下题目给的是线段的端点。
题目 247 售票系统
2009-05-02 14:49:12
|
|
……裸体吧这题……
线段树做RMQ,注意下常数优化。
题目 58 延绵的山峰
2009-05-02 10:12:45
|
|
这个题就是裸的树状数组吧……
题目 264 数列操作A
2009-05-02 08:37:14
|
|
400000个节点就可以了
|
|
=和== 我再也弄不错了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!shit!!!!!!!!!!!!!!!!!!!!!!!
|
|
求强连通分量会爆栈。。。
|
|
为什么只有50分?不是标号字典序最小吗?
#include<iostream> using namespace std; int n; int MAX; int a[10011]; int f[10011]; int p[10011]; int ans[10011],l; int main() { freopen("maxxl.in","r",stdin); freopen("maxxl.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%d",&a[i]); MAX=-1; int k; for(int i=1;i<=n;++i){ f[i]=1; p[i]=i; for(int j=1;j<=i-1;++j) if(a[i]>a[j]&&f[i]<f[j]+1){ f[i]=f[j]+1; p[i]=j; } if(f[i]>MAX){ MAX=f[i]; k=i; } } printf("%d\n",MAX); l=0; while(k!=p[k]){ ans[++l]=a[k]; k=p[k]; } ans[++l]=a[k]; for(int i=MAX;i>1;--i) printf("%d ",ans[i]); printf("%d\n",ans[1]); return 0; } |
|
后缀数组真是强悍啊!
|
|
ST算法适合数据个数不是特别多,但是查询很多。线段树时候数据多,但是查询少。
|
|
终于过了这个题了 哈哈哈
|
|
费用流,或者KM
|
|
经过n次的提交,终于通过了
题目 256 [POI 2001] 金矿
2009-02-25 01:01:19
|
|
dijkstra
|
|
。。。
|
|
并差集真简单
|
|
Treap万岁
|
|
Pascal C C++
用户 运行时间 详细记录 用户 运行时间 详细记录 feyu 0.463 查看 用户 运行时间 详细记录 zqzas 0.462 查看 CmYkRgB123 0.477 查看
题目 62 [HNOI 2004] 宠物收养所
2008-12-12 23:09:20
|
|
POI1997的题,好像还是山东的省选
|
|
的确啊,数据太弱了,丝毫不能体现出我的动态规划的优越性
|