自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sofan He

愿所有向往终成现实

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 Pipe实现本地通讯&TCP实现局域网通讯

内容摘要本文介绍如何使用C/C++实现Pipe进程间通讯和Socket TCP局域网通讯。同时给出Linux下的参考代码,Windows下的参考博客。Pipe本地通讯需要用到的函数和库库:unistd.h函数:int pipe(int fd[2]),创建匿名管道。fork(),复制当前进程。用法int fd[2]; // record FILE* of pipe. int state = pipe(fd); // create pipe. if(state < 0){ // s

2021-10-30 12:26:18 696

原创 决策树实验

题目Kaggle的一个比赛题目,被拿来当日常作业了。原题目链接做法先把数据集转成数字形式的,而且从0开始编号,这样好处理。(为了简化问题完成作业)只选择一部分取值较好处理的变量做自变量。训练ID3决策树,并记录。采用ID3决策树进行预测。实现细节train和test中相同元素转化的数字一定要一样。训练的时候元素取值可能不全面,需要补充默认值。convert.py负责处理数据,ID3.py负责跑决策树代码"""convert.py"""# convert the dat

2021-06-02 19:53:52 276

原创 CCPC2020Weihai B. Labyrinth

Labyrinth题目描述n∗mn*mn∗m网格图,上面有kkk个黑洞,有q≤1e5q \leq 1e5q≤1e5个询问,每次问从一个点走到另一个点不能走黑洞的最短距离是多少。思路绝大多数情况下都是曼哈顿距离,只有当黑洞影响到正常的曼哈顿距离的时候才会考虑黑洞的存在,然后就判定有没有黑洞在矩形框里面即可。当没有黑洞在里面的时候,直接输出曼哈顿距离。当有黑洞在里面的时候,肯定最优方案蹭了黑洞的边。那么就有聪明的小伙伴会问了,为啥啊?因为黑洞如果没有阻碍正常的曼哈顿距离,那么一定有一种方案是

2021-01-17 17:24:04 267

原创 CCPC2020Weihai H Message Bomb

Message Bomb题目简述m个人n个群s个操作,群一开始都是空的,操作有以下三种:有一个人x加入了群y,保证x在操作前不在y中。有一个人x退出了群y,保证x在操作前在y中。人x在群y中发送了一条消息,此时在y中除了x的人会收到一个消息。求:每个人收到的消息数目。解题思路记录每个操作时候每个群的总消息数,然后利用退出时间和开始时间之间的群消息数差分计算收到的消息数。也就是在加群的时候减去当前群里的消息总数,在退群的时候加上当前群里的消息总数。但是此时会存在两个问题:自己发的消

2021-01-17 17:07:23 184

原创 CCPC2020Weihai A Golden Spirit

CodeForces LinkGolden Spirit简述题意有一个桥,桥两边各有n个old guys,每个old guy需要到桥对面relax一定时间然后回到原来的那一侧。你的任务就是帮助每一个old guy过桥,再等待他们relax完成之后送回来。其中,帮助任何一个old guy过桥消耗ttt时间,每个人relax都需要花费xxx的时间。求最短的完成上述任务的时间。思路尽量不要让每一分钟闲着。于是,在任务刚开始的时候,首先把old guy都扶到另一侧,这样在每一次从桥这边到桥那边的时候,

2021-01-17 16:52:56 198

原创 Joint Learning of QA and QG阅读笔记

SCIR “Joint Learning of Question Answering and Question Generation” 阅读笔记

2021-01-16 22:40:24 612

原创 BLEU简单解析

BLEU: Bilingual Evaluation Understudy一种机器翻译文本相似度评价指标

2021-01-16 22:25:07 456

原创 C++版grpahviz库

两个前传Graphviz解决图论简单画图利用C++&Graphviz完成绘图任务问题背景课设非要用GUI,我一个主打性能的数据库也要做GUI。然而又不会用WEB,小程序那些,只能用我会的graphviz写了。但是graphviz好像没有C++结合的库?难顶经过一番网络查找,发现GraphViz竟然有python的库?Graphviz竟然没有C/C++的库?那咋办嘛?那咋办嘛?那咋办嘛?想起之前的想用Graphviz做流程图,可惜学艺不精忘了rank机制和DAG建模不太行。这次用同样

2021-01-07 01:57:13 901 1

原创 利用C++&Graphviz完成绘图任务

基本原理:Graphviz解决图论简单画图问题背景Graphviz是个好东西啊,但是可惜的是我并没有找到可以直接用C++画图的程序?(可能是我找的不对劲?需求: 完成一个C++类,能够通过C++类中的函数调用等方法完成绘图工作。解决方案完成一个C++画图类,类比python networkx那种,可以调用函数来画图。创建一个临时文件,按照过程写入Graphviz的dot文件能够区分有向图跟无向图未完待续…Code//DrawGraph.h#pragma once#include

2021-01-06 18:48:26 2952 5

原创 CCPC2019Final C Mr.Panda and Typewriter

Codeforces题目链接问题重述给定一个字符串S, 你要从一个空串打出字符串S.你可以选用的三种操作如下:花费X, 在已经打出的字符串后面打一个字符花费Y, 复制已有的字符串中任意一个子串花费Z, 把在剪切板的最后一个子串放到文末求打出字符串S的最小代价.动态规划显然用DP. 但是需要记录什么状态?最容易想到的状态必然是F[n][i][j]表示现在已经打了n个字符, 并且剪切板上的内容为S[i:j].这样的复杂度起码是n3的. 而且还会存在S[i:j]重复的情况. (字串相等)

2020-10-07 09:14:24 472

原创 KMP的next数组求解过程

随便写写作用的话就是能比较清晰的看出模式串的next数组的求解过程#include<bits/stdc++.h>using namespace std;const int N = 1e5+17, M = 1e3+17;char a[N], b[M];int lena, lenb, nxt[M];void print(int bottom, int top, int j){ for(int p=1;p<=lenb;++p){ if(p<=top &&a

2020-09-30 20:27:35 141

原创 模拟信号的抽样:奈奎斯特抽样定理式子推导

本文的主要线路是证明采样定理中的频域变换式。其中知识框架如下:以下将从按照拓扑序进行相关模块的设计文章目录傅里叶级数与傅里叶展开傅里叶级数傅里叶展开欧拉公式时域频域关系音符举例相互表示傅里叶变换傅里叶变换和级数, 展开的关系从傅里叶展开说起傅里叶变换的输入输出复指数形式的傅里叶级数(推导)复指数形式的傅里叶变换(结论)非周期函数傅里叶变换(推导)非周期函数傅里叶变换(结论)冲激函数及其性质推奈奎斯特抽样定理式子原始抽样序列的表示求抽样完成后序列频谱与原频谱关系求解周期冲激函数傅里叶展开求解周期冲激函

2020-09-29 23:04:07 3269 3

原创 2020HDU多校2 String Distance

题目链接问题重述给你一个长度在1e5之内的小写字符串A,和一个长度在20之内的小写字符串B。q(1e5)次询问,每次询问A[l…r]与B的编辑距离.核心问题如何求这个LCS? 才能做到稳定lenB2lenB^2lenB2的复杂度?解决方案: 利用LCS向LIS的转化, 魔改一下, 然后求解.LCS转LIS利用F[i][j]表示A[i…lenA], 中j+'a’字符出现的最靠前的位置. 可以通过O(NC)求出来.然后利用 DP[i][j] = pos, 维护 B[1…i]中, 长度为j的LCS

2020-09-28 08:50:02 134

原创 2020HDU多校2 In Search of Gold

原题链接问题重述给你一个无向树,其中每条边有AB两种边权。给定一个k**k≤20k\leq 20k≤20**,让你选k条边权值为A,剩下的边权值为B,最小化该条件下的树的直径。问题分析树的直径两种求法两次BFS可以找到树的直径, 基于规则是图没有变化, 显然这个题目中不太适用.一次DP可以找到树的直径, 并且DP方程是每次处理一个子树 ( 感觉可以为我所用? )然后就选了一次DP来求解.DP讲解讲真当时做这个题没看到k≤20k\leq 20k≤20的条件, 不然还有可能冲出来?一看这

2020-09-28 07:15:24 129

原创 2019CCPCQHD Angle Beats

原题链接题目来源:CCPC2019 秦皇岛站 A题问题重述给定二维平面上nnn个点,然后给出q次询问,每次询问给出一个点P(n+q个点都不同),询问P和之前的n个点能构成多少个直角三角形。其中0≤n,q≤2000;∣x∣,∣y∣≤1e90 \leq n,q \leq 2000; |x|,|y|\leq 1e90≤n,q≤2000;∣x∣,∣y∣≤1e9问题分析假设存在两个点A,B跟这次的这个P构成了直角三角形, 那么可以得到以下的式子:{Py−AyPx−Ax⋅Py−ByPx−Bx=−1,P是顶

2020-09-23 17:46:34 221

原创 CCPC2019QHD Forest Program

题目链接2019CCPC秦皇岛赛站题目问题重述给你一个由仙人掌树构成的图G,求G有多少种删边方案能使其成为森林。计数算法区分边为环上边和非环上边环上边至少删掉一个,剩下的随意。长度为 L 的环对答案贡献2L−12^L - 12L−1非环上边,可删可不删,那就是2m−∑L2^{m-\sum L}2m−∑L然后这个题就完事了。判断环就用类似于Tarjan的那种方法,dep改一下就行了。哦对了,这个2的次方需要提前处理出来。代码#include<bits/stdc++.h>

2020-09-22 23:22:05 705

原创 矩阵向量求导-刘建平Pinard|笔记

矩阵向量求导-刘建平Pinard|笔记矩阵向量求导(刘建平Pinard) 笔记原文链接声明一、求导定义与求导布局原文图片个人笔记二、矩阵向量求导之定义法原文图片个人笔记三、矩阵向量求导之微分法原文图片个人笔记四、矩阵向量求导链式法则原文图片个人笔记五、矩阵对矩阵的求导原文图片个人笔记原文链接声明矩阵向量求导(刘建平Pinard) 笔记原文链接声明声明:本文中内容均为转载自刘建平Pinard的博客,笔记部分为博主个人学习笔记。如有侵权,立即改善!刘建平老师的博客地址:https://www.cnblo

2020-08-05 20:47:09 941

原创 老师的好帮手——抽象功能

文章目录问题背景代码文件处理拓展文件转化拓展docx文件拓展处理excel拓展处理其他常用问题背景在尝试制作实验报告分类器,统计考勤数据等功能的过程中;发现有很多功能是相似的,因此本文将这些相似的功能抽象化,形成了一个拓展类。以方便后续的使用。代码文件处理拓展class file_tools: """ 本类是对文件的一些拓展操作 依赖库为 os, shutil 目前实现的功能有: 1. copy 两个文件之间的拷贝, 新文件所在路径可

2020-07-31 11:18:24 295

原创 老师的好帮手——课堂考勤记录整合

文章目录问题背景研究背景目标结果代码问题背景线上课程积累了很多考勤记录,人为处理这些考勤记录既费时又费力,还容易导致遗漏。那么有没有一种方法可以通过一堆考勤记录和一个学生名单直接导出成为一个总的考勤记录表格呢?研究背景以腾讯课堂为例子根据线上课程的经验,在腾讯课堂进行上课的课程居多,因此本文考虑的考勤记录都是基于腾讯课堂的考勤记录。拥有一个点名册我们假设每个老师都有一个点名册,而且最终成绩应该只需要统计成绩单上的同学。不会有重名我们假设不会出现重复的唯一标识,简单起见,我们假

2020-07-28 11:35:08 1989 1

原创 微积分精简版复习提纲

微积分精简版复习目录微分方程n阶微分方程一阶微分方程求法可分离变量一阶微分方程y/x形式齐次方程一阶齐次线性微分方程一阶非齐次线性微分方程二阶微分方程最常规的二阶没有y的二阶没有x的二阶高阶常系数微分方程齐次形式非齐次方程欧拉方程多元函数微分学多元函数极限,连续,偏导极限连续偏导可微它们之间的关系偏导数计算图法(显式函数)隐函数极值与最值没有约束条件求出{Fx′(x0,y0)=0Fy′(x0,y0)=0的点(x0,y0)\begin{cases}F'_x(x_0,y_0) = 0\\F'_y(x_0

2020-07-18 23:48:50 1009

原创 Graphviz画流程图-预备稿

前言流程图很恶心,很多时候自己手画了转电子版很难看,电子也懒的画。那么能不能用Graphviz配合dot语言让它自己出个流程图?似乎这个功能已经有前人实现过了,叫做AutoFlowChart那我就做个最简单的?直接生产到dot语言文本那一级,留给用户更多的自定编辑空间吧!碰壁记录1我把这流程图交上去,还不得被退学?digraph G{ label = "Test Go" splines = ortho node[fontname="FangSong"] start[shape=b

2020-07-16 23:39:44 364

原创 跟535一起从零开始学QT特别篇-如何封包

主要内容本篇博客的主要内容是介绍在拿到一个完整的QT项目之后,如何操作才能使得你的QT项目转化称为一个可以直接运行的exe程序。材料完整的QT项目文件Qt CreaterEnigma Virtual Box关于Enigma Virtual Box这个软件是把一系列文件封装成为一个文件的利器。官网上有免费版链接在这里:官网下载网址:https://enigmaprotector.com/cn/aboutvb.html注意,这个软件默认支持中文,在Language里面可以设置过程主要流

2020-07-04 13:01:03 594

原创 集合论与图论-图论

图论部分目录六、图的基本概念6.1 图论的产生与发展史概述6.2 基本定义定义6.2.1 无向图定义6.2.2 零图定义6.2.3 有向图定义6.2.4 定向图定义6.2.5 子图定义6.2.6 生成子图真子图,极大子图定义6.2.7 导出子图定义6.2.8 图的同构乌拉姆猜想定义6.2.9 顶点的度定理6.2.1 欧拉定理,顶点度推论6.2.1 奇度点偶数个最大度,最小度定义6.2.10 r度正则图推论6.2.2 三次图孤立顶点6.3 路、圈、连通图定义6.3.1 通道定义6.3.2 迹、闭迹定义6.3.

2020-07-02 00:03:03 3989 1

原创 集合论与图论-集合论

第一章目录一、集合及其运算1.1 集合概念1.2 子集、集合相等定义1.2.1 集合的包含.定义1.2.2 集合的真子集.定义1.2.3 集合的相等.定理1.2.1 空集定义1.2.4 集族.定义1.2.5 幂集.1.3 集合的基本运算定义1.3.1 并集定理1.3.1 并运算性质定义1.3.2 交集.定理1.3.2 交运算性质定理1.3.3 交并运算性质-结合律定理1.3.4 交并运算性质-分配律定理1.3.5 交并运算性质3-吸收律定义1.3.3 两两不相交的集序列.定义1.3.4 差集.定理1.3.6

2020-07-01 23:58:49 2780 6

原创 Go课堂笔记

Go语言课堂笔记相关资源Golang官网https://golang.org/Golang官网镜像Golang中国http://www.golangtc.com/Go语言中文网http://studygolang.com/安装编译器安装包下载: 稳定版→go1.14.4 测试版→go1.15beta1官网下载(需要翻墙): https://golang.org/dl/官网镜像下载: https://golang.google.cn/dl/Go语言中文网下载: https://stud

2020-06-30 12:17:05 1052

原创 一个简单入门的Py笔记

pythonPython基本语法语句一行表示一个语句语句结束符:换行、;“多语句同行”空格句:空格、Tab、换页、注释缩进行前面加空格或tab,从属关系平级语句缩进相同函数,语句缩进规则相同注释单行:#多行:’’'或者"""标识符与关键字标识符表示变量函数类模块的名称由字母,数字,下划线构成.首字母不可以是数字长度不限大小写敏感关键字False,class,finally,is,None,for,continue,try...查看的方法:h

2020-06-30 12:04:02 554

原创 跟535一起从零开始学QT

文章目录跟535一起从零开始学QT-安装与环境配置QT?啥是QT?QT的安装QT安装的细节QT安装完之后*QT的VS环境搭建跟535一起从零开始学QT-我的第一个QT程序如何简单地做一个QT项目新建一个项目选择模板相关配置文件结构拖动设计Ui设计信号与槽最简单的创建方式*使用代码创建设计槽运行你的代码跟535一起从零开始学QT-信号与槽机制简单的引入虚拟的例子创建信号函数与槽函数将信号与槽关联起来调用信号函数、槽函数信号与槽之间的参数传递拓展阅读跟535一起从零开始学QT-安装与环境配置QT?啥是QT?

2020-06-26 19:32:57 1055

原创 C++控制台贪吃蛇移植QT贪吃蛇

文章目录前言控制台部分任务分析控制台源码源码分析QT部分分析任务分析组件挑选QT源码分部解析简单用法前言Task:用QT实现一个可视化项目。Skill:已经学的C++控制台程序设计。本次“C++控制台贪吃蛇移植QT贪吃蛇”是在已经有了C++控制台版本的贪吃蛇代码的情况下,将其移植到QT平台,做成一个可视化的项目。告别黑框框,进入白框框!控制台部分任务分析控制台源码声明:这份源码不是博主写的,是博主的同学写的。博主的工作只是移植!声明:这份源码不是博主写的,是博主的同学写的。博主的工作只是

2020-06-26 02:49:43 1189

原创 Graphviz解决图论简单画图

Graphviz解决最简单图论画图参考文章:十分钟学会graphviz画图-简书这里给出最最最最常用且简单的说明写图文件常见的后缀就是.dot,标准格式也是这个。我们需要把图在这个文件内按照它的规则描述出来。注释它像C++一样,可以用\\,\**\来表示注释内容,也可以用#表示注释内容。建立一个图首先,可以使用graph [graphname]{ \\Do something.}//无向图digraph [graphname]{ \\Do something.}//有向图具

2020-06-23 22:55:27 1108

原创 集合论与图论

文章目录一、集合及其运算1.1 集合概念1.2 子集、集合相等定义1.2.1 集合的包含.定义1.2.2 集合的真子集.定义1.2.3 集合的相等.定理1.2.1 空集定义1.2.4 集族.定义1.2.5 幂集.1.3 集合的基本运算定义1.3.1 并集定理1.3.1 并运算性质定义1.3.2 交集.定理1.3.2 交运算性质定理1.3.3 交并运算性质-结合律定理1.3.4 交并运算性质-分配律定理1.3.5 交并运算性质3-吸收律定义1.3.3 两两不相交的集序列.定义1.3.4 差集.定理1.3.6

2020-06-23 10:21:20 7018 5

原创 HIT@wh 2019新生赛题解

A. ∞一句话题意给定a、b。并求出a/b最简分数形式解法直接上代码Code#include<bits/stdc++.h>using namespace std;const int N = 1e4+17;int n,a[N],b[N],pos1,pos2;void Work(){ scanf("%d",&n); for(int i=0;i<=n;+...

2019-12-25 16:44:32 473

原创 HIT@wh热身赛题解

热身赛,内网A. A+B Problem简单的按数据组数进行的A+B,直接贴代码吧#include<cstdio>using namespace std;int main(){ int T; scanf("%d",&T); while(T--) { int a,b; scanf("%d%d",&...

2019-12-22 10:48:44 521

原创 Codeforces 1223E

Codeforces 1223ETag : 动态规划,树上DP,图论,贪心题目分析题目大意给定一个无向带权树,求一个满足下列条件的路径集的最大边权和。一个路径最多出现一次同一个点最多被连接 kkk 次做法猜测贪心首先考虑仿照 MST 的排序算法,毕竟 MST 也是选边,然后求的最小值。但是发现这个做法是不正确的。比如下面这个输入14 11 2 22 3 33 ...

2019-12-20 10:50:24 286

原创 Codeforces 1252B

Codeforces 1252BTag:树上DP,数学优化,图论,动态规划题目分析题目大意给定一个无向树,求任意两个路径的终点都不向连的路径集个数。其中点数小于等于1e5做法猜测树上的问题,还是计数,复杂度要求在O(nlogn)之内,直接考虑树上DP。动态规划设计前置说明记当前节点为 uuu,子节点为viv_{i}vi​使用的编译指令为g++ filename.cpp -...

2019-12-18 22:26:30 333 1

graphviz/C++源码+dotguide

对应博客

2021-01-07

Python-网络教学教师助理库

https://blog.csdn.net/H_18763886211/article/details/107708641

2020-08-02

C++控制台贪吃蛇移植QT贪吃蛇.rar

本资源是控制台贪吃蛇移植QT版本,并附有讲解PDF。另有同名讲解视频已经在B站发布。如有疑问请私聊博主,谢谢!

2020-07-02

空空如也

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

TA关注的人

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