自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2560. 打家劫舍 IV

Leetcode 打家劫舍 IV

2023-02-28 13:43:26 551

原创 CSP 202209-2 何以包邮?

CSP 何以包邮?

2023-02-27 21:25:31 518

原创 CSP 202212-3 JPEG 解码

CSP 202212-3 JPEG 解码

2023-02-24 22:38:59 425

原创 归并排序及其应用

排序算法的一些应用

2023-02-24 01:05:09 206

转载 python.multiprocessing

一 multiprocessing模块介绍python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。multiprocessing模块的功能众多:支持子进程、通信和共享数据、执行不同形式的同步,>提供了Pr

2021-11-30 22:03:32 139

原创 生产者-消费者模型Python(操作系统实验)

这次不懒了,完全是自己编写的,自己对程序的每个数据都手动演算了一遍,保证程序运行结果的正确性,不会出现输出语句和真实情况不匹配的情况. 明天补上实验的具体内容. 今晚先上代码:"""生产者-消费者模型"""import timeimport randomfrom multiprocessing import Process, Semaphore, Managerimport multiprocessingimport argparseimport os"""消费者模型"""def c

2021-11-30 02:08:28 1335

原创 操作系统--银行家算法Python

博主比较烂,内容是参考别的博主的C程序修改而来的,思想是一样的,这里放原文链接:银行家算法话不多说,直接上代码,这里注意该程序执行是在终端运行,直接运行是不行的,里面用了argparse一个命令行解析工具,你可以运行python <filename>.py -h看看具体的参数意义,看懂之后,终端输入python <filename>.py 3 5 --exe然后输入上面原文链接的数据,结果和操作过程完全一样的,但还是建议看看argparse的官方文档,非常好用~import os

2021-11-28 21:35:44 1606

原创 Fermat素性检测Python实现

Fermat素性检测import argparseimport randomclass Solution: # Using Euclidean algorithm to work out the result of gcd(a,b) def Euclidean_gcd(self, a: int, b: int) -> int: if b > a: temp = a a = b b

2021-11-25 22:08:48 339

原创 shellshock-Attack-Lab

shellshock Attack Lab实验概述实验背景2014 年 9 月 24 日,发现了 Bash 中的一个严重漏洞 Shellshock,这个漏洞可以用于许多系统,可以远程启动,也可以从本地机器启动。在这个实验中,学生们需要研究这种攻击,这样才能了解Shellshock 的脆弱性. 此次实验包括以下四个内容:ShellshockEnvironment variablesFunction definition in bashApache and CGI programs实验

2021-11-07 20:56:28 4017

原创 数学建模规划问题Python

数学建模值规划问题线性规划问题min w=−x1+2x2+3x3min\ w=-x_1+2x_2+3x_3min w=−x1​+2x2​+3x3​KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ s.t.\begin{ca…调用所需要的scipy库,我们使用的是minimize函数解决规划问题import numpy as npimport

2021-08-01 21:21:55 764 1

原创 缓存不命中率的计算

缓存不命中一台具有块大小为16字节,整个大小为1024字节的高速缓存:struct algea_position(){ int x; int y;};struct algea_position grid[16][16];int total_x=0, total_y=0;int i,j;Question 1Question\ 1Question 1for(i=0;i<16;i++) for(j=0;j<16;j++)

2021-06-17 11:59:00 2152

原创 逻辑回归Logistic Regression

逻辑回归Data: {(xi,yi)}i=1Nyi∈{0,1}激活函数sigmod function: σ(z)=11+e−zData:\ \{(x_i,y_i) \}_{i=1}^N\\y_i\in\{0,1\}\\激活函数sigmod\ function:\ \sigma(z)=\frac{1}{1+e^{-z}}Data: {(xi​,yi​)}i=1N​yi​∈{0,1}激活函数sigmod function: σ(z)=1+e−

2021-05-25 22:02:33 80

原创 线性判别分析(Fisher)

线性判别分析(Fisher)思想:类内小,类间大一个数据的投影:Zi=wTxi投影的均值:Zˉ=1N∑i=1NZi=1N∑i=1NwTxiSz=1N∑i=1N(Zi−Zˉ)(Zi−Zˉ)T=1N∑i=1N(wTxi−Zˉ)(wTxi−Zˉ)T对于两个类有:C1:Z1ˉ=1N1∑i=1N1wTxi     S1=1N1∑i=1N1(wTxi−Zˉ1)(wTxi−Zˉ1)TC2:Z2ˉ=1N2∑i=1N2wTxi   &nbsp

2021-05-23 22:36:09 173 1

原创 旅行商问题:分支界限(优先队列)

什么是旅行商问题旅行商问题(TravelingSalesmanProblem,TSP)是一个经典的组合优化问题。经典的TSP可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总的行程最短。从图论的角度来看,该问题实质是在一个带权完全无向图中,找一个权值最小的Hamilton回路。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸,它是一个NP完全问题。由于其在交通运输、电路板线路设计以及物流配送等领域内有

2021-05-19 18:21:44 2573

原创 线性分类:感知机

线性分类感知机**前提:**线性可分**思想:**错误驱动模型:f(x)=sign(ωTx)f(x)=sign(\omega^Tx)f(x)=sign(ωTx),D={被错误分类的样本集合}D=\{被错误分类的样本集合\}D={被错误分类的样本集合}样本集:{(xi,yi)}i=1N\{(x_i,y_i)\}_{i=1}^N{(xi​,yi​)}i=1N​策略:loss function⇒L(ω)=∑i=1NI{yiωTx<0}loss\ function\Rightarrow

2021-05-17 00:44:13 94

原创 网络最大流EK算法

#include <iostream>#include <queue>using namespace std;const int maxn = 220;const int inf = INT_MAX;int G[maxn][maxn], flow[maxn], pre[maxn];int n, m;queue <int> q;int bfs(int s, int t) { while (!q.empty()) q.pop(); memset(pre

2021-05-16 15:49:58 102

原创 机器学习 岭回归

机器学习之岭回归在线性回归模型中,有一个致命的问题,就是对于估计参数ω=(XTX)−1XTY\omega = (X^TX)^{-1}X^TYω=(XTX)−1XTY,如果(XTX)(X^TX)(XTX)它不可逆那么就会导致无法求出这个参数,另外如果∣XTX∣|X^TX|∣XTX∣月接近与0,会使得回归系数趋近于无穷大,这样也是无意义的。为了解决这类问题,我们可以使用岭回归。另外还有一个问题,那就是过拟合问题,对于样本而言往往会出现数据的量不多,但有非常多的特征,那么这时候就很容易造成过拟合,这种过拟合

2021-05-13 00:29:07 412 1

原创 初识Pytorch

初识Pytorch在Pytorch当中,torch.tensor是储存和变化的主要工具。其中Tensor提供GPU计算和自动求梯度等功能,这让Tensor更加适合深度学习首先导入Pytorch:import torchtorch有一个操作是rand,它可以来生成一个指定大小的随机矩阵y = torch.rand(5,3)ytensor([[0.0714, 0.8323, 0.1296], [0.8457, 0.9962, 0.9307], [0.3740,

2021-05-12 23:48:47 75

原创 计算机系统实验:BombLab

**一、实验题目:**Bomb Lab二、实验目的:了解并熟悉底层汇编语言的特点,能够看懂汇编语言能够通过汇编语言,联系起高级语言,推测出每一行汇编代码的意义用汇编相关知识拆除六颗炸弹以及发现隐藏炸弹并进行拆除**三、实验环境:**Ubuntu12.04环境,gdb-peda四、实验内容及操作步骤:题目审阅打开文件夹,出现如下文件:其中bomb是可调式文件,bomb.c文件是“源文件”,README是一个文档。bomb无法直接打开以及README没有内容,因此首先查看bomb

2021-05-09 23:39:13 1300

原创 计算机系统bomb实验:隐藏关secret_phase详解

计算机系统bomb实验:隐藏关secret_phase详解我们解完六个关卡后似乎程序已经运行完成了,说明隐藏关卡还需要一定的条件才能触发,那么我们首先就要先去找到触发隐藏关卡的条件。我们看到bomb.c文件,每段phase函数运行完成以后又会运行一个phase_defused()函数,这个函数我们在上述拆炸弹过程中都没有用到,自然它的嫌疑就很大,故我们先看看这个函数的具体内容:Dump of assembler code for function phase_defused:=> 0x080

2021-05-07 20:08:50 2305

转载 Linux32位寄存器

通用32位CPU 常用寄存器及其作用目录32位CPU所含有的寄存器数据寄存器变址寄存器指针寄存器段寄存器指令指针寄存器标志寄存器运算结果标志位进位标志CF(CarryFlag)奇偶标志PF(ParityFlag)辅助进位标志AF(AuxiliaryCarryFlag)零标志ZF(ZeroFlag)符号标志SF(SignFlag)溢出标志OF(OverflowFlag)32位CPU所含有的寄存器4个数据寄存器(EAX、EBX、ECX和EDX)2个变址

2021-05-05 14:51:44 233

原创 递归汇编代码规律的总结:

递归汇编代码规律的总结:Dump of assembler code for function func4: 0x08048c4f <+0>: sub esp,0x1c %开辟栈空间 0x08048c52 <+3>: mov DWORD PTR [esp+0x10],ebx 0x08048c56 <+7>: mov DWORD PTR [esp+0x14],esi 0x08048c5a <+11>:

2021-05-04 13:47:56 306

原创 Linux常用汇编指令

一、 数据传输指令1. 通用数据传输指令mov 传送字或字节(movb 传送字节movw 传送字movl 传送双字movq 传送四字movabsq 传送绝对的四字)movsx 先符号扩展,再传送movzx 先零扩展,再传送cltq x86-64把%eax符号扩展到%raxpush 把字压入堆栈pop 把字弹出堆栈PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,

2021-05-02 20:36:26 3318

原创 爬虫实战:爬取bilibiliTop100条热门视频信息

爬取bilibiliTop100条热门视频信息对于信息的爬取可以分为三个步骤进行处理,分别是获取网页、获取和解析数据最后保存数据。于是我们的主函数的框架如下:def main():# 1. 获取网页 baseurl = "https://www.bilibili.com/v/popular/rank/all"# 2. 获取和解析数据 datalist = getData(baseurl)# 3. 保存数据 savepath = "./B站热门视频.x

2021-04-28 15:13:54 5893 4

原创 集成学习

8. 集成学习集成学习通过构建并结合多个学习器来完成学习任务没有时候也被称为多分类器系统等,常可获得比单一学习器显著优越的泛化性能。8.1 个体与集成上图我们可以形象的看出,集成学习的基本架构,就是由T个个体学习器分别进行学习,然后通过某种策略将它们结合在一起。个体学习器一般通常是由一个现有的学习算法中从训练数据产生,例如C4.5决策树算法,BP神经网络算法等,如果此时集成中质保函同种类型的个体学习器,那么称之为“同质”,在“同质”中的个体学习器亦成为“基学习器”,反之称为“异质”和“组件学习器”

2021-04-26 00:41:30 622

原创 EM算法

EM算法EM(Expectation-Maximization)算法是一种常用的估计参数隐变量的利器,也称为“期望最大估计算法”,是数据挖掘的经典算法之一。EM算法主要应用于训练样本不够完整,即存在隐变量时的情形,通过其“E步”和“M步”的不断循环直至收敛可以得到较好的估计值。EM的算法思想EM算法是一种迭代式的方法,其基本思想是:如果参数θ已知,则可以根据训练样本推断出最优隐变量Z的值(E步),反之,如果Z已知,我们又可以方便地对θ做最大似然估计(M步)EM算法数学推导对于一般样本完整的情形,

2021-04-25 08:55:14 421

原创 罗密欧与朱丽叶的迷宫问题----回溯法

罗密欧与朱丽叶的迷宫问题 **问题描述:** 罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个m×n的迷宫中,如图所示。每一个方格表示迷宫中的一个房间。这m×n个房间中有一些房间是封闭的,不允许任何人进入。在迷宫中任何位置均可沿8 个方向进入未封闭的房间。罗密欧位于迷宫的(p,q)方格中,他必须找出一条通向朱丽叶所在的(r,s)方格的路。在抵达朱丽叶之前,他必须走遍所有未封闭的房间各一次,而且要使到达朱丽叶的转弯次数为最少。每改变一次前进方向算作转弯一次。请设计一个算法帮助罗密欧找出这样一条道路。

2021-04-22 20:51:31 4194 1

原创 布线问题----回溯法

/* 布线问题: 回溯算法 观察题目要求,需要在所有不同的排序中找出成本最低的的一种排线方式,成本计算公式:dist(r,s) * (求和)conn(i,j) 由于回溯其实也是一种暴力算法,不过多加了一端判断条件导致可以遍历较少的情况数 回溯问题无非就两种:1. 子集问题 2. 全排列问题 显然这个是一种全排列问题,直接可以利用Perm算法来解决*/#include <iostream>#include <fstream>using namespa.

2021-04-22 20:09:31 1805 1

原创 深入了解计算机系统-实验二APP Data Lab-较详细解释

计算机系统实验二APP Data Lab实验题目:APP Data Lab实验目的:我的目标是修改bits.c文档,完成所有函数的编写,利用dlc和btest两个工具通过所有的测试实验环境:Ubuntu12.04环境实验内容及操作步骤:1.bitAnd函数a.函数要求bitAnd - x&y using only ~ and |Example: bitAnd(6, 5) = 4Legal ops: ~ |Max ops: 8Rating: 1b.函数功能能够实现并返回两个

2021-04-12 19:57:00 2393

原创 汇编笔记Linux(x86-64)

常用用法gcc -Og -S XXX.c 将.c程序编译器生成.s的汇编代码gcc -Og -c XXX.c 将.c程序经过编译器和汇编器申城二进制的.o文件.o文件中使用gdb用x/14xb XXX(函数名)可以查看在该所处地址开始14个十六进制格式表示的字节objdump -d XXX.o #这样就可以查看二进制文件的反汇编代码反汇编器:它只是基于机器代码文件中字节序列来确定汇编代码,实际上是不需要访问汇编代码和源代码的反汇编器使用的指令命名规则与GCC生成的汇编代码使用的有些细微的差

2021-04-03 21:32:01 572

原创 机器学习实战分享:stroke-prediction

机器学习的第二次实战分享:Task&Data来源:https://www.kaggle.com/fedesoriano/stroke-prediction-dataset参考链接:https://www.kaggle.com/ivangavrilove88/stroke-fe-smote-technique-17-models#Introduction主要介绍:这个Task是让你根据已有的数据设计一个良好的模型,用来预测一个人是否会患上stroke,以上就是这个任务的简单介绍,这个结果需要包含

2021-04-03 20:31:10 1844 3

原创 BP神经网络

个人笔记…待更新

2021-01-27 13:21:01 86

转载 BP神经网络隐含层节点数的确定

BP神经网络隐含层节点数的确定(1)构造法首先运用三种确定隐含层层数的方法得到三个隐含层层数,找到最小值和最大值,然后从最小值开始逐个验证模型预测误差,直到达到最大值。最后选取模型误差最小的那个隐含层层数。该方法适用于双隐含层网络。(2)删除法单隐含层网络非线性映射能力较弱,相同问题,为达到预定映射关系,隐层节点要多一些,以增加网络的可调参数,故适合运用删除法。(3)黄金分割法算法的主要思想:首先在[a,b]内寻找理想的隐含层节点数,这样就充分保证了网络的逼近能力和泛化能力。为满足高精度逼近的要

2021-01-27 11:19:29 16672 1

原创 实验七 字符串 炸弹

实验七 字符串 编程题 炸弹【问题描述】 这是一个军事阵地,为具有 n × m 个分块单元的方形区域,每个单元既可以是空(用“.”表示),或者可以被墙(用“*”表示)占用。 有一颗炸弹,如果将其放在单元 (x, y)上,引爆后将摧毁 x 行和 y 列上所有的墙。 请确定放置并引爆一颗炸弹是否可以摧毁所有的墙,其中炸弹可以放置在空的单元,也可以放置在被墙占用的单元。【输入形式】 输入的第一行一个整数 T,表示测试用例数。 对于每个测试用例,输入的第一行包含两个整数 n

2021-01-05 11:34:32 1398 2

原创 小希练打字

实验七-字符串-小希练打字【问题描述】小希打字太慢了,因此他在苦练打字技巧。他用了一个教学 App,可以一个个显示自己打出来的英文单词。当小希输入一个词时,他需要花0.2 秒输入第一个字母。而对于接下来的每个字母,如果在标 准指法下和前一个字母使用同侧手输入,则需要 0.4 秒;否则只需 0.2 秒。输入一个词所需的时间 为输入每个字母所需时间之和。不过,如果小希之前练过这个词,那么所需的时间可以降为初次 输入时的一半。小希输入的内容只包含26个英文字符(区分大小写),字符要求按照标准指法规定输入,

2021-01-04 19:55:39 255

原创 memset和fill函数的使用心得

memset函数它的内容在头文件cstring中按照字节来给进行赋值,显然一般用来给char进行赋初始值。对于常用的对一个数组进行初始化,只能将这个数组的值赋为0或者-1,其它的不行fill函数它的内容是在algorithm中与memset不同它是对单元进行复制,可以对一个区间赋值一个指定的值int arr[100];memset(arr,0,sizeof(arr));//fill相应的用法fill(arr,arr+20,2);//fill也可以对vector进行赋值,具体如下

2020-12-26 20:59:06 154

转载 RAND_MAX笔记

RAND_MAX 指的是 C 语言标准库 <stdlib.h> 中定义的一个宏。经预编译阶段处理后,它展开为一个整数类型的常量表达式。RAND_MAX 是 <stdlib.h> 中伪随机数生成函数 rand 所能返回的最大数值。ISO IEC 9899 2011 (C11)标准中未规定 RAND_MAX 的具体数值。但该标准规定了RAND_MAX 的值应至少为32767。编程的时候,不应该对 RAND_MAX 的具体数值做任何假设。rand 返回 0~RAND_MAX 之间的

2020-12-26 20:33:00 297

原创 数组:拜访朋友

实验七 数组(二)—拜访朋友【问题描述】小希想去拜访一位朋友,他家位于坐标轴的0点,他朋友的家在坐标点 m(m>0)。在这条线路上有多路公交车通行,运行区间位于[x,y]之间,x、y为整数,在该区间内的任意整数点都设有公交站,小希可以在任意站上下。5-1 请编程确定小希是否可以搭乘公交车到达朋友家。【输入形式】输入第1行为两个正整数 n 和 m,表示公交车的线路数以及小希朋友家的位置。接下来的 n 行,每行两个整数a、b,表示每路公交车的起点和终点,输入保证a<b且b<

2020-12-26 14:47:43 544 1

原创 公共钥匙盒(C++结构体)

公共钥匙盒(C++结构体)【问题描述】有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。  钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。  每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走,而不会移动其他钥匙。每次还钥匙的时候,还钥匙的老师会找到最左边的空的挂钩,将钥

2020-12-11 23:27:56 834

原创 青蛙与蚊子(C++结构体练习题)

青蛙与蚊子(C++结构体练习题)【问题描述】 有 n 只青蛙位于坐标轴 OX 上,对于每只青蛙,有两个已知值 xi、ti,表示第 i 只青蛙在坐标的位置(各不相同)以及它的舌头的长度。同样有 m 只蚊子一只接一只的落到坐标轴上,对于每只蚊子,有两个已知值, pj 表示第 j 只蚊子所在的位置,bj 为第 j 只蚊子的重量。青蛙和蚊子表示为坐标上的点。 如果蚊子和青蛙在同一位置或者在右边,青蛙可以吃掉蚊子,它们之间的距离不超过青蛙舌头的长度。 如果有几只青蛙都能在某一时刻吃到一只蚊子,

2020-12-11 23:09:24 1472

空空如也

空空如也

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

TA关注的人

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