原创 (pat甲)1063 Set Similarity

大意是給出N個集合,然後求出要求的兩兩集合的相同元素率,即兩個元素的交集與並集。 設置N個set集合,在讀入時將元素放入對應set中,就可以消除同一個集合中的相同元素。之後對每一個查詢(查詢集合x與集合y的情況),設置兩個int型

原创 (pat甲)1039 Course List for Student

這道題因爲最後一組數據龐大,所以使用map和string會超時,也不要使用cin和cout進行輸入或者輸出,若用二維數組存放學生所選的課程編號會導致最後一組數據內存超限,所以使用vector來減少空間消耗 #include<cst

原创 字符串hash

字符串hash是指將一個字符映射成一個整數,使得該整數可以儘可能地通過H§來唯一地表示字符串S。(令hash函數爲H(P)=x*Range+y) 若字符串都由大寫字母構成,可將A~Z視爲0到25,按照二十六進制轉換成十進制,實現將

原创 (PAT甲)1081 Rational Sum

這道題是一道求輸入分數之和的題,可能有負數。如果答案爲假分數,則要按照帶分數的形式輸出,整數則按照整數輸出,否則按照真分數輸出。 注: 負數無需特殊處理,只需要當作分子爲負數的分數即可 數據範圍爲int,兩個分母相乘時,最大可以達到lon

原创 (PAT甲)1049 Counting Ones

這道題如果直接從1遍歷到n會超時,所以要通過特殊的數字尋找規律。規律比較難找,可通過舉例子來尋找。 可以先給出一個數,然後從低位到高位分別標上1,2,3,4.。。對每號位進行判斷解析 例如數30710,一號位爲0,其左側爲3071,因此在

原创 時間複雜度與空間複雜度淺析

首先要弄明白什麼是時間複雜度,大部分的書是通過語句的頻度來分析算法中時間複雜度的,或者說將算法中基本操作的執行次數作爲算法時間複雜度的度量,實際上,時間複雜度就是一個函數,這個函數用來計算執行基本操作的次數 事實上大同小異,一個語