社区讨论

一个做法的正确性

P11364[NOIP2024] 树上查询参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhj2pb98
此快照首次捕获于
2025/11/03 19:45
4 个月前
此快照最后确认于
2025/11/03 19:45
4 个月前
查看原帖
参考了二分加上主席树验证的做法,然后直接做由于常数过大导致只能 52 pts。这里是原来的代码。
而我在修改后的代码的 122122 行加了一个剪枝:
CPP
if(tree[no].x<k)return 0;
思路是因为查询区间前缀最大连续长度和区间后缀最大连续长度是不下放的,所以说每到一个区间,查询的都是该区间内的最大值,而不存在相加的操作,直接就相当于最终的答案。因此如果当前整个区间都不行,就都不行。
但是个人非常菜,因此想向大佬求证一下正确性,如果正确的话复杂度又是多少。

回复

2 条回复,欢迎继续交流。

正在加载回复...