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

Add LCT #61

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open

Add LCT #61

wants to merge 19 commits into from

Conversation

EzElephant
Copy link

@EzElephant EzElephant commented May 13, 2023

  • Read Contribute to NTHU-CPP.
  • Rebase to the latest main branch.
  • List all the references.
  • Successfully build the website by mdBook with no error after the change.
  • Exclude any irrelevant files.
  • Link to the issue which is related to your change.
  • Review the content by myself.
  • Pass tests/CI.

@EzElephant
Copy link
Author

#45

@harry900831 harry900831 linked an issue May 18, 2023 that may be closed by this pull request
Copy link
Contributor

@harry900831 harry900831 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

我只是大概瀏覽過去,我認為有非常多東西需要修正,絕對不局限於我底下提的,請修正好並「自行閱讀檢查過後」之後在將此 PR 設定成 ready for review。

  1. LCT的介紹需要更清楚,好多東西我都看不懂。Splay Tree 是什麼、Auxiliary Tree 與 LCT的關係是什麼....等等。你目前的寫法就只是把你的程式碼怎麼執行的寫上來,會讓看的人不懂為什麼要這樣。
  2. 這種樹狀操作的東西最好使用圖片輔助解釋。
  3. 我用 mdBook 查看,許多排版都跑掉了,但你有勾 Successfully build the website by mdBook with no error after the change。
  4. 下面例題如果是使用你提供的 LCT 模板可以不用將模板放到Code內。
  5. Splay Tree 可以放到另一個新的 md。

src/SUMMARY.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
src/tree/link_cut_tree.md Outdated Show resolved Hide resolved
@harry900831 harry900831 marked this pull request as draft May 18, 2023 17:49
@EzElephant EzElephant marked this pull request as ready for review June 17, 2023 08:37
@EzElephant
Copy link
Author

助教好,我這裡有幾個問題:

  • 我有嘗試讓我的解釋 LCT 操作的部分更加清楚,還加了更多名詞的定義,不知道這樣有沒有比較清楚
  • 還有模板內有用到 splay tree 的部分,是不是應該開一個 issue 請後人幫忙補上

目前題目正在嘗試中,之後會補上。
謝謝助教

Copy link
Contributor

@harry900831 harry900831 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 你已經修正的comment可以自己按resolve,有疑慮的就reply一起來討論。
  • 我剛剛只是隨意花一分著掃過去而已,我之後再詳細review一遍。
  • 總覺得你圖片與文字敘述的比例很怪,文字一兩行就有一個很長很窄的圖片。而且圖中的邊粗細差異不明顯(可以用顏色),箭頭也太小,點對比邊來說又有點大。看你能不能修正的更好一點。
  • 你不需要詳細介紹 splay tree,他確實不該被放在這篇文章內。但你可能還是要稍微提一下 splay tree 是什麼,LCT 與 splay tree的關係等等然後提說讀這篇的先輩知識是什麼....
  • 可以的話你也可以提供一些資源讓讀者先去看理解什麼是splay tree後再來看你的文章(這未來當然希望是refer 到在NTHU CPP內的文章)
  • 你有意願之後補上 splay tree 的章節的話,那就太好了,可以自己去開個issue : )

src/SUMMARY.md Outdated Show resolved Hide resolved
src/data_structure/image/LCT/cut_edge.png Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
Copy link
Contributor

@harry900831 harry900831 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • There's a lot improvement from your last change.
  • The size of your node on the figure is too large for the edge, so it looks a little bit weird, but that's fine, you don't have to fix it, unless you want to add more figure.
  • Do you search for what kind of implementation is the best? I wish you could do that and use the one that is the cleanest over here. (Such as: https://github.com/OmeletWithoutEgg/ckiseki/blob/master/codes/Data_Structure/LCT.cpp) But you don't have to wrap it with class, struct is enough.
  • I haven't read your article in detail since I think there's still a lot of potential to make it more clear. Please read others tutorial or article and learn how to explain the idea better.
  • Typically, there should be two section: example and exercise. Example section should contain detail explanation. Exercise is provide a problem list for the user to practice.
  • You should also consider what kind of format or typesetting is good for the user to read
  • There're several articles be merged in to NTHU-CPP recently, you may take them as an example.

src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
src/data_structure/link_cut_tree.md Show resolved Hide resolved
src/data_structure/link_cut_tree.md Show resolved Hide resolved
src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
Comment on lines +810 to +823
SPOJ-QTREE 系列題目:

- [QTREE](https://www.spoj.com/problems/QTREE/)
- [QTREE2](https://www.spoj.com/problems/QTREE2/)
- [QTREE3](https://www.spoj.com/problems/QTREE3/)
- [QTREE4](https://www.spoj.com/problems/QTREE4/)
- [QTREE5](https://www.spoj.com/problems/QTREE5/)
- [QTREE6](https://www.spoj.com/problems/QTREE6/)
- [QTREE7](https://www.spoj.com/problems/QTREE7/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please tell the reader what is these problem about

src/data_structure/link_cut_tree.md Outdated Show resolved Hide resolved
@harry900831
Copy link
Contributor

https://codeforces.com/contest/13/problem/E

可以用 LCT做的題目

@harry900831
Copy link
Contributor

Friendly ping

@EzElephant
Copy link
Author

謝謝提醒! 這幾天會努力弄出新的 PR

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 Linck cut tree
2 participants