【Uva 解題筆記】494 - Kindergarten Counting Game
【Uva 解題筆記】494 - Kindergarten Counting Game Uva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=435 Zerojudge:https://zerojudge.tw/ShowProblem?problemid=a011 PDF Source:https://onlinejudge.org/external/4/494.pdf 題目翻譯: 每個人圍成一圈坐下。好的,仔細聽我說。 “Woooooo, you screwy wabbit!” 現在,能有人告訴我我剛說了多少個字嗎? Input 程式的輸入將由一系列的行組成,每一行包含多個單字(至少一個)。一個「單字」的定義是連續的字母序列(大寫和/或小寫字母)。 Output 你的程式應該要輸出每一行輸入的單字數量。每個單字計數應該印在單獨的一行上。 Sample Input 1234Meep Meep!I ...
基礎邏輯電路(下)
基礎邏輯電路(下) 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 本篇文章主要作為個人學習用途,撰筆形式概要以筆記形式撰筆。另外本篇文章以入門為導向,若需詳細閱讀相關學門,請搜尋「數位系統導論」或「數位系統設計」。 Sum of Products(SOP) Form 先做 AND 運算,再做 OR 運算。 如: $(A \cdot B) + (C \cdot D) + \cdots$ 主要是用 $+$ 號連接多項 Products,下圖可能會比較清晰一點。 Image Source:What is Sum Of Product (SOP) Form? - GeeksforGeeks 為什麼需要 SOP?因為可以從真值表直接算出布林運算式,接著進一步簡化可畫出電路圖,這是一種蠻好的方式。 最小項(Minterm) 最小項是構成 SOP 的基本單位,是一個 AND 項(積項),具有以下特點: ...
基礎邏輯電路(上)
基礎邏輯電路(上) 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 本篇文章主要作為個人學習用途,撰筆形式概要以筆記形式撰筆。另外本篇文章以入門為導向,若需詳細閱讀相關學門,請搜尋「數位系統導論」或「數位系統設計」。 布林代數式(Boolean Algebra) Boolean Algebra 是數學當中的一個分支,專門用來處理 0 跟 1 這種真(True)假(False)值。主要針對二進位變數以及邏輯運算,如最基礎的 AND、OR、NOT。 邏輯運算(Logical Operations) AND or Conjunction(關聯) OR or Disjunction(無關) NOT or Negation(否定) AND 用布林代數式可表示為 $A \cdot B$ 或是 $A \wedge B$ 。 OR 用布林代數式可表示為 $A + B$ 或是 $A \lor B$ 。 NO...
【Python 筆記】正規運算式(Regular Expression)
【Python 筆記】正規運算式(Regular Expression) 感謝您點進本篇文章,本篇文章為我 LukeTseng 個人首篇 Python 筆記系列文章,主要記錄我個人學習軌跡,所有內容皆用於個人學習用途,斟酌參考。若文章有任意處有誤,煩請各位指點,謝謝。 簡介 這東西的名字很多,有什麼正規表達式、正規表示法、規則運算式、常規表示法等等,我個人比較習慣叫他是正規運算式,總之他的名字就是 Regular Expression(簡稱 RE、regex)就對了,在這之後我都叫他是 regex 縮寫。 regex 是一套用來描述和比對字串樣式規則的「語法」或「表示法」,通常被嵌入在各大程式語言當中,例如我們最愛用的 Python 就是其一。regex 在處理和解析字串方面十分強大,因此也是我們要學習的對象。 你可能想說在 notepad 裡面就可以用搜尋、取代這些功能了,為什麼還需要 regex?因為 regex 他不只是只有搜尋、取代這些功能而已,他還有篩選的功能,例如可以篩出特定字元、字串,以此來找到電子郵件格式及電話號碼。 在 Python 使用 regex 1impo...
什麼是奇偶校驗?(Parity Bit)
什麼是奇偶校驗?(Parity Bit) 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 Parity Bit Parity bit(同位位元 or 奇偶校驗位)為最簡單且廣泛使用的錯誤檢測方法,透過在資料中增加一個額外的位元來檢測傳輸或儲存過程中是否發生錯誤。這個概念在現代計算機系統與串列通訊中扮演著重要的角色。 From Wikibooks : https://zh.wikibooks.org/zh-tw/嵌入式系统/奇偶校验 原理 做奇偶校驗前先計算二進位中 1 的個數,在 1 byte 中,通常有 7 bits 用於實際資料,第 8 個 bit 用來當作檢查位(或稱校驗位)。檢查位的值會根據其他 7 個 bits 中「1」的個數來決定,使整個 byte 中 1 的總數保持為奇數或偶數。 也就是說如果要做偶校驗,假設這 1 byte 的資料裡面 1 的數量有 5 個,由於是做偶校驗,...
Excess Notation 與儲存實數(含浮點數)的方法
Excess Notation 與儲存實數(含浮點數)的方法 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 另外本篇偏向於做題篇,原理部分可能點到為止。 若文章有任何疑點及錯誤的地方歡迎提出。 Excess Notation(移碼、偏移表示法) Excess Notation(也叫超額表示法)主要用於浮點數的指數(exponent)部分。 原理是將實際的數值加上一個固定的偏移值(bias)(如 127 或 1023),使得所有可表示的數值都變成非負數,並以便於無符號(unsigned)方式儲存與比較。 於 Excess Notation 中,假設偏移量是 $N$ ,則實際要表示的數 $x$ 會轉成儲存值 $x_{excess}$ 。 $$x_{excess} = x + N$$ 舉一個例子,IEEE 754 單精度浮點數的指數以 excess-127 表示(dash 後面的 127 就是偏移量),若指數為 $2$ 那儲存值就會是 ...
【Uva 題庫解題】C++ 個人解題筆記 - part4
【Uva 題庫解題】C++ 個人解題筆記 - part4 本次題庫擷取自 CPE 2025/09/30 歷屆考題(本文撰筆日期 2025/10/03 時 CPE 官網尚未更新,但在瘋狂程設已有歷屆試題)。 練習題 第一題是 Hello World,第二題為 Rock, Scissor, Paper,第三題則為必考題 Fourth Point,第四題是 LCM Pair Sum。 Uva 10443 - Rock, Scissor, Paper Uva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1384 No Zerojudge :( PDF Source:https://onlinejudge.org/external/104/10443.pdf 題目翻譯: Bart 的妹妹 Lisa 在一個二維網格上創造了一個新的文明。一開始,每個網格位置可能被三種生命體之一佔據:石頭(Rock)、剪刀(...
【VSCode & Ubuntu】超詳細教學!如何在 VSCode 遠端控制 VMWare Terminal
【VSCode & Ubuntu】超詳細教學!如何在 VSCode 遠端控制 VMWare Terminal 大家好我是 LukeTseng,會想撰寫本次文章主要是因為在虛擬機與 Windows 之間切換複製貼上、打指令太麻煩了,而且 Ubuntu 的 vim 編輯器用的不是那麼習慣XD,所以特此製作本篇文章介紹如何在 VSCode 透過 SSH 遠端控制 VMWare Ubuntu 的 Terminal。 若本篇文章部分指令或敘述有誤,麻煩各位敬請勘誤,感謝你的閱讀。 若還沒安裝過 VSCode 的可以前往該連結下載:https://code.visualstudio.com/ VSCode Extension : Remote - SSH 在左側欄位找到一個有四個方塊圖案的,點下去後,來到我們的擴充商店,搜尋 Remote 即可找到 【Remote - SSH】插件。 註:這邊我已經安裝過了,所以會出現 Uninstall 的字樣。 虛擬機設定 開啟我們的虛擬機,開啟【Edit virtual machine settings】: 找到 【Network Adap...
【Python 網路爬蟲筆記】BeautifulSoup Library - part 3
【Python 網路爬蟲筆記】BeautifulSoup Library - part 3 感謝你點進本篇文章!!我是 LukeTseng,一個熱愛資訊的無名創作者,由於近期大學開設大數據分析程式設計這門課程,裡面談到了爬蟲概念,讓我激起一些興趣,因而製作本系列筆記。 聲明:本篇筆記僅供個人學習用途,斟酌參考。 另外本篇筆記使用 VSCode 環境進行編寫,部分模組(函式庫)需自行下載。 安裝 BeautifulSoup 模組 若使用 google colab 或 anaconda 環境者無須安裝。 指令: 1pip install beautifulsoup4 引入 BeautifulSoup 模組 1from bs4 import BeautifulSoup 為什麼我們要用 BeautifulSoup? BeautifulSoup 的主要用途是解析 HTML 和 XML,將網頁內容轉換成結構化的樹狀格式供程式操作 。 網頁資料解析與擷取是 BeautifulSoup 最主要的用途。 在網路爬蟲的世界,無可或缺的除了 request 模組外,就是 BeautifulSoup,有...
如何解決 VMWare AMD V / RVI 不支援該平台問題
如何解決 VMWare AMD V / RVI 不支援該平台問題 大家好,我是 LukeTseng,近期將桌機轉到筆電時,在筆電安裝 VMWare,啟動虛擬機時遇到了一些問題,因此撰寫本篇文章來解決這個問題。 那麼這個問題就是,開啟虛擬機後,會跳出: Virtualized AMD-V/RVI is not supported on this platform. Continue without virtualized AMD-V/RVI? 這問題是因為 Windows 11 預設啟用 Virtualization-based Security(VBS),這個功能使用 Hyper-V 作為底層技術,會佔用硬體虛擬化資源,導致 VMware Workstation 無法使用 AMD-V/RVI 進行虛擬化。 然後接下來就讓我來一步一步告訴各位怎麼做吧。 第一步:關閉【記憶體完整性】 首先對 Windows Defender 的 tray icon 按下滑鼠左鍵一下。 進入介面後,在左側邊欄選擇【裝置安全性】。 再來於【核心隔離】的下方點擊【核心隔離詳細資料】。 然後確保【...
【Python 網路爬蟲筆記】Requests Library - part 2
【Python 網路爬蟲筆記】Requests Library - part 2 感謝你點進本篇文章!!我是 LukeTseng,一個熱愛資訊的無名創作者,由於近期大學開設大數據分析程式設計這門課程,裡面談到了爬蟲概念,讓我激起一些興趣,因而製作本系列筆記。 聲明:本篇筆記僅供個人學習用途,斟酌參考。 另外本篇筆記使用 VSCode 環境進行編寫,部分模組(函式庫)需自行下載。 安裝 Requests 函式庫 Colab 及 Anaconda 環境無須安裝,內建即有。 若不確定自己有裝的話,可以輸入 pip list 查看已安裝的所有模組。 使用指令 pip install requests。 像我已經安裝過了,再安裝一次他會跟你說 Requirement already satisfied,表示你裝過了。 另外一個測試有沒有安裝過該模組的方法,可以打開 VSCode 或其他環境,輸入以下指令並執行即可: 12import requestsprint(requests.__version__) 執行後會在最下面出現版本資訊。 Requests 基礎用法 使用前須引入模組 i...
【Python 資安筆記】編碼(Encoding)
【Python 資安筆記】編碼(Encoding) Cover : https://www.publicdomainpictures.net/en/view-image.php?image=563833&picture=hacking 感謝你點進本篇筆記!該系列筆記主要紀錄學習資安的過程,以及我個人的一些簡單白話解釋,另外也涉及到在學校中上課所學的資安技巧及知識。 若本篇文章有誤,麻煩各位告訴我,這樣才能好讓我進步!謝謝~ 自網站 CryptoHack 進行學習:https://cryptohack.org/ ASCII 字元編碼 Python 之間的轉換可以用 chr() 以及 ord() 兩個函式做到。 以下是對於 chr() 以及 ord() 兩函式的解釋: chr() 接受十進位或十六進位的數字,回傳值為傳入參數所對應的 ASCII 字元,如傳入參數 97,就回傳輸出 'a' 這個字元。 ord() 與 chr() 相反,它接受一個字元當作參數傳入,回傳對應的 ASCII 數值,或是 Unicode 數值。 以下程式碼就做了兩個函數之間的轉換關係: 12345...
儲存整數的方法,在電腦裡負數是如何表示的
儲存整數的方法,在電腦裡負數是如何表示的 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 另外本篇偏向於做題篇,原理部分可能點到為止。 若文章有任何疑點及錯誤的地方歡迎提出。 上一篇文章:淺談二進位與十六進位,為什麼電腦要使用?你所不知道的二進位。 Sign–magnitude representation(原碼表示法) 這種方法可以顯示 $2^n - 1$ 個無號整數(unsigned integer)。 無號整數(unsigned integer) 所謂無號整數亦即 >= 0 的整數,這種整數儲存方式很簡單,只要把十進位轉換成二進位即可。 如:將 7 轉成 8 bit(位元)的整數。 7 的二進位是 $(111)_2$ ,要轉成 8 bit 就在前面補 0,變成: $(00000111)_2$ 即可。 在 8 bit 的系統裡面,如果 $(11111111)_2 + (00000001)_2$ ,這兩個相加之後,會變成 $...
【Python 網路爬蟲筆記】Introduction - part 1
【Python 網路爬蟲筆記】Introduction - part 1 感謝你點進本篇文章!!我是 LukeTseng,一個熱愛資訊的無名創作者,由於近期大學開設大數據分析程式設計這門課程,裡面談到了爬蟲概念,讓我激起一些興趣,因而製作本系列筆記。 聲明:本篇筆記僅供個人學習用途,斟酌參考。 何謂網路爬蟲(Web Crawler)? Image Source:https://www.freepik.com/free-vector/cute-spider-sticker-white-background_20770625.htm#fromView=keyword&page=1&position=48&uuid=58458110-a248-4037-895d-b6b66f71a92b&query=Spider+cartoon 網路爬蟲(Web Crawler),也叫網路蜘蛛,是一種用來自動瀏覽全球資訊網的網路機器人。其目的一般為編纂網路索引。 From WikiPedia 網路爬蟲最主要的用處是可以「自動化」幫我們擷取及收集想要的資訊。 一般的...
【Leetcode C++ 解題筆記】Divide & Conquer - part 2
【Leetcode C++ 解題筆記】Divide & Conquer - part 2 本筆記僅供個人學習用途,內容斟酌參考。 1. Convert Sorted Array to Binary Search Tree Problem Source:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/?envType=problem-list-v2&envId=divide-and-conquer 難度:Easy 題意大致上就是要你把一般常見的陣列轉換成 BST。 補充一下 BST 特性: 左子樹的 Nodes 都比 Root 還小;反之,右子樹都比 Root 還大。 子樹必須都是 BST。 解題思路: 用到 Divide & Conquer 的概念,每次把「目前」陣列片段選中間元素作為 root。 對 root 左側遞迴呼叫產生左子樹,右側也一樣,直到子陣列長度為 0 就結束。 範例程式碼: 12345678910111213141...






