自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 Qt实现哈夫曼编码解压缩软件详解
原力计划

诸位既然点开了本帖,相信对此问题已有初步了解,哈夫曼树的原理不再赘述,我们开门见山,直入主题。一、概要设计问题拆解:设计一个基于哈夫曼编码的解压缩软件,这个问题我认为可以分解为以下几个子问题:读取传入文件,进行字符权重统计将出现的字符放入哈夫曼树结点,构建哈夫曼树,获取哈夫曼编码将编码相关信息写入压缩后的文件,再将传入文件的每个字符按照哈夫曼编码转换,每8个二进制位作为一个字节传入压缩后的文件解压部分:将传入的已压缩文件进行文件流读取,获取编码信息进行还原根据这几个子问题的思路顺序,我们逐

2020-06-02 22:52:37 3653 18

原创 Kimia Path 24数据集论文Classification and Retrieval of Digital Pathology Scans A New Dataset笔记

Kimia Path 24①数据生成方式基于非临床专家的视觉区分从350个来自不同身体不为的WSI中有意识地手动选择了24个WSI,它们代表着不同的纹理模式②数据设计及意图提供一个固定测试数据集以促进基准测试,尊重算法设计者生成自己的训练数据集的设计自由手工选择ROI作为测试patch,其固定大小1000*1000像素,对应0.5mm×0.5mm,共1325个。剩余部分被用于构建训练集,用户灵活创建,可构建从大约27000到超过50000个ptach使用阈值来排除背景,背景被

2021-08-23 12:17:23 27

原创 【有效】vscode中markdown导出pdf报错解决: ERROR: Navigation Timeout Exceeded: 30000 ms exceeded

在vscode对markdown文档进行导出pdf时(使用的Markdown PDF1.4.4版本插件),vscode界面弹出报错:ERROR: Navigation Timeout Exceeded: 30000 ms exceededexportPdf():ERROR在经过仔细思考案发现场和阅读插件源码后得出一个极其可能性的原因,同时这也是我发现的Markdown PDF1.4.4插件的一个bug。在这里给出原因如下:在md文档中或插件的template.html添加过类似的js脚本&l

2021-08-23 10:07:18 38

原创 [Verilog学习笔记]③数字逻辑电路设计方法

一、组合逻辑电路1.结构描述对电路的直接表示2.逻辑代数写出所有极小项,使用卡诺图化简,得到最终表达式,进行语句编写3.真值表用case语句进行穷举4.抽象描述从功能出发二、时序逻辑电路时序逻辑电路包括组合逻辑电路和存储电路两部分,存储电路具有记忆功能,通常由触发器组成。存储电路的状态反馈到组合逻辑电路输入端,与外部输入信号共同决定组合逻辑电路的输出...

2021-05-28 16:46:55 79 1

原创 [Verilog学习笔记]②程序设计语句和描述方式

一、数据流建模1.连续赋值语句目标类型是线型连续赋值中,只要赋值语句右边表达式任何一个变量有变化,表达式被立即计算连续赋值语句不能出现在过程块中多个连续赋值语句之间是并行语句assign y=m|n二、行为级建模1.过程语句1.1 initial过程语句一般用于初始化1.2always语句块always语句块的出发状态是一直存在的,只要满足always后面的敏感事件列表,就执行过程块。1.3过程语句使用中需要注意的问题无论是时序还是组合逻辑描述,在过程语句中,被

2021-05-28 16:28:20 1041 2

原创 [Verilog学习笔记]①基础知识

目录一、Verilog HDL语言要素1.空白符:2.注释符3.标识符4.转义标识符5.关键字5.数值二、数据类型1.物理数据类型1.1连线型2.1寄存器型2.连线型和reg型数据类型的声明3.抽象数据类型三、运算符和表达式四、模块的基本概念1.模块的基本概念2.端口一、Verilog HDL语言要素1.空白符:空白符包括空格符(\b)、制表符(\t)、换行符和换页符。在编译和综合时,空白符被忽略。2.注释符单行注释: //多行注释: /*开始 */结束 (Verilog HDL由C语

2021-05-27 20:51:19 63 1

原创 csp201809-03元素选择器

#include<iostream>#include<vector>#include<string>#include<sstream>#include<cctype>#include<deque>using namespace std;int point(string s) { int ans = 0; for (auto&ch : s) { if (ch == '.') ++ans; else br

2021-03-19 13:17:06 29

原创 博弈论之对抗搜索模板

两个基本点:零和博弈(a的目标是a的分数最大b的分数最小,b的目标是b的分数最大a的分数最小)核心算法:dfs+极大极小过程优化策略:记忆化,α-β剪枝int dfs(Status status,int role) { //返回a的最大分数,a的role为0,b的role为1 if (平局) return 0; int Max = -Inf, Min = Inf; for (auto& s : status) { if (s空间状态下可操作) { if (role == 0)

2021-03-18 22:03:34 56 1

原创 【深度学习笔记】Hopfield神经网络

Hopfield神经网络是一种循环神经网络模型,由一组互相连接的神经元组成。其具有如下特征:所有神经元互相连接且不分层。每个神经元既是输入单元又是输出单元。具有反馈连接特性,不同神经元之间连接权重对称,神经元和自身没有反馈相连,即神经元集合具有对称性和反自反性。Hopfield神经网络分为离散型(DHNN)和连续型(CHNN)Hopfield神经网络提出的时间要比BP神经网络要早,其利用动力学演变对输入进行迭代,最终得到一个稳态值。稳定状态称为吸引点或吸引子。Hopfield网络定义了能量

2021-02-19 11:49:29 459

原创 Deep Learning of Binary Hash Codes for Fast Image Retrieval阅读总结

《Deep Learning of Binary Hash Codes for Fast Image Retrieval》摘要提出了一个有效的架构产生快速图像检索的二进制哈希索引码在有标签情况下,在CNN基础上使用隐藏层表示主导标签的潜在概念来学习二进制哈希码相比于其他监督方法使用pair-wised的输入,我们的技术基于point-wised我们的方案相比于state-of-art表现出色1.引言灵感1——CNN:Krizhevsky等人使用CNN第7层的输出作为特征向量进行图像检索

2021-02-18 19:13:15 68 2

原创 机器学习之排序学习笔记总结

1.简介排序学习Learning to rank(LTR)或者机器学习排序machine-learned ranking(MLR)是应用机器学习技术,来构造信息检索系统的排序模型训练数据包含每个列表中的项目的某种偏序关系的项目列表。这种偏序可以按照数值或者序数分值或者二元判断来确定。排序模型的目标:学习训练集中的排序方式对未来的数据进行排序排序学习实际上是一类监督学习问题,训练数据 包含查询和文档相关性的分数:查询集合:Q={q1,⋯ ,qm}Q=\{q_1,\cdots,q_m\}Q={q1​

2021-02-17 09:04:58 76

原创 【数学笔记】信息论基础

信息消除不确定性,不确定性由熵描述随机变量的熵:设XXX为随机变量,其分布为P(X)P(X)P(X)则XXX的熵为:H(X)=−∑x∈XP(x)log⁡2xH(X)=-\sum_{x\in X}P(x)\log_{2}{x}H(X)=−x∈X∑​P(x)log2​x随机变量的条件熵:已知随机变量X,YX,YX,Y,联合分布P(X,Y)P(X,Y)P(X,Y),条件分布P(X∣Y)P(X|Y)P(X∣Y)则在YYY的条件下XXX的条件熵为:H(X∣Y)=−∑x∈X,y∈YP(x,y)log⁡2

2021-02-14 09:03:25 2001

原创 【数学笔记】描述样本相似度的几种指标

1.闵可夫斯基距离给定样本集合XXX,XXX是mmm维实数向量空间RmR^mRm中点的集合,其中xi,xj∈Xx_i,x_j \in Xxi​,xj​∈X,xi=(x1i,x2i,⋯ ,xmi)Tx_i=(x_{1i},x_{2i},\cdots,x_{mi})^Txi​=(x1i​,x2i​,⋯,xmi​)T,xi=(x1j,x2j,⋯ ,xmj)Tx_i=(x_{1j},x_{2j},\cdots,x_{mj})^Txi​=(x1j​,x2j​,⋯,xmj​)T,样本xix_ixi​与样本xjx_jx

2021-02-10 21:47:46 123 1

原创 SIPAKMED数据集论文翻译

SIPAKMED:基于特征和图像的子宫颈抹片正常和病理宫颈细胞分类的新数据集摘要

2021-02-02 08:43:21 165

翻译 《Deep Residual Learning for Image Recognition》ResNet论文翻译

《Deep Residual Learning for Image Recognition》作者:Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun摘要神经网络越深,训练越困难。我们提出了一种减轻网络训练负担的残差学习框架,这种网络比以前使用过的网络层次更深。我们把层重定义为以本层输入为参考进行学习的残差函数,而不是不以本层输入为参考进行学习的函数。我们提供了全面的经验数据表明这些残差网络更容易优化并且可以通过增加深度来提升精度。我们在ImageNet数据集上

2021-01-27 11:28:32 135

原创 简单理解迁移学习

在实际场景中,经常碰到的问题是标注数据的成本十分高,无法为一个目标任务准备足够多相同分布的训练数据。如果有一个相关任务已经有了大量的训练数据,虽然这些训练数据的分布和目标任务不同,但是由于训练数据的规模比较大,我们假设可以从中学习某些可以泛化的知识,那么这些知识对目标任务会有一定的帮助。入如何将相关任务的训练数据中的可泛化知识迁移到目标任务上,就是迁移学习(Transfer Learning)需要解决的问题。迁移学习指两个不同的领域的知识迁移过程,利用源领域(Source Domain)中学到的

2021-01-24 19:18:24 257 3

翻译 Fully Convolutional Networks for Semantic Segmentation(FCN)论文翻译

《Fully Convolutional Networks for Semantic Segmentation》作者:Jonathan Long,Evan Shelhamer,Trevor Darrell摘要卷积网络是在产生特征分层结构方面强有力的视觉模型。我们的实验证明卷积网络本身经过端到端、像素到像素地训练,在语义分割方面超过了最新技术。我们的核心观点是建立“完全卷积”的网络,该网络可以接受任意大小的输入,并通过有效的推理和学习产生相应大小的输出。我们定义并详细说明了全积网络的空间,解释了它们在空

2021-01-24 14:09:55 50

转载 密集预测/Dense Prediction

Pixelwise dense prediction is the task of predicting a label for eachpixel in the image来自于卷积神经网络在图像语义分割(semantic image segmentation)的应用。图像分割需要判定一张图片中特定区域的所属类别。这个图像里有什么?它在图像中哪个位置?更具体地说,图像语义分割的目标是将图像的每个像素所属类别进行标注。因为是预测图像中的每个像素,这个任务通常被称为密集预测(dense pre.

2021-01-23 19:25:56 511

原创 AlexNet论文思维导图与代码实现

本博客资源已上传至github:https://github.com/realSherlockNovitch/AlexNet-paper_mindmapping_and_Coding论文全名:ImageNet Classification with Deep ConvolutionalNeural Networks思维导图(github上可下载):代码与训练参数亦在前述github上...

2021-01-22 23:41:08 68

原创 Latex期末报告——朴素贝叶斯法

\documentclass[11pt,a4paper]{article}\usepackage{CJK,CJKnumb}\usepackage{color} % 支持彩色\usepackage{indentfirst} %首行缩进宏包\usepackage{latexsym,bm} % 处理数学公式中和黑斜体的宏包\usepackage{amsmath,amssymb} % AMSLaTeX宏包 用来排出更加漂亮的公式\usepackage{gra.

2021-01-11 23:34:20 99

原创 2020全国高校计算机能力挑战赛C++决赛代码分享

样例均过1.模拟#include<iostream>#include<string>#include<vector>#include<map>#include<set>#include<stack>#include<unordered_map>#include<unordered_set>#include<algorithm>#include<iomanip>usi

2020-12-20 11:45:54 194 3

原创 leetcode640求解方程C++代码

class Solution {public: string solveEquation(string equation) { int x=0,num=0,t=1; int i=-1,j=0; equation.push_back('+'); while(j<equation.size()){ // cout<<"j"<<j<<endl; if(e

2020-12-04 11:46:25 49

原创 C++分数表达式加减运算实现

C++11虽然有radio库,但用起来也没那么方便 string fractionAddition(string expression) { expression.push_back('+'); vector<int> fenzi; vector<int> fenmu; int i=expression[0]=='-'?0:-1,j=0; while(j<expression.size()){

2020-12-04 11:11:15 198

原创 【精选】一篇文章带你搞懂排列算法题【面向面试】

一说起排列与组合,很多人会想到回溯法,但回溯法的适用状态空间大小很小,即使是剪枝高手在面对n>20时的题目也会望洋兴叹,另觅它径。不过这篇文章还是先从回溯讲起,再慢慢转入数学的天堂。排列型题目的回溯法都有一个板子:void backtrace(int n) { 递归出口或中间处理部分 for (int i = 0; i < n; ++i) { if (未选) { 标记选中 backtrace(n); 取消标记选中; } }}借着这个板子可以轻松搞定本文

2020-11-12 12:18:59 43

原创 Java——基于GUI的网络通信程序设计【强迫症版本】

一、实验目的1.掌握Java中GUI程序的编写,包括事件监听机制。2.掌握Java的网络通信编程,ServerSocket,Socket类的使用。3.掌握Java中多线程的编程,Thread类,Runnable接口的使用。4.掌握用面向对象的方法分析和解决复杂问题。二、实验原理1.使用面向对象的设计方法设计程序2.通过继承JFrame类实现图形化界面3.通过事件监听器实现按钮点击监听与触发事件4.利用ServerSocket和Socket类实现网络通信5.利用多线程技术实现同时读入数据与

2020-10-21 19:19:14 365 4

原创 【leetcode451】根据字符出现频率排序,哈希表加优先队列解法

题文给定一个字符串,请将字符串里的字符按照出现的频率降序排列。样例样例1输入: “tree”输出: “eert”解释: 'e’出现两次,'r’和’t’都只出现一次。 因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。样例2输入: “cccaaa”输出: “cccaaa”解释: 'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。 注意"cacaca"是不正确的,因为相同的字母必须放在一起。样例3输入: “Aabb”输出: “bb

2020-10-14 15:18:38 213 3

原创 【Java学习笔记】 String类的内存模型与方法调用

String类在系统中被final关键字修饰,无法创建子类一、内存模型常量:常量即"“括起的字符序列,例如"csdn”,“java”,在Java的内存模型中,String常量作为一个类被储存在常量池中。常量池中储存该对象的实体与引用。需要注意的是,只要程序中运行到的部分存在String常量,在常量池中便会生成该对象的实体与引用并返回引用(若该String常量在之前的运行过程中已出现,则直接返回引用)String s1,s2,s3;s1="你好”; //常量池中生成"你好"类的实体与引用(假

2020-10-07 20:20:17 61

原创 【Java学习笔记】final关键字简单总结

final类:final类无法被继承,即无子类,主要出于安全性考虑。语法:final class classname{};final方法: 如果用final修饰父类中的一个方法,则该方法无法被子类重写,即子遵祖制final常量:被final修饰的变量是常量,final常量在声明时必须赋值。相当于C++中的const关键字...

2020-10-06 21:24:10 36

原创 【Java学习笔记】assert断言

断言语句主要用于调试代码,用于程序不准备通过捕获异常来处理的错误有两种语法格式1°assert booleanExpression;若booleanExpression的值为true,则程序继续执行若为false,则抛出java.lang.AssertionError,程序终止2°assert booleanExpression:messageException;若booleanExpression的值为true,则程序继续执行若为false,则抛出java.lang.AssertionEr

2020-10-06 21:14:45 110 2

原创 Morris遍历【时间O(n),空间O(1)的二叉树遍历】

一般来说,二叉树有两种遍历方式,一种方式是递归遍历,一种是基于栈的非递归方式。1°递归遍历,有时间复杂度O(n)O(n)O(n),空间复杂度平均O(logn)O(logn)O(logn),最坏情况下O(n)O(n)O(n)2°基于栈的非递归遍历,有时间复杂度O(n)O(n)O(n),空间复杂度O(h)O(h)O(h)而有一种巧妙的方法可以在时间复杂度为O(n),空间复杂度为O(1)的情况下实现二叉树遍历。这种方法由 J. H. Morris 在 1979 年的论文「Traversing Binar

2020-09-22 15:42:02 51

原创 Java大数类BigInteger的应用:计算1到100的阶乘和

package homewordk1;import java.math.*;public class _5_Factorial_sum { public static void main(String args[]){ BigInteger fact=new BigInteger("1"),sum=new BigInteger("0"); int i=1; do{ fact=fact.multiply(new BigI

2020-09-19 11:32:31 365 1

原创 简化路径【栈模拟解法】

题文:以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能以 /结尾。此外,规范路径必须是表示绝对路径的最短字符串。

2020-09-15 19:57:52 63

原创 翻转字符串里的单词【stringstream解法】

题文给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。样例输入: " hello world! "输出: “world! hello”输入: “a good example”输出: “example good a”代码string reverseWords(string& s) {

2020-09-15 18:51:51 81

原创 无重复字符的最长子串【动态规划解法】

目录题目描述样例思路初步代码分析与优化题目描述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。样例> 输入: "abcabcbb" > 输出: 3 > 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串

2020-09-13 20:38:06 337

原创 ubuntu安装cuda教程详解

目录一、下载cuda安装文件二、禁用nouveau三、正式安装四、验货首先需要明确的是,只有你的电脑有独立显卡才能安装cuda。不知道大家有没有这样一种感觉,网上的各种软件安装教程,如果自己不明白为什么要那么操作,就会出现每次重新安装都要再看一遍教程的情况。这是因为,你可能不理解每一步具体是做什么的。在本篇教程中,每一个点我都会尽可能较详细的解释,希望你以后不要再点进来了!一、下载cuda安装文件先至官网下载好cuda的runfile文件(根据自己的ubuntu版本选择):https://devel

2020-07-31 23:02:22 2480

原创 【深度学习笔记】过拟合与欠拟合

过拟合简答来说即模型在训练集上错误率较低,但在未知数据(包括测试集)上错误率很高。欠拟合简单来说是模型不能很好的拟合训练集,在训练集上就已经错误率较高。模型复杂度是影响拟合的一个因素。模型复杂度较低就会出现欠拟合的现象。模型复杂度较高,导致与训练集拟合非常好,模型参数训练出来是十分适合训练集的,可能出现过拟合的现象。影响欠拟合和过拟合的另⼀个重要因素是训练数据集的大小。⼀般来说,如果训练数据集中样本数过少,特别是比模型参数数量(按元素计)更少时,过拟合更容易发生。此外,泛化误差不会随训练数据集⾥样本

2020-07-25 19:54:01 196

原创 【深度学习笔记】常见损失函数

损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异0-1损失函数:L(y,f(x,θ))=˙{0(ify=f(x,θ))1(else)L(y,f(x,\theta))\dot= \begin{cases} 0(if y=f(x,\theta))\\ 1 (else)\end{cases}L(y,f(x,θ))=˙{0(ify=f(x,θ))1(else)​0-1损失函数可以客观的评价模型的好坏,但缺点是数学性质不好,常用连续可微的损失函数替代平方损失函数:L(y,f(x,θ))=˙

2020-07-25 19:05:19 312

原创 【深度学习笔记】机器学习模型

一、模型线性模型线性模型的假设空集为一个参数化的线性函数族,即f(x,θ)=˙wTx+bf(x,\theta)\dot=w^Tx+bf(x,θ)=˙wTx+b,其中参数θ\thetaθ包含的权重向量www和偏置bbb非线性模型广义的非线性模型可以写为多个非线性基函数ϕ(x)\phi (x)ϕ(x)的线性组合f(x,θ)=˙wTϕ(x)+bf(x,\theta)\dot=w^T\phi (x)+bf(x,θ)=˙wTϕ(x)+b二、学习准则损失函数损失函数是一个非负实数函数,用来量化模型预测和

2020-07-25 18:52:34 58

原创 平衡二叉树(AVL树)C++代码实现

目录平衡二叉树定义AVLAVLAVL树类的封装AVLAVLAVL树的插入操作与平衡化LLLLLL型调整RRRRRR型调整LRLRLR型调整RLRLRL型调整AVLAVLAVL树查找操作AVLAVLAVL树删除结点操作总源代码平衡二叉树定义为了使二叉排序树的平均查找长度更小,需要适当控制树高,显然,控制树高的一个有效措施就是尽量保持树的左右子树高度大致平衡,由此产生了平衡二叉树的概念。G.M.Adelson−VelskiiG.M.Adelson-VelskiiG.M.Adelson−Velskii和E.

2020-07-25 18:03:06 583 3

原创 【算法笔记】全域哈希表

引入在一般的哈希表中,有一个显著的缺点:无论选择什么样的哈希函数,总存在一条键值输入序列,这条序列中的每一个键值都会被哈希映射到同一个槽中,导致形成的哈希表只是一条链表,效率较低。首先需要明确,这个问题的产生是由于哈希函数的确定性,如果哈希函数是不定的,则可以解决这个问题。由此引入随机性。全域哈希表定义设UUU为键值的全集,HHH为哈希函数的有限集,哈希表的槽数量为mmm,若∀x,y∈U,x≠y,∣\forall x,y\in U,x≠y,|∀x,y∈U,x​=y,∣{h∣h∈H,h(x)=h(y

2020-07-22 13:11:20 106

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除