SQL
博客园
|
首页
|
发新随笔
|
发新文章
|
联系
|
订阅
|
管理
2007年10月1日
之前一道求逆序的线段树模板
struct
node
{
int
l,r;
node
*
pl,
*
pr;
int
count;
}
mem[
200
];
int
mem_pos;
int
anti, n, ans[
200
], num[
200
];
node
*
root;
node
*
new_node()
{
node
*
pt
=
&
mem[mem_pos
++
];
memset(pt,
0
,
sizeof
(node));
return
pt;
}
node
*
make_tree(
int
il,
int
ir,
bool
flag)
{
node
*
root
=
new_node();
root
->
l
=
il;
root
->
r
=
ir;
if
(flag)
{
root
->
count
=
ir
-
il
+
1
;
}
if
(il
!=
ir)
{
int
mid
=
(il
+
ir)
/
2
;
root
->
pl
=
make_tree(il, mid,flag);
root
->
pr
=
make_tree(mid
+
1
, ir,flag);
}
return
root;
}
int
find(node
*
root,
int
num)
{
root
->
count
--
;
if
(root
->
l
==
root
->
r)
{
return
root
->
l;
}
if
(root
->
pl
->
count
>
num)
{
//
left
return
find(root
->
pl, num);
}
else
{
//
right
return
find(root
->
pr, num
-
root
->
pl
->
count);
}
}
void
update(node
*
root,
int
num)
{
root
->
count
++
;
if
(root
->
l
==
num
&&
root
->
r
==
num)
{
return
;
}
if
(root
->
pl
->
r
>=
num)
{
//
left
anti
+=
root
->
pr
->
count;
update(root
->
pl, num);
}
else
{
//
right
update(root
->
pr, num);
}
}
void
cal_P()
{
int
i,j;
for
(i
=
1
;i
<=
n;i
++
)
{
anti
=
0
;
update(root, num[i]);
ans[ num[i] ]
=
anti;
}
}
void
cal_I()
{
int
i,j;
for
(i
=
1
;i
<=
n;i
++
)
{
ans[ find(root, num[i]) ]
=
i;
}
}
posted @
2007-10-01 22:06
sql172 阅读(63) |
评论 (0)
|
编辑
NUSS1017
摘要: #include<stdio.h>#include<string.h>intn,i,j,k,mxa;boolf[2001][2001];intr[2001][2001];intuu[2001][2001];intmain(){while(scanf("%d",&n)==1){mxa=0;for(i=0;i<n;i++)for(j=0;j<n;j++)sc...
阅读全文
posted @
2007-10-01 10:41
sql172 阅读(20) |
评论 (0)
|
编辑
随笔:47 文章:0 评论:17 引用:0
<
2007年10月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(1)
给我留言
查看留言
随笔档案
2007年10月 (27)
2007年9月 (20)
My ACteam ->SEU_COSE_ACM_FT2
Bear
NIC~
(rss)
农夫
钱丁
积分与排名
积分 - 3896
排名 - 6221
最新评论
1. re: PKU3277离散化+线段树
我用STL 的 map 做的离散化,不过在poj上耗时1000MS+
--JooPoo
阅读排行榜
1. zju1484(328)
2. ACM/ICPC要求的知识点(转)(328)
3. PKU1151线段树解法(292)
4. PKU2486所谓树型DP(232)
5. PKU3277离散化+线段树(204)
评论排行榜
1. 今天农夫布置的DP题(5)
2. PKU2486所谓树型DP(3)
3. PKU3277离散化+线段树(2)
4. 不更新要遭人鄙视了。。。。(2)
5. PKU3321(1)