- 博客(140)
- 收藏
- 关注

原创 数据结构-二叉树基础知识总结
数据结构-二叉树基础知识总结 ①二叉树之递归实现篇:[递归实现]-二叉树 包括如下递归操作:a.构造删除b.先序遍历,中序遍历,后序遍历c.层次遍历 ②二叉树之非递归实现篇:[非递归]-二叉树 比起递归实现难啃,但啃完对二叉树肯定有更深刻的理解,包括如下非递归操作:a.构造删除b.先序遍历,中序遍历,后序遍历c.层次遍历 ③线索二...
2018-07-21 22:58:45
697
1
原创 开源项目推荐|throttled-py - 支持多种策略及存储选项的 Python 限流库
throttled-py|🔧 支持多种算法(固定窗口,滑动窗口,令牌桶,漏桶 & GCRA)及存储(Redis、内存)的高性能 Python 限流库。
2025-03-30 21:54:24
530
原创 用 Python 实现一个 Benchmark 工具
最近在开发一个第三方库,需要对比模块在串行 / 并发 / Async 上的性能表现,并且在 Python 3.13 版本上运行,没有找到合适的工具,于是就自己实现了一个.
2025-03-30 12:44:46
243
原创 快速搭建个人 k8s 集群(版本 1.30.x)
本文介绍如何基于腾讯云 OpenCloudOS 8.6 主机搭建 1.30.x 版本(截止 2024.07)最新版 Kubernetes。
2025-03-25 00:43:23
877
原创 并发性能提升 200%+ !Python no-GIL 实验版本性能实测
全局解释器锁(Global Interpreter Lock,简称 GIL)的单进程互斥,使得 Python 并发仅能获得近似单线程的效果,好消息是,`3.13t-dev` 作为 no-GIL 实验版本已具备较强的可测试性,下文将对其性能进行对比。
2025-03-25 00:36:54
1066
原创 Session, Cookie, Token
Session, Cookie, TokenHTTP是一个无状态协议无状态是指在客户端(Web浏览器)和服务器之间不需要建立持久的连接,客户端向服务端发送请求且服务器收到请求并返回响应报文后,连接就关闭,服务器不保留相关信息Session,Cookie由于HTTP的无状态性,为了服务器可以知道用户身份信息,就出现了Session和Cookie客户端访问服务器流程客户端发送http请求...
2020-03-06 18:08:27
495
原创 Python爬虫学习笔记与实战汇总
pythonCrawlerNoticeexe_file 是本程序爬取的附录,全部测试、实战读写路径全部指向exe_file本爬虫笔记基于b站 Python爬虫从入门到高级实战【92集】千锋Python高级教程在该教程的基础上对教程中的思路进行实践,对教程出现的错误进行修正,并且另外扩展,并非教程源码照搬由于时间有限,笔记与代码都位于.py文件中,以注释及代码形式存在,对学习过程中会...
2019-07-31 21:00:08
789
原创 PAT-Advanced Level-1002-All Roads Lead to Rome
PAT-Advanced Level-1002-All Roads Lead to Rome题目链接:All Roads Lead to Rome题目大意:除起点外每个顶点都有幸运值,寻找一条最短路径到ROM(Rome),若存在多条路径,找出其中幸运值总和最大的路径,若总和相等,找出幸运值平均值最大的路径。题目分析:Dijkstra+DFS详见类同题目的分析:PAT-Adv...
2018-11-18 13:48:15
504
原创 PAT-Advanced Level-1001-Public Bike Management
PAT-Advanced Level-1001-Public Bike Management题目链接:Public Bike Management 题目大意:情景是总部对目标站点及路径上的所有站点进行单车管理,规则是每个站点要有 Cmax/2 辆单车,求到目标站点最短路径上需要从总部携带的单车数及调整完运回的单车数及最短路径,存在多条最短路,取携带单车数少,运回单车数少(当携带单车数相...
2018-11-16 22:54:51
394
原创 Java-TreeMap对Key/Value自定排序
Java-TreeMap对Key/Value自定排序Key自定义排序:实现Comparator接口:1)重写接口Comparator中的compare方法//实现接口:Comparatorclass MyComparator implements Comparator{ //自定义排序,对价格升序排序 //实例key为double类型 public int co...
2018-11-12 21:51:43
1872
原创 二分查找-POJ 3122-Pie
题目连接:Pie题目大意:有N张饼,k个朋友,为了体面,必须把饼切割成大小一样的k+1块(包括主人自己),求出每个人能得到的最大饼体积。前提:每人一块,饼可以有剩余二分去暴力答案,确定下界为0,上界为最大体积的饼(每人一块,最大可能就是饼的体积都相等,也就是每块都是最大值)。代码:#include<stdio.h>#include<math.h>...
2018-11-08 22:49:15
312
原创 二分/模拟-51Nod 1279-扔盘子
题目链接:1279扔盘子题目大意:盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方思路:如果简单的暴力会超时,对井的每一层可做优化。如果上一层比下一层窄,那么盘子肯定在上一层被卡,所以不妨把下一层的宽度也设为上一层的宽度,以此,井由上至下会变成一个非递增序列,便于查找。二分解法:将井“倒过来”,变成一个非递减序列,设置一个下界,查找盘子所能落到的最底位置,...
2018-11-08 22:38:38
243
原创 调度场算法-表达式计算
也不是什么新的东西把,调度场也不说了,就说说我写过的三个版本表达式的成长吧第一个简单计算器,没有括号没有单独考虑加减乘除优先级第二个等价表达式主要是没有值吧,全代固定变量,然后没有除法列出来:[1]简单计算器:字符串处理之简单计算器[2]等价表达式:转逆波兰表达式-OpenJudge[等价表达式]慢慢填坑,这个表达式计算用到 [1]的截取浮点数方法,加上[2]的转逆波兰及逆...
2018-10-24 23:04:33
774
原创 背包问题-01背包,完全背包,多重背包
背包问题-01背包,完全背包,多重背包 01背包: 概念:有Goods_Num件物品,MAX_Volume的最大装载量,每种物品只有一件,每种物品都有对应的重量或者说体积Volume[i],价值Value[i],求解装包的最大价值状态转移方程推导:假设目前已经有 i-1件物品装在容量为 j 的背包中,并且得到最大价值Package[ i-1 ][ j ],当前装第i件,...
2018-09-06 13:19:53
477
原创 最短路径-Floyd(弗洛伊德)算法
最短路径-Floyd(弗洛伊德)算法 简介: 相较Dijkstra,Floyd是一个完全穷举图中每个点到末尾点的最短路径 算法思想: 按惯例说两个工具Path[MAX_SIZE][MAX_SIZE]:保存所有的最短路径(指向)Short_Path[MAX_SIZE][MAX_SIZE]:保存所有的最短路径长度(数组)状态转移:Short_Path[v][w...
2018-09-01 22:37:36
395
原创 最短路径(Dijkstra)-HDU 2544-最短路
最短路径(Dijkstra)-HDU 2544-最短路 题目链接: 最短路 题目基础: 最短路径-Dijkstra(迪杰斯特拉)算法 思路: 题目大意:略略略~~题解:套模板,传送门有详解 代码: #include <iostream>#include<memory.h>using namespace std;...
2018-09-01 21:18:20
357
原创 最短路径(Dijkstra)-HDU 1874-畅通工程续
最短路径(Dijkstra)-HDU 1874-畅通工程续 题目链接: 畅通工程续 题目基础: 最短路径-Dijkstra(迪杰斯特拉)算法 思路: 题目大意:略略略题解:可能都有个习惯,一篇算法两篇水题就说下怎样判断 S-T之间有无最短路:bool Vis 是用于标记加入最短路的标记数组,如果顶点a在最短路,那么Vis[a]=true,所以,如...
2018-09-01 21:13:41
368
原创 最短路径-Dijkstra(迪杰斯特拉)算法
最短路径-Dijkstra(迪杰斯特拉)算法 网图的最短路: 最短路径,是指两顶点之间经过的边上权值之和最小的路径,并且我们称路径的第一个顶点是源点,最后一个顶点是终点 Dijkstra(迪杰斯特拉)算法: 概况:按路径长度递增的次序产生的最短路径算法,通过一步步计算出路径之间顶点的最短路径,在此过程中都是基于已经求出的最短路径基础上,求得更远顶点的最短路径思想:...
2018-09-01 20:59:33
1297
原创 数据结构与算法MOOC-第四章字符串练习题解析汇总
数据结构与算法MOOC-第四章字符串练习题解析汇总 1:合格的字符串 OpenJudge-合格的字符串 2:去除C程序中的注释 OpenJudge-去除C程序中的注释 3:全在其中 POJ 938/UVA 10340-All in All(全在其中) 4:字符串乘方 KMP-(POJ 2406)Power Strings[字符串乘方] 5:英语数...
2018-08-30 18:43:37
2110
原创 vector/map-OpenJudge-统计字符数
Vector/Map-OpenJudge-统计字符数 题目链接: 6:统计字符数 思路: 在统计单词,字符方面,map有得天独厚的优势,不过有点烦,map的排序是按照key值排的,又没有自定义排序,所以只能用vector把map中所有的pair搬过来排序 代码: #include<iostream>#include<algorithm>...
2018-08-30 18:25:40
552
原创 POJ 1298-The Hardest Problem Ever(Caesar 密码)
POJ 1298-The Hardest Problem Ever(Caesar 密码) 题目链接: The Hardest Problem Ever 思路: 题目大意:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的给定翻译后的消息,求原始信息题解:...
2018-08-30 18:25:18
526
原创 思维-POJ 2159-Ancient Cipher
思维-POJ 2159-Ancient Cipher 题目链接: Ancient Cipher 思路: 题目大意:给出两种对文件加密的方式,替换和重新排列替换:例如:替换规则可以是将'A' 到 'Y'替换成它的下一个字符,将'Z'替换成 'A',如果原词是 "VICTORIOUS" 则它变成 "WJDUPSJPVT"重新排列:排列方法改变原来单词中字母的顺序。...
2018-08-30 18:23:27
408
原创 OpenJudge-去除C程序中的注释
OpenJudge-去除C程序中的注释 题目链接: 2:去除C程序中的注释 思路: 注释方式只有一种: /* ..... */ 且不能嵌套注释所以分三种情况:1.当前字符不在注释或字符串中,如果不是注释或字符串标记符,直接输出,否则改变状态(注释中/字符串中)2.字符在注释中:检查字符是否能构成 ” */ “ ,如果是,注释状态解除,否则...
2018-08-29 16:21:04
1535
原创 二维KMP-OpenJudge-挤奶网格
二维KMP-OpenJudge-挤奶网格 题目链接: 挤奶网格 思路: 题目大意:给一个二维字符串数组,求能覆盖得到该数组的最小面积题解:求最小覆盖面积,类似一维KMP求最长覆盖串(Len-Next【Len】)对原字符矩阵每一行进行KMP,求出行的覆盖度转置后求列覆盖度覆盖度=Len-Next[Len]覆盖度乘积为所求 代码: #i...
2018-08-29 16:00:59
882
原创 OpenJudge-合格的字符串
OpenJudge-合格的字符串 题目链接:1:合格的字符串代码:#include<iostream> #include<string>#include<cmath>using namespace std;int main(){ string *Answer; string Request; int num, begin, e...
2018-08-29 15:46:42
1045
原创 并查集/DFS-CodeForces 1027D-Mouse Hunt
并查集/DFS-CodeForces 1027D-Mouse Hunt 题目链接: D. Mouse Hunt 题目基础:并查集 数据结构-并查集 思路: 题目大意:给定两个N长度序列,第一个序列表示在每个房间安装捕鼠器的成本,第二个序列是状态图,表示在第 i 个房间的老鼠,下一秒会去到房间 Next_Room[i] (可以选择停留在该房间),求出一定能捉到...
2018-08-29 15:26:58
332
原创 CodeForces 1027C-Minimum Value Rectangle
CodeForces 1027C-Minimum Value Rectangle 题目链接: C. Minimum Value Rectangle 思路: 题目大意:给定n条边,选出4根构造长方形,周长P=2*(x+y) 面积S=xy,求出比值 P/S 最小的长方形组合(有多答案,输出一个)题解:化简了一下P/S = x/y + y/x ,可得x y ...
2018-08-29 15:05:19
254
原创 找规律-CodeForces 1027B-Numbers on the Chessboard
找规律-CodeForces 1027B-Numbers on the Chessboard 题目链接: B. Numbers on the Chessboard 思路: 题目大意:填数问题,坐标(1开始)x+y为偶数的填 1~n*n/2 的数,其他数填在x+y为奇数的各种,给定坐标,求数值 题解:考虑矩阵阶的奇偶n%2==0:x+...
2018-08-29 14:50:48
423
原创 最小生成树(Prim/Kruskal)POJ 2395-Out of Hay
最小生成树(Prim/Kruskal)POJ 2395-Out of Hay 题目链接: Out of Hay 题目基础:最小生成树 最小生成树-Prim(普里姆)算法最小生成树-Kruskal(克鲁斯卡尔)算法 思路: 题目大意:一个人从自己的农场出发,要访问N个农场,一共有M条路径(两个农场之间可能存在多条不等长路径),每个农场有水源,在路上需要消耗...
2018-08-29 14:31:07
302
原创 最小生成树-Prim(普里姆)算法
最小生成树-Prim(普里姆)算法 算法定义: 假设 N=( V,{E} )(V为顶点集,E为边集合)是连通网,TE是N上最小生成树中边的集合,U为N上最小生成树的顶点集算法从U={u0}(u0为选定的起点,u0∈V),TE={}(空集)开始在所有 u∈U,v∈V-U 的边(u,v)∈E中,选一条代价最小(u0,v0)(两个集合间能连通的最小距)并入TE,同时 v0加入U,...
2018-08-29 14:15:11
646
原创 高斯消元/异或方程组-HDU 5833-Zhu and 772002
高斯消元/异或方程组-HDU 5833-Zhu and 772002 题目链接: Zhu and 772002 题目基础: 高斯消元法(含异或方程组求解) 思路: 题目大意:给N个数,选出1~k个数相乘,问有多少种方式,使得相乘结果为完全平方数题解:完全平方数可由素数因子相乘而得,并且每种因子成对存在题目给了一个重要提示,素数因子不会大于2000...
2018-08-29 09:46:13
397
原创 高斯消元法(含异或方程组求解)
高斯消元法 梗概: 高斯消元法(英语:Gaussian Elimination),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个行梯阵式。 算法: 思想:通过逐行消去未知数将方程组化简成上三角形式(理想,有唯一解情况下),然后由后(最简的代数式,有唯一解则类型为Xi=val)往前代入方程...
2018-08-29 09:28:47
3469
原创 CodeForces 1027A-Palindromic Twist
CodeForces 1027A-Palindromic Twist 题目链接: A. Palindromic Twist 思路: 题目大意:给定一个长度为n的字符串,规定每个字符可以转变为相邻字符 ,比如 c->b,c->d,当然z只能变成y,a只能变成b,要求字符串中每个字符都必须转变一次,能否变成回文字符串(左右读都一样)题解:很高兴 a z...
2018-08-28 14:47:40
351
原创 区间/Multiset-Codeforces 1029C Maximal Intersection
区间/Multiset-Codeforces 1029C Maximal Intersection 题目链接: C. Maximal Intersection 思路: 题目大意:给定N个区间,求去掉一个区间后的最大交集长度为?题解:首先?N个区间的交集长度怎么求?N个区间的交集长度=所有区间右端点的最小值 - 所有区间左端点的最大值如果结果为负值,N个...
2018-08-28 14:31:45
436
原创 Codeforces 1029B-Creating the Contest
Codeforces 1029B-Creating the Contest 题目链接: B. Creating the Contest 思路: 题目大意:给一个长度为n的严格递增序列,求长度p,使得满足在该范围内的子数组 S,有 2*Si >= Si+1题解:定义个计数器Cnt,如果满足条件就+1,否则置1(因为最短长度k为1),顺便记录最大的Cnt...
2018-08-27 00:58:26
480
原创 KMP-Codeforces 1029A-Many Equal Substrings
KMP-Codeforces 1029A-Many Equal Substrings 题目链接: A. Many Equal Substrings 题目基础: 串的模式匹配算法-KMP算法 思路: 题目大意:给一个长度为n的字符串t,求一个最短长度串,使得有k个位置,满足s[i…i+n−1]=ts[i…i+n−1]=t题解:其实就是求最长后缀,最长后...
2018-08-27 00:48:14
299
原创 HDU 5842-Lweb and String
HDU 5842-Lweb and String 题目链接: Lweb and String 思路: 题目大意:给一个字符串,只有小写字母,每个小写字母代表一个数值,问可能的最长上升子序列的长度题解:最长上升子序列LIS:严格递增所以其实就是求字符串出现的字符种类,因为每个字符代表不同的值,找出一个没有重复字符的子序列,将字母赋予升序就可以了 代码:...
2018-08-26 20:38:15
263
原创 简单贪心-HDU 5835-Danganronpa
简单贪心-HDU 5835-Danganronpa 题目链接: Danganronpa 思路: 题目大意:给你有n种礼物,第i种有ai个。现在要把这些礼物分给一排同学,要求每个人发普通礼物和神秘礼物各一个,要求相邻两人的普通礼物不能为同一种,神秘礼物没有限制,普通礼物和神秘礼物都从这n个礼物中选取。问最多能发给多少人。题解:为了让相邻的普通礼物不重合,除了数量...
2018-08-26 20:28:39
264
原创 大数取模-HDU 5832-A water problem
大数取模-HDU 5832-A water problem 题目链接: A water problem 思路: 题目大意:第一颗星球周期为73,第二颗星球周期为137,问N是否为两颗星期的共同周期第一天题目思路:把两个周期的最小公倍数求出,是10001,只要那个数能被10001整除就YES看看N的取值: the length of N is up to 1...
2018-08-26 19:38:55
282
原创 最小生成树(Kruskal)HDU 1863-畅通工程
最小生成树(Kruskal)HDU 1863-畅通工程 题目链接: 畅通工程 题目基础: 最小生成树-Kruskal(克鲁斯卡尔)算法 思路: 题目大意:中文题目略题解:Kruskal水题,有个概念,如果M个村庄能够连通,并且是在并查集下连通,需满足道路数Road_Num=M-1所以在题目中,如果合并的道路小于M-1,是不能将M个村庄连通的...
2018-08-26 12:00:38
453
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人