警示后人:如果你数据未加强版AC,却在只拿到了不到一半的分数
查看原帖
警示后人:如果你数据未加强版AC,却在只拿到了不到一半的分数
1033360
retamian楼主2023/10/15 20:15

可能原因1:

int getrank(int u, int key) {
	if (u == 0) return 1;//这里必须return 1,即使不存在比该值小的也应该加上自己
	if (tr[u].key == key) return tr[tr[u].l].size + 1;
	else if (tr[u].key > key) return getrank(tr[u].l, key);
	else return tr[tr[u].l].size + tr[u].cnt + getrank(tr[u].r, key);
}

可能原因2:

const int N = 2e6 + 10, INF = 2147483647;

检查你的数组有没有开到2e6?如果使用无穷大,是否大于2302^{30}?只开1e9是不够的。

针对Treap选手,其他选手也可借鉴,被数据卡了好久。

2023/10/15 20:15
加载中...