各位教授好,我是來自復旦高中的黃祥陞。在高中之前沒有太多程式設計的經驗,高一開始學習程式設計,高二取得APCS觀念、實作皆滿級分,高三組隊參與NPSC競賽拿下全國第13名的成績,我認為高度學習熱忱是我的個人特質。在學習層面,我於高中參與校內程式設計班,扎根基礎語法和演算法,也結交許多志同道合的朋友,出於回饋,於高二時擔任進階班教學組的幹部,與團隊共同經營程設班,使它繼續傳承,因此,我也認為我具備經營團體和團隊合作的能力。以上是我的自我介紹,敬請教授指教。
我在程式設計班擔任進階班教學組,主要的職務有課程規劃、編輯教材、上台授課、出練習題。以課程內容來說,我在任時期的課程編排有動態規劃、貪心法、暴力搜尋、資料結構、圖論。課程教材是我們用HackMD共同編輯,並公開於開放平台,也能夠讓其他對於演算法有興趣的同儕學習。在我們幹部群的共同努力下,也讓約20位同學考取APCS觀念4級分、實作3級分以上的成績。
我最熟悉的是線段樹,雖然這是競賽選手基本必備,但我於程設班幹部時期主要教學的內容就是線段樹,也在HackMD整理一份公開筆記,因此對它有全方面的理解。它主要是用於區間問題,且區間的答案要有結合性。延伸的話,延遲標記可以降低時間或空間複雜度,動態開點可以降低空間複雜度,樹套樹可以解決二維區域問題,持久化可以沿用前面的版本,最小化記憶體。
有時間複雜度和空間複雜度,在競賽中,複雜度可以估算解的合理性,比如在時限為 \(1\) 秒的題目,\(N\) 為 \(50\) 萬時,\(O(N^2)\) ˇ的解法就不適合。而 Big-O 是複雜度量級的上界,Big-omega 是複雜度量級的下界,Big-theta 是複雜度量級的嚴格上下界。另外,對於遞迴函式的複雜度,可以用主定理來輔助估計。以上,是我對於複雜度的了解。
我和同學共組隊伍參與NPSC拿下全國第13名的成績。在解題層面,我主要是負責資料結構和實作題。競賽時,我們會分開讀題,標註該題所需要的演算法,之後分配題目給隊友。解完個人的部分後,由於重新開題的機會成本太高,所以傾向先幫隊友debug,以扎實穩固的方式拿下一題又一題。以上是我們的團隊分工模式。
因為題目可能會誘導錯誤的方向,我會重新閱讀並思考題目,先以自己的能力重新嘗試解題。如果仍無法的話會上網蒐集相關資料,理解消化吸收後重新思考題目。還是不會的話會請問學長姐該題如何分析和下手。所以我遇到不會的問題時,我會重新思考、上網查詢、求助學長姐。
沒有做過大型專案,但有做過一些小小的作品成果。比如利用 Discord 提供的 API 搭配 Python 程式語言,製作聊天機器人,並且搭配爬蟲,可以經由指令,快速爬取 ZeroJudge 的解題資料。我也有用Pygame模組製作簡易的Block Game,大概長這樣(用手比),也對架構設計和流程開發有了基礎的認識。另外,去年疫情爆發的時候要開始上線上課程,我利用了 Python 的 selenium 模組去寫動態爬蟲,把線上課表抓下來然後定時自動加入 meet。
在大學後的規劃會放在兩個重點,一是演算法競賽,二是人工智慧領域。高中花了許多時間於演算法的學習,我也很享受解題的過程,因此大學會繼續參與 NCPC、ICPC 等競賽。另外,我未來想要鑽研 AI 領域,近期也有關注 AI 發展,比如聯發科和 google 發表的論文是用 AI 做晶片設計,它是運用一些動作和累積獎勵的方式來訓練 AI,來達到最大化的效益,而我正是對此有興趣,於暑假會研習相關論文。
AI 最重要的就是它的效率和正確性。它的應用層面非常廣泛,如晶片設計、醫療影像、分析和預測。不過以我現在的認知,AI 的架構雖然很多,但最根本還是資料,沒有大量的資料就沒有辦法有效訓練 AI,所以資料是 AI 的根本。
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing