自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ACM大学生程序设计竞赛在线题库最新精选题解(赵端阳)解析

在线OJ题库部分解析主要练习书中ZOJ,HDOJ。章节(不定时更新)在线OJ题库部分解析前言第1章基础编程技巧题第2章模拟编程技巧题更新线前言本书介绍:ACM大学生程序设计竞赛在线题库最新精选题解说实话我觉得新手确实需要一份刷题单,带解析那种。我个人也是新手才开这本书的题,连续追更中……我觉得写完读别人代码有很大提升,但是看题解大多数oj并不支持阅读其他人ac代码,而且很难找到优秀的代码。这本书给的代码让我学会很多奇巧淫技 。洛谷题单还行就是不太循序渐进而且刷的题太多。这本书题单大多不错而

2020-10-12 13:34:03 5798 5

原创 Git 忽略.gitignore文件自身/git仅本地忽略某些文件

git忽略本地文件/.gitignore忽略自身

2022-09-09 11:42:42 3340 1

转载 TCMalloc解读

TCMalloc

2022-07-21 17:31:35 208

原创 从零开始的tinyhttpd项目

从零开始的tinyhttpd项目学习顺序(更新中)前言虚拟机安装及配置前言TinyWebServer是c++服务器方向常见的一个项目,但该项目涉及的内容太多。由于本人接触linux网络编程不深,所以准备从tinyhttpd项目开始学起,因为该项目代码量不大,而且涉及模块少,对于不熟悉的虚拟机配置,linux配置和命令都有很大的练习作用,故选用该项目先试手一下。虽然说是从零开始,但还需要了解基本c/c++语法,linux简单命令及网络编程基础概念即可。虚拟机安装及配置本人系统win10,所以安装

2022-02-20 12:49:48 2258 4

原创 力扣Hot100题单个人计划c++版(五)

力扣Hot100题单个人计划c++版(一)力扣Hot100题单个人计划c++版(二)力扣Hot100题单个人计划c++版(三)力扣Hot100题单个人计划c++版(四)力扣Hot100题单个人计划c++版(五)刷题链接:力扣Hot 100每日一题,每日一更,白板手写。力扣Hot 10081.打家劫舍 III82.比特位计数83.前 K 个高频元素84.字符串解码85.除法求值86.根据身高重建队列87.分割等和子集88.路径总和 III89.找到字符串中所有字母异位词90.找到所有数组中消失

2021-11-26 21:04:45 881

原创 力扣Hot100题单个人计划c++版(四)

力扣Hot100题单个人计划c++版(一)力扣Hot100题单个人计划c++版(二)力扣Hot100题单个人计划c++版(三)力扣Hot100题单个人计划c++版(四)刷题链接:力扣Hot 100每日一题,每日一更,白板手写。力扣Hot 10061.课程表62.实现Trie(前缀树)63.数组中第k个最大元素64.最大正方形65.翻转二叉树66.回文链表67.二叉树的最近公共祖先68.除自身以外数组的乘积61.课程表11.3打卡拓扑排序,还是待补吧。有点难写。62.实现Trie(前

2021-11-09 19:59:32 1169

原创 力扣Hot100题单个人计划c++版(三)

力扣Hot100题单个人计划c++版(一)力扣Hot100题单个人计划c++版(二)刷题链接:力扣Hot 100每日一题,每日一更,白板手写。力扣Hot 10041.二叉树的层序遍历41.二叉树的层序遍历10.11打卡层序遍历很基础的算法了,按照每层返回一个vector的话,一开始想到用两个队列循环取每一层和下一层,然后在转成vector,当然题解更巧妙的做法是记住每层的大小即可。class Solution {public: vector<vector<int&

2021-10-11 22:10:24 461

原创 力扣Hot100题单个人计划c++版(二)

力扣Hot100题单个人计划c++版(一)刷题链接:力扣Hot 100每日一题,每日一更,白板手写。力扣Hot 10020.全排列20.全排列数组元素不重复,且都在-10~10之间。简单递归即可。class Solution {public: vector<vector<int>> ans; int vis[25]={0}; const int k=11; void dfs(const vector<int>&

2021-09-21 11:20:15 437

原创 力扣Hot100题单个人计划c++版(一)

刷题链接:力扣Hot 100每日一题,每日一更,白板手写。1.两数之和:暴力就不写了,哈希判断。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> hashmap; for(int i=0;i<nums.size();i++){ auto i

2021-08-30 21:09:04 554

原创 分布式入门

分布式入门(更新)前言分布式概述前言小白一枚,大三开了这分布式计算这门课,对本课程很感兴趣,但由于网上入门资料太少,个人也是在摸索阶段。个人非常想完成MIT6.824的课程和实验。但暂时能力不足以及时间不充裕,挖个坑待补。所以暂时学习入门的一些内容,以便后面不会卡很多进程学习额外课程。分布式概述...

2021-06-30 00:12:34 1143 2

原创 软件工程个人笔记

软件工程个人笔记仅作个人整理,期末背答案用。软件工程导论第六版答案见:软件工程导论(第六版)课后习题答案章节第1章 软件工程学概述第2章 可行性研究第3章 需求分析第4章 形式化说明技术第5章 总体设计第6章 详细设计第1章 软件工程学概述1.1 软件生命周期各阶段任务是什么?软件生命周期由软件定义,软件开发和运行维护三个时期组成。每个时期又分为若干阶段。软件定义时期:问题定义、可行性研究、需求分析。开发时期:总体设计、详细设计、编码和单元测试、综合测试。运行维护时期:软件维护。

2021-06-21 23:42:58 1459

原创 java核心技术卷I(第十版)个人笔记

java核心技术卷I(第十版)个人笔记本人有c++功底,故只记录与c++不同的一些方法。本书为java核心技术卷I(第十版)。第1,2章环境等及10-12章图形化界面部分不提。章节第三章 java的基本程序结构设计第四章 对象和类第三章 java的基本程序结构设计3.2注释稍有不同,文档注释以/**开头,*/结尾。3.3数据类型char型需注意Unicode字符,\u开头,注释中主意C:\users也会产生语法错误,因为\u后需跟4个16位整数。boolean型和整型无法转换。3

2021-06-09 12:58:49 524

原创 HDOJ1627-Krypton Factor

本题用dfs构造字符串,如何巧妙的判断是否有重复字符串呢。实际上还是dp思想,因为前cur-1个字符是合法的,只需要判断加入第cur后是否合法即可。因此从第cur位到中间位尝试比较前面相等长度字符串即可。鉴于新手容易写错回溯条件发下源码:#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<map>#include<que

2021-06-04 13:44:49 91

原创 HDOJ1015-Safecracker优化版

纯暴力搜索是可以过的。但要求答案是最大的字典序,显然先排序后搜索可以一遍求出答案后就返回。但新手写回溯会出种种bug,最经典莫过于不知道如何返回而陷入死循环。这里给出一个参考代码:#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<map>#include<queue>#include<string>

2021-06-03 16:03:32 125

原创 python调用MRMR提取特征实验Demo(机器学习实验四)

本文参考:mRMR特征选择算法(feature_selection)的使用python中使用mRMR实验要求:对于d维的trunk’s data,即两类样本,每类样本的均值分别为协方差矩阵相同,均为单位矩阵,仿真这组数据,其中d为100,每类数据的样本数为n;谈谈理想情况下(即n充分大)的这组数据,从d=100个特征中选出k个特征的结果是{1,2,3,…,k}的合理性;试用mRMR算法对这组数据进行特征选择,如从d=100个特征中选出k=10个。通过实验,给出当n相对k取很大时(比如10

2021-06-02 11:14:29 4237 12

原创 k-mean实验

没啥好说的,原理简单实现简单。主要观察kmeans算法对三个图的测试情况。图一肯定是能分出来的,用欧氏距离迭代中心点是没有问题的。图2图3是非凸形状,所以kmean就会差一点。源代码:import numpy as npimport matplotlib.pyplot as pltdef kmeans(data, n, k): # 获取4个随机数 rarray = np.random.random(size=k) # 乘以数据集大小——>数据集中随机的4个点

2021-05-29 16:21:40 293

原创 svm线性和非线性画图

数据是.mat文件所以需要用scrpt.io导入。导入后是dict格式,我们取出数据集和标签集即可。然后用np.flatten()函数将二维的标签集变成一维。load_plane1 = os.path.join(os.getcwd(), 'MLA2_data1.mat') # mat文件路径 plane1 = sio.loadmat(load_plane1) # 使用scipy读入mat文件数据 # print(plane1) # print(type(plane1)) #

2021-05-29 16:21:31 1337

原创 DBSCAN算法进行细胞类型聚类

著名的小鼠转录数据库。原理和实现参考:单细胞转录组数据分析|| scanpy教程:预处理与聚类有关dbscan的算法演示有个网站可视化地对参数距离和中心点个数演示:Visualizing DBSCAN Clustering文件夹中共包含5个以逗号分隔的文本文件,每个文本文件包含小鼠乳腺组织中一种特定类型的细胞的基因表达水平,以矩阵形式存储。简单来讲每行是一个特征,每列是一个样本,每个值表示表达情况,0.0表示没有表达,数据无负值。其中五份数据文件的样本表示一类。具体要求:简单就两个:对2万个

2021-05-29 16:21:20 723

转载 排列组合的一些公式及推导(非常详细易懂)

转载:由于网站不通仅个人收藏排列组合的一些公式及推导(非常详细易懂)

2021-05-26 00:24:20 1712

原创 遗传算法求解模版(两元)

参考:用Python实现遗传算法遗传算法详解 附python代码实现遗传算法的原理及实现都不是很难,这里只是为了好调参给出一个统一的类来修改参数。本实验要求求max f(x1,x2)=21.5+x1∗sin(4∗PI∗x1)+x2∗sin(20∗PI∗x2)max f(x_{1} ,x_{2} )= 21.5+x_{1}* sin(4*PI*x_{1} )+x_{2}* sin(20*PI*x_{2} )max f(x1​,x2​)=21.5+x1​∗sin(4∗PI∗x1​)+x2​∗sin(2

2021-05-25 11:09:52 885 1

原创 白话三种基于协同过滤算法的推荐

最近答辩需要讲解这三种算法,写起来倒是不难,毕竟已经是上世纪的古董算法,原理和实现已经非常成熟。但怎么让每个人一听就懂我还是组织了半天语言的。原理大家都懂,但是可能不知道如何表达和或者不知道其中内涵。我会举三个简单例子白话叙述这三种算法。这里假设我们的推荐系统是电影推荐系统。1.基于用户的推荐:用户a看过c电影,而看过电影c的还有用户c,所有我们把用户c看过的其他电影推荐给用户a。即看过这部电影的人还看过什么电影。2.基于物品推荐:用户c看过电影a,而看过a的用户都看过电影c,所有我们把电影c

2021-05-23 23:41:34 194

原创 BOW图像检索corel数据集(多媒体实验三)

代码基本都是参考网上PCV版本的,基本都是调库,没有实现sift,k-mean等。仅供在python3.8版本,sqlite3中下复现。本来想用opencv处理,但版本和依赖库问题加上个人能力不足没有造过sift等轮子就不多说。参考:Bag of Features (BOF)图像检索算法及其python实现(附代码):网上基本都是一个版本,原谅我找不到原文的代码。Python计算机视觉——基于BOW的图像检索学习:我遇到的大部分错误他也遇到了,只不过他的有些修改方式还是不适合py3.8版本。计算

2021-05-21 10:53:50 1900 2

原创 pip.ini配置及国内源地址

参考:Anaconda更新报404:UnavailableInvalidChannel: The channel is not accessible or is invalid.error404pip 安装 和 pip.ini 配置国内五大源:  阿里云   http://mirrors.aliyun.com/pypi/simple/  中国科技大学   https://pypi.mirrors.ustc.edu.cn/simple/  豆瓣(douban)   http://pypi.do

2021-05-20 15:27:28 2487

转载 Anaconda 换源后安装速度依然很慢

参考:Anaconda 换用清华园后安装速度依然很慢,或者安装包出错清华源设置完自己的.condarc文件:Anaconda 镜像使用帮助进入自己的环境conda activate my_env输入命令conda config --show channels发现没有问题。但实际是http协议和https协议问题,https协议是加密通话。所以将.condarc文件设为如下:channels: - defaultsshow_channel_urls: truechannel_ali

2021-05-20 12:35:22 5401 5

转载 You‘ve successfully authenticated, but GitHub does not provide shell access

原文:You’ve successfully authenticated, but GitHub does not provide shell access一个项目一直 git push不了,起初我以为是ssh配置不正确,结果ssh -T [email protected]连接弹出这个信息。说明系统保存的密码用户名是对的,可以连上。之所以有上述报错,是因为一开始的设置git clone 时用的时https的网址,应该复制ssh的网址。打开项目,打开隐藏文件,在git下修改config文件。将origi

2021-05-17 20:24:27 8610 2

原创 anaconda对应python版本号以及卡在setting up the base environment解决方法

对应版本号有官方网址:Old package lists选出最新的几个版本对照:Packages included in Anaconda 2020.11 for 64-bit Linux with Python 3.7Packages included in Anaconda 2020.11 for 64-bit Linux on IBM Power CPUs with Python 3.7Packages included in Anaconda 2020.11 for macOS with

2021-05-17 11:23:54 23359 5

原创 SVM多项式核解决异或问题(机器学习实验三)

要求用内核为K(x,xi)=(1+xTxi)pK(x,x_{i})=(1+x^{T}x_{i})^{p}K(x,xi​)=(1+xTxi​)p的SVM解决异或问题。svm数学原理确实难,svm基本是网上找的轮子,核函数改了一下,然后把svm里面相关内积换成k[:]即可。参考:《机器学习实战》(六)—— SVM(SMO算法)SVM算法Python实现p大于3小于6时基本划分正确,而p太小或者太大就会分类错误。p=2时:p=4时:p=8时:错误率:svm并没有完全独立实现就不多讲

2021-05-13 17:57:17 2104

转载 标准Lena测试网站

原文链接:Standard Test Images原文包含lena的512*512的彩色照片和灰度图,包含格式:tiffbmpbgmmat以及对不同版本的说明。

2021-04-21 19:36:33 150

原创 MLP多层感知机用BP算法更新权值解决异或问题(机器学习实验二)

本文实现只有一层隐藏层。贴上221网络解决两元素异或以及331网络解决三元素异或问题。原理不懂可以参考以下博客,建议手推一遍bp怎样链式反向求导。多层感知机(MultiLayer Perceptron)以及反向传播算法(Backpropagation)机器学习——神经网络(四):BP神经网络如果还不清楚这里有视频:PyTorch深度学习实践(强烈推荐!!讲的太清了,还讲了pytorch的代码。)BP算法的核心就是更新权重。网络上大部分代码实现两元素异或都是2-4-1的网络,因为没有加偏置项所以

2021-04-18 19:18:03 3495

原创 sklearn主成分分析pca用python实现(多媒体实验二)

原理建议看这篇博客:PCA的数学原理。写的非常清楚,弄明白 实例就差不多懂了。但是弄明白不会写代码,那可以看看这个视频:Python 实战 PCA / 主成分分析(文刀出品)。过程很简单,总结如下:矩阵X的维度是(m,n)。表示m组数据,n维向量。#即先处理数据先对x去均值。(是否标准化看情况)X_mean = np.mean(data, axis=0)sdata=(data-X_mean)求协方差XTX^{T}XT的特征值(ew)和特征向量(ev)。调用np.linalg.e

2021-04-13 13:42:01 1556 1

原创 mysql8.0以上解决密码错误pycharm连接报错pymysql.err.OperationalError

最近用python跑一个数据库项目,下载的mysql8.0.23。结果报错pymysql.err.OperationalError: (1290,......)原因是因为新版mysql的密码验证方式更新了,安装的时候有个很大的感叹号确定加密方式,结果我按着默认安装了,所以就自讨苦吃了。我到现在也没整明白为什么设计新版这种费力不讨好的密码验证。新版mysql使用的caching_sha2_password认证方式,换成原来的mysql_native_password就可以。新版的密码首次输入的密码实

2021-04-11 18:58:45 990

原创 感知机划分二维平面xdu机器学习实验一

原理很简单,网上讲解铺天盖地,找两个看得懂的贴上:《统计学习方法》第二章感知机感知机算法详解主要理解其损失函数,以及对其求导,这样就能迭代出更新权重www和常数bbb。要求:生成四个高斯分布的数据,逻辑与的二分类形式。即(1,1)为正分类,(0,0),(0,1),(1,0)分布的点是负类。然后求出一条直线划分即可。算法核心:即更新权重。每一轮我们都判断所有的点是否和划分的类一样,假如不一样就更新权重:w←w+ηyixib←w+ηyiw←w+ηy_{i} x_{i}\\b←w+ηy_{i}w←w

2021-04-03 16:51:08 205 2

原创 算术编码(多媒体实验一)

算术编码(xdu多媒体实验一)前言详细原理源代码前言关于本文的一些联想:我曾读到大刘(可能是)的一本短片科幻小说集,其中有一个故事说的与算术编码有关,但当时我并不清楚其原理,非常震惊。类似居然有人提问过:如果有个飞船,在某处画个点,就能解码出一套百科全书,真的可能么?。故事讲述的是一个外星人来到地球,然后获取了地球的所有知识,包括地球的历史,科技,自然风光等等记录。然后他们带回去的时候只是在飞船上刻了一个记号,这个记号的精度非常之高,其中承载的信息就是整个地球知识的信息熵。等到他们回去只需要测量

2021-04-03 16:05:43 2031

转载 抽卡游戏的随机机制(转载)

游戏中的随机概率:本篇主要讲述抽卡游戏中最简单的实现,概率是统计意义上的还是分布意义上的问题。第一种是列表方式,然后概率抽取,这样就能使其成为正态分布。第二种是直接用正态随机函数,初始化对所有物品按权值进行正态分布随机,每次取位置最小值的物品(也就是最先出现的),然后其它物品均减去该值,被取出的物品再单独进行一次正态分布随机,再次循环判断位置最小值。几种随机算法的实现原理...

2021-02-28 09:40:30 4937

原创 二分链路预测(数据挖掘实验一)

二分链路预测xdu-exp1一、实验要求二、简要分析三、部分细节源码链接转载注明出处长门yuki,本文代码见末尾github链接。本文参考一下博客及代码仓库,感谢网上的这些分享者:1.我了解到大致了原理:数据挖掘(一):分类技术-二分网络上的链路预测(电影推荐)2.对其中f矩阵算法改进:数据挖掘-二分网络上的链路预测:兴趣推荐系统-电影推荐主要参考的详细实现,对于其中除零bug已经反馈:BlackJocker1995/rating_analysis3.ROC曲线原理说明:无涯的回答4.

2020-12-18 23:20:25 1743 1

原创 ZOJ1210毒瘤大整数幂乘题

此题巨坑!题目链接:ZOJ1210-Reciprocals在此转到关于本书博客ACM大学生程序设计竞赛在线题库最新精选题解(赵端阳)部分解析话说本书这个代码真的能过样例吗?tmd样例都过不了还好意思发代码??先放一张我的ac:简单说下本题思路,书上算法分析没问题,就是实现很迷:本题输入总可以写成2x ∗*∗ 10y或者5x ∗*∗ 10y;所以首先去掉这个数的后缀零,然后输出时补上y-1个零即可。其次判断前面数究竟是2或者5的多少次方。众所周知,5的n次方末尾永远是5,所以去掉零后判断末尾是

2020-10-27 21:23:10 154

原创 HDOJ2940高精度阶乘优化版

题目链接:hdoj2940-Hex Factorial在此转到关于本书博客ACM大学生程序设计竞赛在线题库最新精选题解(赵端阳)部分解析原书和网上大多数程序都是从0到200最高位不断加乘,然后判断前导零位置。实际上阶乘是递增记录的,可以每次记录原数组长度,这样不必要原数常数。#include<iostream>#include<cstdio>using namespace std;const int maxn = 200;int res[maxn], num[maxn]

2020-10-21 20:47:48 175

原创 HDOJGrey Area

题目链接:HDOJGrey Area在此转到关于本书博客ACM大学生程序设计竞赛在线题库最新精选题解(赵端阳)部分解析简单模拟即可,不过样例前两个实际输出应为0.510000,0.260000;另外书中有笔误,不应为图2-1,应该是图2-2。去零可以乘以10e6模拟,也可以用%g输出,但是此处用printf("%.6lf",sum)也可。ac代码#include<iostream>#include<algorithm>#include<cstdio>#in

2020-10-15 23:30:44 138

原创 ZJU1105-FatMouse‘s Tour

题目链接:ZJU1105-FatMouse’s Tour学到了sscanf()从字符中读入数据操作。不过说到底还是题目较怪,数字输入一把以-1或0等等数结尾,但本题以java结尾就很离谱。思路并不难,主要是对字符串处理,给出两种代码:c++代码,g++ 6.5.0编译。用c++中string类可以安全使用getlin();ac代码#include<iostream>#include<algorithm>#include<cstdio>#include&lt

2020-10-12 13:12:25 170

原创 HDOJ1735-字符统计

题目链接HDOJ1735-字符统计个人感觉假如最后一段假如全0怎么算?就是未到n行结果之后全为0,那应该至少前几行满字,最后一行一个字。但测得数据并无这种情况。另一点是假如污染后的段数反而小于总段落数不是无解了?改进书中代码地方:不必要再用一遍for循环记录空白数,直接第一次读入时用index记录最后一行最后有字的位置即可。而且假如该行一个字也没有,那这行至少有一个字,初始化index为1即可,但样例没有考虑这点。int n, m, g;int a[105];int b[10005];int

2020-10-12 11:51:01 215 1

空空如也

空空如也

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

TA关注的人

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