zoukankan
html css js c++ java
之前一道求逆序的线段树模板
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;
}
}
查看全文
相关阅读:
【POJ2176】Folding
【NOIP2018】赛道修建
优雅的文本编辑器——Sublime Text 3的搭建与使用
【NOIP2010】乌龟棋
【POJ3585】Accumulation Degree
【POJ3322】Bloxorz I
python之路_常用模块介绍
python之路_正则表达式及re模块
python之路_内置函数及匿名函数
python之路_递归函数及实例讲解
原文地址:https://www.cnblogs.com/SQL/p/912730.html
最新文章
VUE 全局变量的几种实现方式
vue--vuex详解
初学Vue 遇到Module not found:Error:Can`t resolve 'less-loader' 问题
ivew定制主题 less ^3.0 时报错 .bezierEasingMixin(); Inline JavaScript is not enabled. Is it set in your options?
如何快速在当前目录打开cmd命令提示符
vscode 使用iView时标签报错 Parsing error: x-invalid-end-tag
计算机潜意识-神经元
计算机的潜意识-简介
卷积神经网络:Convolutional Neural Networks(CNN)
over fit与underfit的区别与解决方法
热门文章
如何解决冷冻电镜(cryo-EM)中最头痛的取向优势?
linux查看设备命令
python绘图之matplotlib
python生成随机数、随机字符串
在Python中,val、exec和 compile 有什么区别?
generetor1
【BZOJ2200】道路和航线
【NOIP2009】最优贸易
【POJ1463】Strategic game
【CH5E07】划分大理石
Copyright © 2011-2022 走看看