iT邦幫忙

c/c++系列文章相關文章
共有 37 則文章
鐵人賽 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...

鐵人賽 Software Development DAY 10

技術 Day 10 — 遞迴與分治法

一、學習目標 理解分治(Divide & Conquer模板與遞迴不變量。 掌握 QuickSort(原地、平均快)與 MergeSort(穩定、最壞...

鐵人賽 Software Development DAY 8

技術 Day 8 — 貪心演算法(Greedy)

一、學習目標 了解什麼是「局部最優導向全局最優」的貪心思想,以及何時可用、何時不可用。 學會兩個最常見的貪心套路:區間排程(按結束時間排序)、短工優先以最小化...

鐵人賽 Software Development DAY 7

技術 Day 7:雙指標 Two Pointers 技巧

一、學習目標 掌握雙指針(Two Pointers)技巧的兩大變形: 對撞型雙指針(Two-end) 滑動視窗型雙指針(Sliding Window)...

技術 CPP 從入門到入墳02 for_each 循環

CPP 從入門到入墳02 for_each 循環 話接上回: for_each 最後我們會遇到一個問題 我們要怎麼輸出上面那串map呢? 你可能會想 cout&...

技術 [一天至少一題直到ICPC開賽024]解題:498-bis(1/7)

498-bis 這題在 zeorjudge 上怪怪的,我在網路上找了 online judge 與其他的測值都是AC,結果在 zerojudge 上卻 NA,...

技術 CPP 從入門到入墳01(關於getline、map、for_each)

概述 DC 連結 上次的線上討論因為大家的能力不太一樣,講一些東西時有人已經會了,有些人不會。這樣會讓整個課堂變得很無趣,所以以後會改個方針 變成 : 開這周的...

技術 [Basic C++] Base Class Pointer access Derived class member

你是否有遇過這樣的情況: class Base { public: Base(int a) : A(a) {} virtual ~Base(){...

技術 [Basic C++] cout對齊輸出

ㄧ、問題描述 如果要cout像以下這樣的格式時,該怎麼做呢? 這樣的cout困難點在於:數字跟字串長度不固定。這樣導致第二行最後面的"="難...

技術 C++暑假進化之路(1): 2.3 複合型別

2.3.1 參考(reference) 一個已存在物件的別稱(alias)。 需要初始化 int &refval ; // 錯誤,需要初始化 輸出:...

技術 C++暑假進化之路(0): 出發

這系列是怎麼來的? 這個暑假想加強一下程式的基本功,把前年買的 C++ Primer 5th 啃一啃,然後把一些卡關的觀念跟Code紀錄一下。 這系列文章中會有...

技術 使用Visual studio code (vscode) 一鍵執行編譯C++ compiler 超簡單

**1.安裝Visual Studio code **有安裝的可跳過這一步官網連結: http://code.visualstudio.com/2.安裝vsco...

技術 C++ 次方數型別的錯誤紀錄 pow()

#我是c++的菜鳥,我想來發文記錄一下我的學習# 今天我在寫zerogudge 的題目,a040(阿姆斯壯數)的時候發生了很詭異的事情,當我執行的時候可怕的是就...

徵才 Math Function in C++

pow() function in c++ : - This function used to find the power of any number wh...

技術 C++程式碼問題

](http://) 請問這題該如何解呢?? #include #include #include <math.h> using namespac...

技術 C++ Primer 5th Edition Exercises(練習題)13.32

Would the pointerlike version of HasPtr benefit from defining a swap function?...

技術 C++ Primer 5th Edition Exercises(練習題)13.31

Exercise 13.31: Give your class a < operator and define a vector of HasPtrs....

技術 C++ Primer 5th Edition Exercises(練習題)13.28

Exercise 13.28: Given the following classes, implement a default constructor an...

技術 C++ Primer 5th Edition Exercises(練習題)13.18

練習13.18 Define an Employee class that contains an employee name and a unique em...

技術 C++ Primer 5th Edition Exercises(練習題)13.05

Exercise 13.5: Given the following sketch of a class, write a copy constructor...