EDqwq @ 2021-01-26 15:26:52
int find(int x){
int now = rt,ans = 0;
while (1){
if (x < w[now]){
now = son[now][0];
continue;
}
ans += size[son[now][0]];
if (x == w[now]){
splay(now);
return ans + 1;
}
ans += num[now];
now = son[now][1];
}
}
by EDqwq @ 2021-01-26 15:27:11
需要全部代码我就发qwq
太长了
by Terac @ 2021-01-26 15:43:12
您貌似没判找不到该数的情况
by EDqwq @ 2021-01-26 15:46:41
@水の殤璃 这道题不是保证有答案吗
by Terac @ 2021-01-26 15:48:15
我把break删了30分(
by EDqwq @ 2021-01-26 15:49:35
@水の殤璃 我什么也不改交上去也是30分
很显然
by MatrixCascade @ 2021-01-26 15:56:24
给个完整代码吧,您没加公开计划我看不了您代码(((
顺便提醒一句,长可以发剪贴板里,用完再删(
by EDqwq @ 2021-01-26 16:01:45
@MatrixCascade https://www.luogu.com.cn/paste/ehtpovu4
by Terac @ 2021-01-26 16:07:57
@林深时x见鹿
int find(int x){
int now = rt,ans = 0;
while (1){
if(!now)
break;
if (x < w[now]){
now = son[now][0];
continue;
}
ans += size[son[now][0]];
if (x == w[now]){
splay(now);
break;
}
ans += num[now];
now = son[now][1];
}
return ans + 1;
}
by EDqwq @ 2021-01-26 16:10:18
@水の殤璃 orz
此帖完结
by 传奇英雄 @ 2021-01-26 16:45:09
萌新你个锤子。