- 博客(52)
- 收藏
- 关注
原创 总结:在工作场景中的应用。(Excel)
比如有 "姓名" 列(格式为 "张 三"),想拆成 "姓" 和 "名";或者有 "日期" 列(格式为 "2023-10-01"),想拆成 "年"" 月 ""日"。:比如有 "1 班成绩.xlsx" 和 "2 班成绩.xlsx",结构完全相同(列名一样),想合并成 "全年级成绩.xlsx"。:有一个 "全年级成绩.xlsx",想按 "班级" 列拆分成 "1 班.xlsx""2 班.xlsx" 等多个文件。:有两个表,想根据一个共同的 "关键词"(比如 "学号"),把第二个表的信息匹配到第一个表中。
2025-08-28 21:11:35
547
原创 雪花算法--获取唯一标识
其核心是将 64 位 ID 按固定规则拆分,通过 "时间 + 机器标识 + 序列号" 确保唯一性。选择一个固定的起始时间(如项目上线时间),而非 Unix 纪元(1970-01-01),减少时间戳位数占用。雪花算法是 Twitter 设计的分布式唯一 ID 生成算法,生成 64 位整数 ID,具有。若系统时间回退(如 NTP 同步),可能生成重复 ID,需抛出异常或等待时间追上。需手动配置或通过系统信息(如 IP 哈希)生成,确保同一分布式集群内不重复。多线程环境下需加锁,避免序列号竞争导致重复。
2025-08-14 16:05:54
526
原创 Python——markdown格式的使用
首先需要从文件或字符串中获取 Markdown 内容。使用库将 Markdown 转换为 HTML 格式。可以结合 Web 框架或 GUI 库展示结果。如代码高亮、表格支持、数学公式等。
2025-08-12 15:58:00
575
原创 Python ---指数退避
在网络请求、分布式系统或重试机制中,(例如 1s → 2s → 4s → 8s...)。这种策略被广泛用于爬虫、API 调用、分布式服务等场景,背后有明确的设计目的和优势。
2025-08-08 09:48:55
1053
原创 Python-深度学习--2信息熵,条件熵(ID3决策树),KL散度
对于离散概率分布 P,信息熵公式为:(通常以 2 为底单位是比特,以 e 为底单位是纳特,实际使用中可统一底数)from scipy.stats import entropy # scipy内置熵计算函数"""手动计算信息熵(确保p是归一化的概率分布)"""# 过滤0概率(避免log(0)无意义)return -np.sum(p * np.log(p)) # 以e为底,若需以2为底可改用np.log2# 示例1:均匀分布(不确定性最高)
2025-08-05 16:21:45
1158
原创 Python-深度学习--1交叉熵损失函数
对于二分类问题(如 “垃圾邮件识别”“疾病诊断”),模型通常通过sigmoid函数输出单个概率值(属于类别 1 的概率),交叉熵损失公式为:y 是真实标签(0 或 1);y^ 是模型预测的概率(0~1 之间);log 是自然对数。示例若真实标签 y=1,模型预测 y^=0.9,则损失 L=−1⋅log(0.9)−0⋅log(0.1)≈0.105(损失小,预测准确);若模型预测 y^=0.1,则损失 L=−1⋅log(0.1)≈2.303(损失大,预测错误)。
2025-08-05 14:38:26
1043
原创 Python--OCR(1)
OCR 是“图像到文本的转化技术”,通过计算机视觉(CV)和自然语言处理(NLP)技术,将印刷体、手写体文字的图像(如照片、扫描件、截图)转换为可编辑的文本字符串。其核心价值是打破 “图像文字不可编辑” 的壁垒,实现文字信息的数字化、可检索和自动化处理。
2025-08-05 10:48:50
1030
原创 Python --文档自动清理
自动清理旧文档的核心需求是,同时避免误删重要文件。以下是经过多重安全验证的解决方案,包含日志记录、预览确认、排除保护等机制,确保 “宇宙级别正确”(即严谨、安全、可追溯)。
2025-08-05 10:05:40
206
原创 Python --functools
用于导入 Python 标准库中的functools模块,该模块提供了一系列用于的工具,主要用于简化函数定义和处理,增强函数的功能和灵活性。
2025-08-05 09:44:22
220
原创 Python--JSON格式
JSON 默认不支持 Python 的datetimeset自定义类等类型,直接序列化会报错。自定义编码器 / 解码器。# 实例化# 方法2:继承JSONEncoder实现自定义编码器(适合复杂场景)# 转为字典(包含类标识,便于反序列化)return super().default(obj) # 其他类型用默认处理# 序列化print("User序列化:", json_str) # {"__class__": "User", "name": "Charlie", "age": 28}
2025-08-05 09:08:27
1217
原创 数据处理--生成Excel文档
假设我们有一组处理后的结构化数据(例如:学生成绩、销售数据等),可以是列表、字典或 pandas 的 DataFrame(推荐,最便捷)。如果需要美化 Excel(如标题样式、单元格颜色、列宽调整等),可结合。
2025-08-01 11:31:42
749
原创 数据清洗核心流程,以及具体细节补充
数据清洗是处理非结构化数据(如 PDF、HTML、文本文件)的关键步骤,目的是得到干净、规整的文本内容,为后续的信息提取或模型训练奠定基础。数据清洗通常遵循以下步骤,可根据数据来源(如 PDF、网页、本地文本)灵活调整:数据收集与格式识别→→→修复乱码→→验证与保存。:将 PDF、HTML 等格式的文件转为可编辑的纯文本,消除格式干扰(如 PDF 的排版标记、HTML 的标签)。pdfplumber(比 PyPDF2 更精准,能保留文本结构)(解析 HTML,提取核心内容)
2025-08-01 11:00:08
1252
原创 日志记录核心
一:日志记录核心办法根据系统规模和需求,日志记录方法可分为基础级、进阶级和分布式级,逐步满足不同场景的需求。1.基础级:适用于小型应用或开发阶段,直接将日志输出到本地控制台、文件或简单存储。(1)控制台输出是最基础的日志方式,主要用于开发阶段实时查看程序运行状态。
2025-08-01 08:39:10
936
原创 Faker中的相关内置扩展类
1.数据类型专用provider2.动态实现相关的数据生成器。3.的工具方法(内置辅助功能)本身提供了多个实用工具方法,可在自定义类中直接调用(1).numerify() 生成含固定格式的数字字符串。(2)bothify():混合生成字母和数字。?(3)lexify():生成纯字母字符串?
2025-07-31 15:45:08
268
原创 Python测试环境
注意fake = Faker(“”zh_CN“”),这代表生成的是中文版,而不是随机语言,否则可能会形成乱码。下创建,也就是你的 Python 项目代码所在的文件夹(通常包含。第一步:创建虚拟环境下:需要先判断版本是否为3,以上的版本。第二步:找到激活脚本。可以调用 Faker 内置的其他生成方法,如。与生产环境配置分离,如数据库地址、API 密钥。已成功创建(若未创建,重新执行步骤 1)。文件、配置文件等核心内容的目录)。),因此必须按照上述方式实现。(1)手动生成的测试用例。(3)自动生成工具(如。
2025-07-31 15:01:46
417
原创 (狙击赛第一,二场记录)
有一个有向边集E,每个边有一个花费p,一开始有一个空图G,Alice有c元钱,现在她需要从边集E中选出来一些边添加到G中,且这些边的总花费不能超过c。所以Alice只需要尽可能凑出一个环来就行,因此只需要找到图中的最小环,设该最小环的总权值为w,如果c<w,就1,否则就是2。给你n种不同的食物,每种食物有a i多个,食物个数不超过1e5,现在一共有m个人,1≤k≤m ,每种食物最多拿一个,每个人可以拿多种食物,输出食物分配方案。把图中所有的边(u→v)分为2类,一类是u>v的边,一类是u<v的边。
2023-08-11 09:17:44
247
原创 快速幂--1
给你三个整数 a,b,pa,b,p,求 a^b \bmod pabmodp。,其中 a,b,pa,b,p 分别为题目给定的值, ss 为运算结果。输入只有一行三个整数,分别代表 a,b,pa,b,p。
2023-03-10 15:35:16
282
原创 [Aya Round 1 A] 幻想乡扑克游戏
tt 3<4<5<6<7<8<9<10<J<Q<K<A<2<\stackrel{\mathclap{\color{white}\textbf{\textit{wxy}}}}{\text{小王}} < \text{大王}3<4<5<6<7<8<9<10<J<Q<K<A<2<小王wxy<大王。你认为,如果自己的手牌中存在王炸(即大小王各一张)或者至少一个炸弹(即四张数码相同的牌),则你会选择叫地主。游戏开始时,将会给 33 名玩家各自发放 1717 张牌作为手牌,余下三张作为底牌。且牌的大小关系和花色无关。
2023-03-10 15:17:44
307
原创 NOIP1998 提高组] 拼数
设有 n个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。第二行有 n 个整数,表示给出的 n 个整数 ai。第一行有一个整数,表示数字个数 n。一个正整数,表示最大的整数。
2023-03-10 13:47:27
285
原创 BFS + 三维
来源:牛客网Nancy喜欢吃果冻!Nancy钻进了一个n×n×nn \times n \times nn×n×n的果冻里,她想从(1,1,1)一路上、下、左、右、前、后六个方向吃到(n,n,n)。但果冻毕竟是有许多口味的,标记为*的口味是Nancy不愿意吃的,其余的果冻均标记为.。Nancy不想吃坏肚子,于是她想尽可能少的吃果冻。下面给出果冻的情况,请你帮忙计算一下她能吃多少块果冻叭!输入描述:第一行:一个整数n。接下来n层,每组n行,每行n列,表示果冻(i,j,k)的情况(.
2022-04-26 21:56:19
148
原创 Dijkstra + 堆优化
L2-001 紧急救援 (25 分)作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出44个正整数NN、MM、SS、DD,其中N(2≤N≤500)N(2≤N≤500)是城市的个数,顺便假设城市的编号为0∼(N−1)0∼(N...
2022-04-20 22:50:12
1419
原创 算法进阶21-23
21搜索:数和图的遍历:数和图最常见储存方式:使用一个邻接表保存边集。无向图中边可以看做是双向边,树可以看作具有N-1条边的无向图。边都存储在一个邻接表中,以head数组为表头,使用ver和edge数组分别存储边的终点和权值,使用next数组模拟链表指针。wolf:树和图的深度优先遍历,树的DFS序,深度和重心: 深度优先遍历,首先对于点x的多条分支,任意选一条边走下去,执行递归,直至回溯到点x后,再考虑其他的边。代码:void dfs(int x){ v[x] = 1;//记...
2022-04-16 22:57:21
445
原创 算法进阶-1-4
4二分法:整数集合上的二分:【l,r】区间内,mid为最后查找值,每次二分,归属左或右区间内部;(1).单调增序列里面查找>=x最小值;while(l < r){ int mid = (l + r) >> 1; if(a[mid] >= x) r = mid; else l = mid + 1;} return a[l];(2).单调增序列里面查找<=x最大值; while(...
2022-04-16 22:52:11
445
原创 堆的手写要点
插入一个数:heap[++size]=x; up(size)求集合中最小值heap[1]删除最小值heap[1]=heap[size];size--;down(1);删除任意一个元素heap[k]=heap[size];size--;down(k);up(k);修改任意元素heap[k]=x;down(k);up(k);向下调整操作void down(int u){ int t=u; if(2*u<=v&&h[t]
2022-03-25 15:28:40
326
原创 模拟堆-wolf
思路三个函数一个是数和节点的对应,交换节点,那么对应的数据结构所存储的数就要改变并且涉及到交换了的节点其指针指向也要改变 一个是上移节点对应的函数 还有一个下移节点对应的函数#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int N = 1e5 + 10;int hp[N], ph[N];int h[N];int..
2022-03-25 15:25:40
1660
原创 训练赛小题
AquaMoon hadnnstrings of lengthmmeach.nnis anoddnumber.When AquaMoon was gone, Cirno tried to pair thesennstrings together. After making\frac{n-1}{2}2n−1pairs, she found out that there was exactly one string without the pair!In her rage, s...
2022-03-12 10:47:23
159
原创 Weird Sum
标准输出埃戈尔有一张大小的桌子n×mn×m,行号从11到nn以及编号为11到mm。每个单元格都有一个颜色,该颜色可以表示为11到105105.让我们表示位于rr-第四行和cc-第四栏(r,c)(r,c)。我们定义曼哈顿距离两个细胞之间(r1,c1)(r1,c1)和(r2,c2)(r2,c2)作为它们之间最短路径的长度,路径中的每个连续单元必须有一个共同的边。路径可以通过任何颜色的单元格。例如,在表中3×43×4曼哈顿之间的距离(1,2)(1,2)和(3,3)(3,3)是33,最短的路径之一是:(..
2022-03-08 01:15:00
642
原创 一 字符串处理
1 .1字典树优点:利用字符串公共前缀来减少查询时间,最大限度减少无谓字符串的比较算法思路(1)字典树creat ;将所有的字符串插入字典树中(可以采用数组和链表储存)算法代码void insert(string s){//将字符串s擦汗如字典树中//int len = s.length(),p =1; for(int i= 0;i<len ;i++) { int ch = s[i]-'a';//转换为数字 i
2022-02-23 17:03:26
177
原创 二分搜索法
算法设计思路(1)初始化。令 low = 0;指向有序S【】第一个元素;high = n - 1,指向有序数组S【】的最后一个元素。(2) low<=high是否成立(3)middle = (low+high)/2;(4)x与S[middle]的关系若x>S[midldle],则low = middle +1;否则令 high = middle - 1;转向2算法实现(1)非递归算法int BinarySearch(int s【】,int n,in
2022-02-21 22:22:22
142
原创 图论1.2
1.2边集数组存储每条边的起点和终点;若是网,增加一个权域值;网的边集数组数据结构struct Edge{int u;int v;int w;}e[N*N];求解最小生成树 kruskal算法按权值进行排序,使用边集数组更方便图的算法时间复杂度树与图的遍历时间复杂度 O(n+m)O(n+m), nn 表示点数,mm 表示边数(1) 深度优先遍历 int dfs(int u){ st[u] = true; // st[u] 表示点u已经.
2022-02-21 21:43:35
165
原创 图论基础1.1
基础二元数组 G = <v,e>v 表示 节点数 , e 表示 边数有向图和无向图结点的度:与该节点有关的边数 TD( v)握手定理有向图中的度 包括 入度和出度;入度:以v为终点的有向边1图的储存邻接矩阵的算法分析 ;(1)输入节点和边数;(2)依次输入节点信息,存储到Vex【】中;(3)初始化邻接矩阵;(4)依次输入每条边附着的两个节点;如果是网,还需要输入该边的权值;算法代码viod CreatAAMGraph(A..
2022-02-20 22:34:42
213
原创 数论-筛素数
普通筛法int get_primes(int n ){ for(int i = 2; i <= n ; i ++ ) { if(!st[i]) //如果是质数 { primes[cnt ++] = i; } for(int j = i * 2 ; j <= n ; j += i) st[j] = true; //不管当前i是合数还是质数,都用来筛掉后面它的倍数 }}埃式
2022-02-14 09:42:36
514
原创 背包 问题DP
#include <iostream>#include <stdio.h>#include <string.h>#include <math.h>#include <algorithm>using namespace std;int main(){ int s[1010],dp[1010],h[1010]; int n,v,a,b; while(scanf("%d %d",&n,&...
2022-02-11 12:58:18
476
转载 高精度算法
A加法高精度减法 —— 模板题 AcWing 792. 高精度减法// C = A - B, 满足A >= B, A >= 0, B >= 0vector<int> sub(vector<int> &A, vector<int> &B){ vector<int> C; for (int i = 0, t = 0; i < A.size(); i ++ ) { t =
2022-02-01 16:13:09
69
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅