原创 **浙大PAT甲級 1103 dfs+快速冪

題目的意思是求一個數n=k個數的p次方之和。 對n進行深度優先搜索,按照遞減的順序進行搜索,並計算sum的值,如果sum的值比maxxx大,則更新vector,並用ans來統計結果次數,如果爲0,那麼輸出impossible。 還用了快速

原创 浙大PAT甲級 1080

結構體排序以及一些特殊情況的考慮。用兩個截止數組分別表示最後一位入取到該學校的兩個分數值。 如果這次遍歷與上一位的rank相同,則判斷該兩門成績是否與該學校的兩個截止數組相同,如果相同,無聊是否滿額,都繼續招人。 AC代碼: #inclu

原创 *浙大PAT甲級 1079

這個題對時間的限制比較要,因此要用bfs先求得各結點的層次,否則在遍歷中多次對結點求層次會導致超時。 AC代碼: #include<iostream> #include<map> #include<cstdio> #include<alg

原创 浙大PAT甲級 1090 廣搜

廣搜求層次,然後進行排序求出最大層次以及在最大層次結點的數目。 AC代碼: #include<iostream> #include<map> #include<cstdio> #include<algorithm> #include<qu

原创 浙大PAT甲級 1094

簡單的BFS求數的那一層結點數最大,輸出最大數量與相應的層。 AC代碼: #include<iostream> #include<map> #include<cstdio> #include<algorithm> #include<que

原创 浙大PAT甲級 1092

簡單的字符串處理。 AC代碼: #include<iostream> #include<map> #include<cstdio> #include<algorithm> #include<queue> #include<cstring>

原创 **浙大PAT甲級 1093 樹狀數組

這個題目求一個字符串中PAT的數目,我們可以這樣處理。 對字符串每個字符進行遍歷,當字符爲P時len1++,當字符爲A時,則將len1加入到樹狀數組中,當字符爲T時,對樹狀數組求和累加並取餘。 AC代碼: #include<iostre

原创 **浙大PAT甲級 1085

先對數組進行從小到大排序,對每個元素運用二分查找該數*p+1,得到位置,但此時還要向前減去相同的數。然後再找出最大值 AC代碼: #include<iostream> #include<map> #include<cstdio> #inc

原创 **浙大PAT甲級 1086 二叉樹的先中根遍歷求後根遍歷

題目中push的順序爲先根遍歷,pop()得到的結果爲後根遍歷,因此這個題是根據先根遍歷和中根遍歷來求後根遍歷。 AC代碼:#include<iostream> #include<map> #include<cstdio> #includ

原创 **浙大PAT甲級 1078

以除法爲散列函數,注意要用到二次探測解決衝突。 二次探測採用下列探測序列: h(key),h1(hey),h2(hey).........h2i-1(key), h2i(key)...... h2i-1(hey)=(h(key)+i*i)

原创 *浙大PAT甲級 1087 dijkstra+dfs

由於輸入的是城市名稱,因此要先將名稱與id想對應,可以用map映射。 dist數組代表源點到該點的最短路徑,path數組記錄推薦路徑,num數組記錄源點到該點的最大happy值。 通過dijkstra來得出最短路徑以及最大happy值和相

原创 浙大PAT甲級 1088

考慮的情況比較多: (1) 除數爲0則,則等號後面輸出inf。 (2)求最小公倍數時,兩數相乘的範圍可能超過了int所表示的範圍,因此應選用long long 類型。 AC代碼: #include<iostream> #include<m

原创 *浙大PAT甲級 1089 歸併排序與插入排序

先判斷是否由插入排序而得來,再判斷歸併排序。 AC代碼: #include<iostream> #include<map> #include<cstdio> #include<algorithm> #include<queue> #inc

原创 **PAT浙大甲級 1095

這個題很注重時間複雜性,我是用map<string,vector<node> >來存每一個號碼的車的記錄。對每個不同號碼的車將不有效的記錄刪除,然後添加到vector<node>中,同時統計不同號碼的車一天內停車的總時間,並加結果添加到v

原创 浙大PAT甲級 1084

先排序然後二分查找臨界點。 AC代碼: #include<iostream> #include<map> #include<cstdio> #include<algorithm> #include<queue> #include<cstr