![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 54
许可可可可
道阻且长,且难且学不会。。。
展开
-
【动态规划】气球游戏
气球游戏,一道简单的线性dp问题。原创 2022-10-23 21:53:32 · 968 阅读 · 0 评论 -
【PyQt5】Qt designer+pyQt5 在VSCode中可以直接生成pythonUI的方法
之前手写过调用pyqt5的方法之后,这里记录一下使用QtDesigner直接生成一下ui文件,并且转化成python类。首先是下载安装QtDesigner,然后保存为ui文件。mac上下载安装QtDesigner可以看这篇。然后在VSCode中下载一个扩展包PYQT Integration。右键ui文件就可以选择编译成为py文件。怎么样是不是很简单!在另外一个文件里可以使用如下代码运行uiimport sysfrom PyQt5 import QtCore, QtGui, QtWidgetsf原创 2021-12-30 14:23:24 · 1680 阅读 · 0 评论 -
【PyQt5】创建主界面+打开文件+显示按钮和文字
因为考虑到后期加模块可能会比较多,所以前端可视化界面开发选择了PyQt这个工具。首先是希望能够在主界面中通过点击按钮(PushButton)完成上传文件的功能(现在还没有数据去,其实就是打开文件)。self.pushButton = QtWidgets.QPushButton(self.centralWidget)self.pushButton.setGeometry(QtCore.QRect(350, 100, 75, 25)) # 设置按钮的位置x,y 长 宽self.pushButton.se原创 2021-12-15 19:13:20 · 2620 阅读 · 0 评论 -
RMQ、树上差分和LCA问题
RMQ、树上差分和LCA问题倍增首先,回忆一下倍增的思想。倍增的意思就是成倍地增长。由于“任意一个整数可以表示为若干个2的次幂项的和”,所以可以将问题的状态空间划分为2的次幂项个,从而降低时间复杂度为O(logN)。经典的快速幂算法就是将问题的状态空间进行了划分。int qpow(int a, int b, int p){ // (a ^ b) mod p int ans = 1 % p; while(b){ if(b & 1){ a原创 2021-04-27 09:49:20 · 163 阅读 · 0 评论 -
贪心算法入门
贪心贪心策略:每次决策时采取当前最优策略。要求:问题的整体最优性可以由局部最优性导出。无后效性即,某个状态以后的过程不会影响以前的状态,只与当前状态有关。算法设计的关键是贪心策略的选择。算法思路建立数学模型来描述问题(可行性证明)把需要求解的问题划分为若干个子问题对每一个子问题,求出局部最优解将子问题的解组合,得到全局最优解例题钱币找零问题【问题】有面值1元、5元、10元、20元、50元和100元的纸币各若干张,支付固定金额k元。求最少需要多少张纸币?【.原创 2021-03-30 18:55:57 · 127 阅读 · 0 评论 -
Spark--ALS推荐算法
Spark–ALS推荐算法常用的推荐方法:基于内容的推荐将物品和用户分类。将已分类的物品推荐给对该物品感兴趣的用户。需要较多的人力成本。基于统计的推荐基于统计信息,如热门推荐。易于实现,但对用户的个性化偏好的描述能力较弱。协同过滤推荐可以达到个性化推荐,不需要内容分析,可以发现用户新的兴趣点,自动化程度高。协同过滤 (Collaborative Filtering, 简称 CF)一个简单的问题:如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?协同过滤的.原创 2021-03-30 18:54:52 · 2094 阅读 · 2 评论 -
python的文本分类
文本分类这里写目录标题文本分类分类器朴素贝叶斯分类器基于nltk的朴素贝叶斯分类器分类器分类器:特征选择 + 分类器模型分类器的实现过程:选择特征训练评估,错误分析,修改特征重新训练在新的开发集上有监督的文本分类器的举例设计一个人名-性别分类器,可以依据名字判断性别。特征选择:选择名字最后一个字母作为特征。特征集是词典{(特征名字: 特征值)}import nltkfrom nltk.corpus import names import randomnames = [(n原创 2020-12-24 04:49:19 · 449 阅读 · 0 评论 -
python的词性标注
词性标注这里写目录标题词性标注词性标注的特殊问题词性标注的方法设计简单标注器常用标注器介绍词性标注器的应用词性分布基于词性标注 研究词的组合词性标注:在给定的句子中判定每个词的语法范畴,确定词性并加以标注的过程。难点:兼类词的消歧,未登录词标注在某具体的语言环境中,一个词只能属于某一类词性。词性标注的特殊问题形态标准:不符合汉语划分;意义标准:参考作用;分布标准(功能标准);词性标注的方法基于规则的词性标注基于机器学习的词性标注无监督学习——聚类方法半监督学习——自训练原创 2020-12-24 01:56:36 · 4545 阅读 · 0 评论 -
python的中文分词
中文分词这里写目录标题中文分词基于词典的分词方法最大匹配算法:(正向/逆向)预处理优化基于统计的分词方法基于语义、理解的分词方法分词工具jieba算法:thula分词工具包练习基于词典的分词方法机械分词方法、字符串匹配的分词方法。按照一定的策略将待分词的汉字串与一个充分大的机器词典中的词条进行匹配。三个要素:1.分词词典 2.文本扫描顺序 3.匹配原则按照扫描句子的顺序,可以分为正向扫描、逆向扫描和双向扫描。匹配的原则主要有最大匹配、最小匹配、逐词匹配和最佳匹配。最大匹配算法:(正向/逆向)原创 2020-12-23 20:39:40 · 2930 阅读 · 2 评论 -
python的基本文本处理操作
基本文本的处理语料库nltk的基本语料库函数nltk语料库的导入from nltk.book import *from nltk.corpus import gutenberg文本的词汇多样性在计算文本长度时,按照词次数(token_number)计数。即,len(text)。定义函数lexcical_diversity(),计算文本的词汇多样性。即词次数(token_number)/词数(type_number)。def lexcical_diversity(text): r原创 2020-12-16 10:28:16 · 731 阅读 · 0 评论 -
【操作系统实验】 c++实现银行家算法
#pragma warning (disable:4996)#include <iostream>#include <algorithm>#include <iomanip>#include <cstring>#include <string>#include <cstdio>#include <cmath>#include <fstream>#include <vector>/原创 2020-12-02 16:53:10 · 413 阅读 · 0 评论 -
【操作系统实验】 c++11并发库实现[生产者消费者问题]和[读者写者问题]
应用Windows信号量机制实现进程(线程)的同步与互斥掌握利用信号量机制实现进程同步互斥的工作原理;学习Windows环境中的多线程并发执行机制。第一部分:Windows提供的有关线程和信号量机制的函数和API本篇主要用到了C++11的并发库std::thread、std::mutex、std::future、std::condition_variable、std::atomic。std::thread构造函数:(1)default:默认构造函数,创建一个空的thread执行对象。原创 2020-11-18 12:32:50 · 800 阅读 · 0 评论 -
【模板】快速幂函数
ll qpow(ll a, ll b){ int res = 1; for (; b; b >>= 1) { if (b & 1) res = (ll)res * a % mod; a = (ll)a * a % mod; } return res;}原创 2020-08-04 16:25:52 · 734 阅读 · 0 评论 -
【模板】两个求逆元的函数
线性,空间换时间。ll n;ll inv(ll t, ll p){ return t == 1 ? 1 : (p - p / t) * inv(p % t, p) % p;}ans = inv(n - 1, mod);原创 2020-08-04 12:38:52 · 166 阅读 · 0 评论 -
【动态规划】线性dp -笔记
线性dp的经典问题:LIS、LCS、数字三角形。最长上升子序列(LIS)**问题描述:**给定一个长度为N的数列A,求数值单调递增的子序列的长度最长是多少。A的任意子序列可表示为B={Ak1, Ak2, …, Akp},其中k1<k2<…<kp。状态表示:阶段划分:转移方程:编解最长公共子序列(LCS)数字三角形...原创 2020-08-02 11:28:23 · 115 阅读 · 0 评论 -
【模板】高精度 使用STL:vector实现乘除法
const int M = 1e9;vector<int> multiply(vector<int> x, int y){ ////九位压位高精度乘法 vector<int> res; ll tmp = 0; for (int i = 0; i < x.size(); i++) { tmp += (ll)x[i] * y; res.push_back(tmp % M); t原创 2020-08-02 10:34:28 · 738 阅读 · 0 评论 -
【模板】字符串快速读入的函数
inline string read(){ char ch = getchar(); string st1 = ""; while (!((ch >= 'a') && (ch <= 'z'))) ch = getchar(); while ((ch >= 'a') && (ch <= 'z')) st1 += ch, ch = getchar(); return st1;}原创 2020-08-02 10:25:04 · 2182 阅读 · 0 评论 -
【数据结构】树状数组 -笔记
树状数组树状数组的基本用途是:维护序列的前缀和。基本思想是:对于给定的序列a,建立一个数组c,其中c[x]保存序列a在区间[x-lowbit(x)+1, x]中所有数的和。int lowbit(int x)//返回lowbit的位数{ return x & (-x);}可以想象一个树形结构(如果N不是2的整数次幂,则为森林结构)。每个内部节点c[x]保存以它为根节点的子树中所有叶子节点的和。每个内部节点c[x]的子节点的个数等于lowbit(x)的位数。除了根节点外,每个内部节原创 2020-12-09 09:07:08 · 158 阅读 · 0 评论 -
【数据结构】并查集 -笔记
并查集为了能够动态维护若干个不重叠的集合,并支持合并于查询,我们使用一个树形结构存储每个集合,树上的每个节点都是一个元素,根节点是集合的代表元素。并查集的操作包括两个:get:查询元素属于哪一个集合(返回根节点)。merge:将两个元素(或集合)合并。路径压缩 按秩合并**路径压缩:**可以在每次get操作时,将访问过的每个节点全部指向根节点。**按秩合并:**在合并时将“秩”较小的根节点作为“秩”较大的根节点的子节点(秩可以定义为集合大小或树的深度)。int fa[SIZE];//定义原创 2020-07-18 10:07:59 · 133 阅读 · 1 评论 -
Linux之自学shell编程 -学习笔记
Linux知识体系:("[]"表示不需要的先修知识)Linux基础知识、Linux的用户管理和账户管理、Linux文件管理、Linux的文件系统;字符处理:文本搜索(grep)、排序(sort)、删除重复内容(uniq)、截取文本(cut)、文本转换(tr)、文本合并(paste)、分割大文件(split);[网络管理];[进程管理];[软件安装:rpm/yum];[编辑器];正则表达式:通配符、[文本处理工具sed、awk];目标是写出用shell编程实现ftp自动登录备份的程序(当然也包括对f原创 2020-07-13 06:51:08 · 301 阅读 · 0 评论