Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ds/segt):add 查理线段树 #5576

Closed
wants to merge 2 commits into from
Closed

Conversation

383494
Copy link
Contributor

@383494 383494 commented May 3, 2024

  • 我已认真阅读贡献指南 (contributing guidelines) 和社区公约 (code of conduct),并遵循了如何参与页及格式手册页的相应规范。

fix #5575

@HeRaNO
Copy link
Collaborator

HeRaNO commented May 3, 2024

@HeRaNO HeRaNO closed this May 3, 2024
@383494
Copy link
Contributor Author

383494 commented May 3, 2024

@HeRaNO

  1. OI Wiki 不是发表原创研究的场所

    1. OI Wiki 不是新闻的收集处

    2. 查阅权威文献与资料

若您不能证明该内容已经被用于解决编程竞赛中的某一类问题

线段树空间优化是通用的优化,而非解决特定问题的数据结构。

您所贡献的内容应当是已经经过检验沉淀

这个 trick 已提出一年有余,经过众多选手应用。(虽然我不知道具体数据,但从我来看这个 trick 的知名度不低)

能获得广泛认可(如可作为正式比赛中的泛用优秀解法),且与 OI Wiki 中现存的算法有一定的区分性。

对于线段树的题目都能应用(某些特殊的线段树除外?)

建议您先查阅权威文献和资料,确保信息准确无误。

SmallBlack 给出的证明:

@Enter-tainer
Copy link
Member

感觉有用但是不多。很平凡的东西就不要单独起个人名了。。。

@383494
Copy link
Contributor Author

383494 commented May 3, 2024

感觉有用但是不多。很平凡的东西就不要单独起个人名了。。。

那叫它“二倍空间优化”吗?

@HeRaNO
Copy link
Collaborator

HeRaNO commented May 4, 2024

没什么意义吧,我写的线段树一直都是二倍空间的,为什么现在都变成一种优化了

@HeRaNO
Copy link
Collaborator

HeRaNO commented May 4, 2024

@HeRaNO

  1. OI Wiki 不是发表原创研究的场所

    1. OI Wiki 不是新闻的收集处
    2. 查阅权威文献与资料

若您不能证明该内容已经被用于解决编程竞赛中的某一类问题

线段树空间优化是通用的优化,而非解决特定问题的数据结构。

您所贡献的内容应当是已经经过检验沉淀

这个 trick 已提出一年有余,经过众多选手应用。(虽然我不知道具体数据,但从我来看这个 trick 的知名度不低)

能获得广泛认可(如可作为正式比赛中的泛用优秀解法),且与 OI Wiki 中现存的算法有一定的区分性。

对于线段树的题目都能应用(某些特殊的线段树除外?)

建议您先查阅权威文献和资料,确保信息准确无误。

SmallBlack 给出的证明:

我觉得这是一种诡辩,请回答:

  1. 添加内容是不是原创研究
  2. 这条添加内容是不是「新闻」,据我所示只是没有那么多人愿意关心线段树的空间罢了,严格来说线段树本身就是二倍空间的
  3. 你查过提出线段树的原论文吗,它提出的时候空间复杂度是多大

@383494
Copy link
Contributor Author

383494 commented May 4, 2024

我觉得这是一种诡辩,请回答:

1. 添加内容是不是原创研究

2. 这条添加内容是不是「新闻」,据我所示只是没有那么多人愿意关心线段树的空间罢了,严格来说线段树本身就是二倍空间的

3. 你查过提出线段树的原论文吗,它提出的时候空间复杂度是多大
  1. 在我看来的「不应加入原创研究」应该是整个算法都由自己原创。当然,如果说这是「原创研究」也合理。

然而

您发现了某题目的非常规做法,若您不能证明该做法已经被应用于其他题目中,则 不应 在 OI Wiki 中开设单独的界面。

您提出了新的算法或数据结构,若您不能证明该内容已经被用于解决编程竞赛中的某一类问题,则 不应 将其提交至 OI Wiki。

这两条都不符合。

  1. 在 wiki 里「不是新闻」指:

您所贡献的内容应当是已经经过检验沉淀,获得了广泛认可,且在一段时间内不会产生时效性问题的信息

我认为它符合以上 1、3 条件。然而,「广泛认可」的定义不明确。

严格来说线段树本身就是二倍空间的

没什么意义吧,我写的线段树一直都是二倍空间的,为什么现在都变成一种优化了

可能是我的用词出了问题,这里的「优化」是相对「堆式存储」来说的。


我在 uoj 上随机选了一道线段树题,它的标程 用的还是堆式存储的线段树,由此可见堆式存储在 OI 中的普及度较高。这个相对于堆式存储的「优化」我认为是有用的?

@Enter-tainer
Copy link
Member

Enter-tainer commented May 5, 2024

you may want to read: https://codeforces.com/blog/entry/18051

Codeforces
Codeforces. Programming competitions and contests, programming community

@383494
Copy link
Contributor Author

383494 commented May 5, 2024

you may want to read: https://codeforces.com/blog/entry/18051

看来是我对「堆式存储」了解不够深入。


我交此 PR 的目的就是让(大多数人写的)四倍空间线段树被更优的写法替换。

这种线段树替换原 Wiki 的线段树写法(或至少是并列),这是否符合「OI Wiki 不是什么」?如果符合,我可以 PR。

Codeforces
Codeforces. Programming competitions and contests, programming community

@HeRaNO
Copy link
Collaborator

HeRaNO commented May 5, 2024

如果要添加,我只支持「线段树严格二倍空间,为了方便有 XXX 等写法」这一种表述方式,并且附上严格二倍空间的证明,而不是所谓的「查理线段树」等生造的名词

@383494

This comment was marked as resolved.

@HeRaNO
Copy link
Collaborator

HeRaNO commented May 5, 2024

如果要添加,我只支持「线段树严格二倍空间,为了方便有 XXX 等写法」这一种表述方式,并且附上严格二倍空间的证明,而不是所谓的「查理线段树」等生造的名词

「查理线段树」等生造的名词

这个名词是我从原帖子里直接拿来用的,看起来像是约定俗成了(

我只支持「线段树严格二倍空间,为了方便有 XXX 等写法」这一种表述方式

这个我同意,线段树本来就是二倍空间。

另外就是,如果要添加,OI Wiki 里的原写法是否应删除?

我不是说了「为了方便有 XXX 等写法」吗……

而且哪儿约定俗成了,找找 权威 文献和资料,社区资料总具有盲目性……

@383494
Copy link
Contributor Author

383494 commented May 5, 2024

如果要添加,我只支持「线段树严格二倍空间,为了方便有 XXX 等写法」这一种表述方式,并且附上严格二倍空间的证明,而不是所谓的「查理线段树」等生造的名词

「查理线段树」等生造的名词

这个名词是我从原帖子里直接拿来用的,看起来像是约定俗成了(

我只支持「线段树严格二倍空间,为了方便有 XXX 等写法」这一种表述方式

这个我同意,线段树本来就是二倍空间。
另外就是,如果要添加,OI Wiki 里的原写法是否应删除?

我不是说了「为了方便有 XXX 等写法」吗……

而且哪儿约定俗成了,找找 权威 文献和资料,社区资料总具有盲目性……

我的问题……

@383494
Copy link
Contributor Author

383494 commented May 5, 2024

#5580 占个坑先,如果符合要求就可以开写了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add 查理线段树
4 participants