iT邦幫忙

c/c++系列文章相關文章
共有 56 則文章

技術 UVA 108 - Maximum Sum

筆記:【演算法新手村】[初階]筆記05 - 前綴和(二維) 題目翻譯 輸入 (Input)輸入包含一個 N×N 的整數陣列。 第一行是一個正整數 N,代表這...

技術 LeetCode 304. Range Sum Query 2D - Immutable

筆記:【演算法新手村】[初階]筆記05 - 前綴和(二維) 題目翻譯 給定一個二維矩陣 matrix,請處理多個以下類型的查詢:計算由左上角 (row1, c...

技術 【演算法新手村】[初階]筆記05 - 前綴和(二維)

書接上回:【演算法新手村】[初階]筆記04 - 前綴和(一維) 接著上篇一維前綴和的概念,我們這篇進入二維空間。當資料從一條線變成一個平面(矩陣),我們該如何...

技術 CSES - Static Range Sum Queries

筆記:【演算法新手村】[初階]筆記04 - 前綴和(一維) 題目翻譯 給定一個包含 n 個整數的陣列,你的任務是處理 q 個查詢,查詢格式為:區間 [a, b...

技術 LeetCode 303. Range Sum Query - Immutable

筆記:【演算法新手村】[初階]筆記04 - 前綴和(一維) 題目翻譯 給定一個整數陣列 nums,請處理多個以下類型的查詢:計算 nums 在索引 left...

技術 LeetCode 162. Find Peak Element

筆記: 【演算法新手村】[初階]筆記03 - 二分練習題 題目翻譯 所謂的峰值元素(Peak Element),是指一個其值嚴格大於左右鄰居的元素。給定一個下...

技術 LeetCode 69. Sqrt(x)

筆記: 【演算法新手村】[初階]筆記03 - 二分練習題 題目翻譯(by Gemini) 給定一個非負整數 x,回傳 x 的算術平方根,並無條件捨去至最接近的...

技術 LeetCode 35. Search Insert Position

筆記: 【演算法新手村】[初階]筆記02 - 初識二分之常見問題 題目翻譯(by Gemini) 給定一個已排序且元素皆不重複的整數陣列,以及一個目標值(ta...

技術 【演算法新手村】[初階]筆記04 - 前綴和(一維)

首先我們要引入一個問題,我要求一個陣列中從頭到某一項的和要怎麼辦呢? 這邊默認第幾項都是口語上的用法,也就是首項是第 1 項 你會說簡單啊,直接遍歷陣列不...

技術 【演算法新手村】[初階]筆記03 - 二分練習題

書接上回:【演算法新手村】[初階]筆記02 - 初識二分之常見問題 二分答案會有點困難,可以多思考,只要能掌握那怕毛皮,那你也是終於"略懂&quot...

技術 【演算法新手村】[初階]筆記02 - 初識二分之常見問題

前置知識:【演算法新手村】[初階]筆記01 - 初識二分之二分搜尋配合使用效果更佳喔XD 二分搜尋的題目有不少,這邊講一些簡單的(難的跳過,請新手上路者放心食...

技術 【演算法新手村】筆記01 - 初識二分之二分搜尋

作為大多數人一開始學程式就學到的搜尋演算法,不過多引入介紹,這邊主要提一些基本概念 線性搜尋法 Linear Search 又稱循序搜尋法,這是最直觀的方法(把...

技術 【C++學習筆記】05《行為定義》

【C++學習筆記】04《邏輯運算與運算子》 在 C++ 中,並不是每一段合法編譯的程式碼,都會有「明確且一致的執行結果」。為了兼顧效能、可攜性與硬體差異,C+...

技術 【C++學習筆記】04《邏輯運算與運算子》

【C++學習筆記】03《你的變數不是你的變數》【C++學習筆記】05《行為定義》 在 C++ 中,邏輯運算子(Logical Operators) 主要用來處...

技術 【C++學習筆記】03《你的變數不是你的變數》

嗨,大家好,我是 Kevin Lee,一位正在轉職軟體工程師的遊戲技術美術。我會在這裡記錄自己的程式學習筆記,方便日後複習,也分享給和我一樣非本科、想踏入程式世...

技術 【解題紀錄】楓之谷技能點數計算

嗨,大家好,我是KevinLee,一位正在轉職軟體工程師路上的遊戲技術美術。我決定在這裡記錄每一個練習過的題目與實作內容,作為未來回顧與檢視的素材,也希望能透過...

技術 【解題紀錄】身分證規則驗證

嗨,大家好,我是KevinLee,一位正在轉職軟體工程師路上的遊戲技術美術。我決定在這裡記錄每一個練習過的題目與實作內容,作為未來回顧與檢視的素材,也希望能透過...

技術 【C++學習筆記】02《從資料型態到命名規則》

嗨,大家好,我是 Kevin Lee,一位正在轉職軟體工程師的遊戲技術美術。我會在這裡記錄自己的程式學習筆記,方便日後複習,也分享給和我一樣非本科、想踏入程式世...

技術 【C++學習筆記】01《從零學習C++,跟世界打招呼吧!》

嗨,大家好,我是 Kevin Lee,一位正在轉職軟體工程師的遊戲技術美術。我會在這裡記錄自己的程式學習筆記,方便日後複習,也分享給和我一樣非本科、想踏入程式世...

鐵人賽 Software Development DAY 22

技術 Day 22 — Dijkstra(單源最短路徑,非負權)

一、學習目標 正確判斷 Dijkstra 的適用條件:邊權 ≥ 0。 熟練最小堆(priority_queue with greater) 的寫法與「鬆弛(r...

鐵人賽 Software Development DAY 21

技術 Day 21 — DP 綜合挑戰

一、學習目標 把不同型態的 DP(計數型、最佳化型、線性 DP、環狀 DP、字串 DP)串起來。 熟練「狀態定義 → 轉移 → 初始條件 → 答案位置」的完整...

鐵人賽 Software Development DAY 20

技術 Day 20 — DP + 貪心混合(區間排程)

一、學習目標 分辨何時用 貪心(依結束時間排序)、何時用 DP(帶權區間排程)。 熟悉帶權區間 DP:排序、預處理 prev(相容區間)、二分查找轉移。 能將...

鐵人賽 Software Development DAY 19

技術 Day 19 — 狀態壓縮 DP(子集合 DP)

一、學習目標 了解以 bitmask 表示子集合與其時間/空間複雜度 掌握 dp[mask](或 dp[mask][i])的狀態設計與轉移。 熟悉 子集合枚舉...

鐵人賽 Software Development DAY 18

技術 Day 18 — 區間 DP(Interval DP)

一、學習目標 把題目抽象成 dp[l][r]:表示處理區間 [l..r] 的最佳值/最少代價。 會寫兩大形態的轉移: 兩端取數:dp[l][r] 來自 dp...

鐵人賽 Software Development DAY 16

技術 Day 16 — 背包問題(0/1、完全背包)

一、學習目標 理解兩大類背包:0/1(每件最多一次)vs 完全(可重複拿)。 會寫出正確的雙迴圈順序,避免重複/漏算: 0/1:容量倒序。 完全:容量正序。...

鐵人賽 Software Development DAY 15

技術 Day 15 — 動態規劃(DP)入門:從 0 到 1

一、學習目標 會把問題抽象成:狀態、轉移、初始值、答案位置、迭代順序(五步驟)。 熟悉一維 DP 的兩大類: 計數型(有幾種方法):例 Dice、Climb...

鐵人賽 Software Development DAY 14

技術 Day 14 — 圖論基礎(鄰接矩陣 vs 鄰接表、遍歷應用)

一、學習目標 理解鄰接矩陣與鄰接表的差異:空間、時間、適用場合。 熟練無向/有向圖的遍歷模板(BFS/DFS,優先用疊代實作以避免遞迴棧)。 實戰:連通分量...

鐵人賽 Software Development DAY 13

技術 Day 13 — BFS + DFS 綜合應用(迷宮/擴散 + 最短路徑判定)

一、學習目標 熟悉多源 BFS(多個起點同時擴散)與單源 BFS 的配合:先以多源 BFS 建出「危險/時間場」,再用單源 BFS 找可行最短路。 了解「BF...

鐵人賽 Software Development DAY 12

技術 Day 12 — DFS 入門(遞迴與疊代、連通塊、二分圖判定)

一、學習目標 了解 DFS 的兩種實作:遞迴與疊代(顯式 stack),何時該避免遞迴以防止棧爆。 掌握三個核心觀念:visited 標記、連通塊(conne...

鐵人賽 Software Development DAY 11

技術 Day 11 — BFS 入門(最短路徑、迷宮遍歷)

一、學習目標 了解 BFS(Breadth-First Search) 在無權圖求最短邊數路徑的原理與不變量。 熟悉四種常見套路:網格 BFS、一般圖 BFS...