正值期末復習,刷點soj放松下
但想看看能不能在找點關于數據結構的題目來做一下。
在網上看到有不少人上傳過那些關于部分SOJ題目的描述,但是說實話有些亂
不過我看到有個網頁中包含的一個類似文檔的東西,里面講述的還算比較整潔。但是不巧的是,它被分成了很多頁,我要看就需要不斷地點下一頁,這點讓我感覺很難受(懶…)
于是我就研究了下那個網頁的源碼,開始了寫了個爬蟲。
為了好看,將寫好的東西,做了個切片,放到了excel中。
sicily
1198 貪心,
8個串排出最小字典序,
8! 枚舉
sicily
1029 遞推 簡單
sicily
1028 梵塔問題 -> 分治,歸納 -> 有意思但要留意其數據規模較大 sicily
1193 遞推 較難
sicily
1021 簡單題 -> 規模原來很大 -> 難 ->數據結構: 棧
sicily
1176 兩人從兩頭取數
sicily
1150 簡單魔板
sicily
1151 魔板B ,要求寫解題報告
sicily
1515 魔板
C
sicily
1007 數組與下標(二維數組) 簡單
sicily
1036 數組與下標(二維數組) 簡單
sicily
1027 簡單
sicily
1006 棧與回溯 簡單
5! 搜索
sicily
1156 深搜 指針 簡單 樹的遍歷
sicily
1034 隊列與搜索
sicily
1443 基本隊列操作
sicily
1152 簡單的馬周游問題
sicily
1153 馬周游問題, 要求寫解題報告
sicily
1093 枚舉
sicily
1050 回溯 DFS 求
5個數可否運算得到目標數, 否則輸出可得到的小于目標數的最大數.
sicily
1134 積木分發, 貪心:從小到大排序
sicily
1140 國王的遺產, 貪心:砍不大于n/
2個節點的最大樹枝
sicily
1211 分治 求兩點間L 步到達的方法數
sicily
1381 a*b 高精度
sicily
1206 數值計算; 解方程
sicily
1438 排序,隔三求和
sicily
1172 染色模擬
sicily
1022 Poor contestant Prob, 兩個堆
sicily
1310 Right-Heavy Tree,笛卡爾樹相關,復雜度
O(
N)或
O(NlogN)。 sicily
1194 Message Flood, 哈希或排序或平衡二叉樹
sicily
1375 Balanced lineup, 哈希
sicily
1426 Phone
List,電話號碼前綴檢索,trie 樹相關
sicily
1342 開心的金明, 背包
sicily
1519 Longest Common Subsequence
sicily
1211 商人的宣傳
sicily
1176 Two ends
sicily
1077 Cash Machine
sicily
1501 Minimal
sicily
1280 Permutation
sicily
1172 Queens, Knights and Pawns 染色模擬
sicily
1193 Up the Stairs 搬箱子上樓梯.
sicily
1350 Piggy banks,求一個所有點的入度都是
1的圖上的環的數目 sicily
1031. Campus,直接的最短路徑問題
sicily
1090 Highways,求生成樹,使得樹上的最長邊最短
sicily
1424 獎金,拓撲排序
sicily
1423 魔王bug 的
2色定理,最小割(用最大流求解)
sicily
1317 Sudoku, 搜索
sicily
1215 脫離地牢, 搜索
sicily
1293 uva
100, pc
110101,
3n+
1數鏈問題, 難度
1
sicily
1813 M進制數問題
sicily
1157 The hardest problem. 簡單大小比較,難度
0
sicily
1830 SZ
Fibonacci Sequence, 遞歸函數, 難度
0
sicily
1668 Score, 分支語句的使用, 難度
0
sicily
1147 誰拿了最多獎學金. 結構體、數組、分支,難度
1
sicily
1795 Table tennis, 幾何題,難度
0
sicily
1798 Alice and Bob, 策略,難度
1
sicily
1510 Mispelling, 字符串,難度
0
sicily
1561 PRIME
Number, 難度
1
sicily
1007 To and Fro, 二維數組, 難度
1
sicily
1036 Crypto Columns, 二維數組, 字符串, 排序, 難度
1
sicily
1200 Stick. 簡單查找配對,或排序或用set ,難度
1
sicily
1934 移動小球. 線性表,難度
2
sicily
1509 Rails. 難度
2
sicily
1768 雙棧排序
sicily
1021 couples. 棧,難度
2
sicily
1006 Team Rankings, 棧與回溯, 難度
1,
5!搜索
sicily
1443 Printer Queue, 基本隊列操作
sicily
1210 二叉樹, 二叉樹遍歷順序先后中轉換,挺經典的。
sicily
1375 Balanced lineup, 哈希
sicily
1194 Message Flood, 單詞查找, 排序后二分查找,或哈希或平衡二叉樹 sicily
1022 Poor contestant Prob, 兩個堆
sicily
1027 MJ, Nowhere to Hide, 難度
1, 直接比較字符串后排個序輸出 sicily
1133 SPAM, 輸出輸入字符串里的合法email 地址。
sicily
1323 Switch text, 字符串處理。
sicily
1519 Longest Common Subsequence
sicily
1046 Plane Spotting. 排序. 難度
1.
sicily
1134 積木分發. 從小到大排序. 難度
1.
sicily
1795 Simple
Sort
sicily
1154 Easy sort
sicily
1306 Sorting Algorithm. 難度
1
sicily
1351 Multi-key Sorting
sicily
1628 Extended
Normal Order Sort
sicily
1438 Shopaholic, 排序,隔三求和, 難度
1
sicily
1046 Plane Spotting, 排序. 難度
1
sicily
1097 LED Modding, 排序
sicily
1155 Can
I Post the letter 判斷兩點是否可達。(圖的遍歷)
sicily
1114 Food Cubes. 廣度優先遍歷給
3維空間圖染色。(dfs 容易棧溢出)
sicily
1156 Binary tree, 深搜, 指針, 樹的先序遍歷, 難度
1
sicily
1034 forest, 森林的定義,求最大寬度與深度,深度優先遍歷; 樹, 隊列與搜索 sicily
1424 獎金, 拓撲排序
sicily
1350 Piggy banks 給出每個點出度為
1的有向圖,求環的個數。(簡單)
sicily
1308 Dependencies among Jobs, 圖的遍歷
sicily
1211 商人的宣傳, 難度
1,有向圖矩陣乘法
sicily
1031 Campus 單源最短路,dijkstra
sicily
1090 Highways 最小生成樹
sicily
1402 Panic Room 構圖求網絡最大流
sicily
1326 Apple Tree, 建樹,求兩結點最近公共祖先。
sicily
1303 Job Assignment 二分圖的最大權匹配
sicily
1423 魔王bug 的
2色定理,最小割(用最大流求解)
sicily
1192 Guardian of Decency 求最大獨立集,比較特殊可以轉二分匹配做。
sicily
1211 商人的宣傳, 簡單題,有向圖矩陣乘法,
O(n^
3*logL);直接迭代也行,
O(n*m*L) 。 sicily
1350 Piggy banks 給出每個點出度為
1的有向圖,求環的個數。(簡單)
sicily
1423 魔王bug 的
2色定理 構圖求網絡的最小割。
sicily
1002 Anti-
Prime Sequences. 搜索,回溯。難度
2.
sicily
1048 Inverso. 廣度優先搜索BFS ,二進制表示狀態判重。難度
3
sicily
1835 N Queens Problem. 搜索,回溯。
sicily
1444 Prime Path. 廣度優先搜索
sicily
1215 脫離地牢. 有限制的迷宮求兩人相遇的最小步驟。(廣度優先搜索)
sicily
1317 Sudoku. 數獨求解的個數。
sicily
1180 Pasting Strings 給
10個字符串,求一個排列使得某種權和最大,全排列搜索。 sicily
1024 Magic Island. 無向圖的最長路,深度優先搜索DFS. 難度
2
sicily
1050 Numbers & Letters 回溯 DFS 求
5個數可否運算得到目標數, 否則輸出可得到的小于目標數的最大數.
sicily
1135 飛越原野 最短時間過地圖,廣度優先搜索.
sicily
1107 Simple Puzzle 按題意搜索,有可能有前置零,輸出排序.
sicily
1150 簡單魔板 廣度優先搜索,全排列的hash 函數設計
sicily
1151 魔板 廣度優先搜索,全排列的hash 函數設計
sicily
1152 簡單的馬周游問題,迷宮問題的可行性剪枝.
sicily
1153 馬周游問題。 同上,擴展狀態節點的時候按目標函數值排序。
sicily
1378 八數碼問題. 啟發式搜索。
sicily
1001 Alphacode. dp基本題. 難度
2
sicily
1049 Mondriaan.
2*
1跟
1*
1的磚鋪成
2*n的走道的方法數.
sicily
1264 Atomic Car Race. dp基本題.
sicily
1342 開心的金明. 背包dp
sicily
1146 采藥.
01背包, 剩余類dp
sicily
1419 On the run(牛奶快遞). dp
sicily
1019 Apple Tree. 樹型dp
sicily
1123 The
Longest Walk 有向圖求任意起終點的無重復點的最長路,狀態壓縮dp
sicily
1017 Rate of
Return. 求解方程,二分. 難度
2
sicily
1211 商人的宣傳. 求兩點間L 步到達的方法數.
sicily
1137 河床. 求一個最長的連續區間滿足其中的最小數和最大數之差不大于k 。 sicily
1411 Pie. 二分
sicily
1198 Substring
8個串排出最小字典序。(用ab < ba做比較函數排序)
sicily
1140 國王的遺產 砍不大于n/
2個節點的最大樹枝
sicily
1172 Queens, Knights and Pawns 染色模擬
sicily
1193 Up the Stairs. 搬箱子上樓梯.
sicily
1813 M進制數問題. 進制轉換,難度
1
sicily
1201 01000001. 大整數二進制加法
sicily
1240 Faulty Odometer. 十進制數少了
4的計數
sicily
1029 Rabbit. 高精度求和,難度
2
sicily
1020 Big
Integer. 高精度數求模,難度
2
sicily
1381 a*b. 高精度乘法. 難度
2
sicily
1280 Permutation
sicily
1134 積木分發, 貪心:從小到大排序
sicily
1139 電路穩定性, 遞歸處理括號對序列算電路不通概率
sicily
1149 等價表達式, 判斷表達式是否等價(遞歸求解)
sicily
1211 商人的宣傳, 分治, 求兩點間L 步到達的方法數
sicily
1028 Hanoi Tower
Sequence, 梵塔問題 -> 分治,歸納 -> 有意思但要留意其數據規模較大, 可以遞歸或迭代做.
下面是爬取的效果(有意思的是,我是復制的,但是粘貼在簡書上的時候就默認轉換到了圖片格式。看來簡書這里的用的跟一般有點不太一樣hhh)
大家也可以用我下面的代碼來跑就好了,會自動生成這個excel文件的。注意一下,文件路徑自己寫一個就好啦~(相信各位讀者啦)
import requests
import re
from bs4 import BeautifulSoup
import xlwturl_base =
"http://m.wendangku.net"
urls = []
urls.append(url_base +
"/doc/8498b8d449649b6648d74724.html")
Messsage = []
for url
in urls:res = requests.
get(url)soup = BeautifulSoup(res.
text,
'html.parser')next_ = soup.find_all(attrs={
"class":
"next"})
if next_:next_Url = url_base + next_[
0].
get(
'href')print(next_Url)urls.append(next_Url)sicily = soup.find_all(
'p')
for s
in sicily:
if len(s.
text) >
11 and s.
text[
0:
6] ==
'sicily':Messsage.append(s.
text)work_book2 = xlwt.Workbook(
"E:/Code/Python/Project/SojContentget/")
sheet = work_book2.add_sheet(
'sheet1')
for i, m
in enumerate(Messsage):sheet.
write(i,
0, m[
0:
11])sheet.
write(i,
1, m[
12:])
work_book2.save(
"sicily題目.xls")
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的Soj题目分类 python代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。