正值期末复习,刷点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代码)的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。