cclikaa

@cclikaa

Joined on Nov 16, 2022

  • Kruskal's Algorithm 將邊的權重排序,每個點視為一個MSS(最小生成子樹) 從最小權重邊的點將兩個子樹相連,若產生環,捨棄此邊 LOOP time: O(ElogE or ElogV) Prim's Algorithm 概念:Shortest Path: Dijkstra's Algorithm(找不在樹上、離根最近的點)
     Like  Bookmark
  • ^1 P3邏輯電路 題目看似複雜,但應該不難想到使用圖(Graph)相關的演算法處理,不外乎兩種:DFS/BFS。 我們把所有的輸入端口、邏輯閘、輸出端口都看成是節點,以此建立一個有向圖,題目要求是終端的訊號,從終端開始往前推會比從端口出發來的有效率,因此把每個終端當做根節點(Root),作DFS一直遍歷到葉節點,就能求出終端的訊號。 以下程式碼為資料的輸入,圖的儲存方式使用Adjacency Lists。 若還沒學過map可以用二維陣列替代。 int p, q, r, m;
     Like  Bookmark
  • P2 蜜蜂觀察 APCS第二題的題目有9成是二維陣列,此題也不例外,將資料存入陣列內,移動時通過判斷式更新位置。 將蜂巢擺正後(往左傾斜)就能存入二維的字元陣列,並且為了之後方便運算[^1],在蜂巢本身以外,多拓寬一格(左右+上下)作為邊界,因此根據題目m, n = 20的最大值設定,我們可以宣告: char a[22][22]; 第一個輸入的蜂巢資料索引值為[1,1],配合初始化的設定,陣列沒有被輸入覆蓋的地方皆為牆壁。 例1 0000000...
     Like  Bookmark
  • 觀念題心得 上午觀念題的題目比起之前比較少有超出範圍的感覺,但還是有一些莫名其妙的程式追蹤題,就是只能慢慢推也抓不出考點的題目,不知道是不是故意出出來拖時間的,整體計算量也偏多,還有一題變形到超奇怪的stack題沒抓到考點也推不出來Q,很多題目都是倒著問的,像是輸出為X程式碼為?,程式碼為X什麼測資會有bug?,這類題目不好推只能靠平常累積經驗,不寫程式也絕對吃虧。 實作題 P1機械鼠 將輸入位置分成左邊和右邊,會求最大最小值就能拿分。 #include <bits/stdc++.h> using namespace std;
     Like 1 Bookmark
  • P1 迴圈、最大值 變數很多,最大值的初始值要小於零,總分為負也要記得判斷,否則只有部分分 #include <iostream> using namespace std; int main() { int k; cin >> k; int mx = -1, fail = 0; int tp; //時間點
     Like  Bookmark
  • P1 迴圈、最大值 變數很多,最大值的初始值要小於零,總分為負也要記得判斷,否則只有部分分 #include <iostream> using namespace std; int main() { int k; cin >> k; int mx = -1, fail = 0; int tp; //時間點
     Like 1 Bookmark