自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于ember数据集的恶意代码深度学习

笔者刚开始学习相关的知识,根据自己的理解以pytorch为框架复现了论文中的有关代码,并对ember数据集中“train_features_1.jsonl”的十万余条数据进行训练,希望能对和我一样的小白一些参考,并希望得到专业人士及大佬的一些指正。首先ember数据集可以在中下载论文中模型的主要框架为论文一共对二进制的pe文件进行了四组数据的提取,分别是字节熵、直方图、导入函数表、pe元数据信息。首先是读取json文件。

2023-11-07 23:18:26 814

原创 box_iou交并比及assign_anchor_to_bbox个人理解

接上篇文章,李沐沐神的《动手学深度学习》中的show_bboxes还是比较好理解的,于是来看这两个方法以下内容建议对照源代码理解首先我们来设置boxes1和boxes2的初始值设置了第一组的四个锚框的左横,下纵,右横,上纵坐标(详情上一篇文章)和第二组的四个锚框坐标很显然这两个语句将这一组锚框的右横、左横和上纵、下纵坐标表示了出来,而右横坐标-左横坐标便得出了这一个锚框的长,上纵坐标-下纵坐标便得出了这个锚框的宽,相乘便是这个锚框的面积下面的方法便是求一组锚框的面积与上面求得的各个坐标相对应。

2023-09-07 22:28:39 308

原创 multibox_prior函数锚框生成部分个人理解

在最近自学李沐沐神的《动手学深度学习》中,一直在研究这个方法里的代码,属实是差点把我整崩溃了,在网上找了许多参考还是看的很崩溃,在近一周的折磨中找到了一个理解的方法,那就是设置自定义初始值去逐句分析,怕自己忘记,来发一个自己理解的笔记。以上便是我对这个函数研究一周时间的个人理解,肯定包含了许多错误的地方,希望能帮助到大家的同时大家也能指出我的错误。像素的中点横坐标减去锚框的宽,中点的纵坐标减去锚框的高,便是锚框的左下坐标;像素的中点横坐标加上锚框的宽,中点的纵坐标加上锚框的高,便是锚框的右上坐标。

2023-09-01 22:46:24 333

原创 最长子矩阵和 删除最少的元素 回文串 最长公共上升子序列之dp复习

从前向后遍历一遍非上升子序列,再从后向前遍历一遍,dp1+dp2最大的再-1就是已经排好序的数量,用全部的数量减去这个就好了。reverse一下,再查最长公共子序列,得出来的长度就是已经回文的部分。注意dp的状态代表的意义,参考。

2023-01-18 20:07:35 116

原创 最大子数组和 最长递增子序列 最长公共子序列 编辑距离之复习dp

一开始给dp的初始化很有意思,dp[i][j]的意思是第一个字符串的第i号第二个字符串的第j号,所以dp[i][0]要实现两个字符串相等就要进行i步插入。所以dp[i][j] = dp[i-1][j] +1,即继续判断第i-1和第j项。递归每个数之前的数,看前面比它小的数i的dp[i] + 1 哪个更大。哥们记得当初刷dp题都做过,但哥们都忘了怎么做的了,来写个备忘录。所以dp[i][j] = dp[i-1][j-1] +1。所以dp[i][j] = dp[i][j-1] +1。先初始化每个dp都为一。

2023-01-17 22:58:33 620

原创 染色时间 困难 蓝桥杯省赛 2022

所以,整体思路还是用bfs来写,不过相比于传统的队列,我们更希望有一个类似队列而且可以按照时间排序的工具,就是set了,然后在传统的结构体中加入按时间优先排列的重载小于号。也就是右边需要三秒染色,下面需要五秒染色,所以下一个状态就是右边染色成功后四周的也准备染色,染色时间就是这个点需要的时间+3。给定每个方格的染色时间, 在时刻 0 触发第一行第一列的方格染色, 请问 多长时间后整个棋盘完成染色。以样例来说,(0,0)的位置首先花一秒进行染色,接下来待染色的就是(0,1) (1,0)

2023-01-17 13:14:37 909

原创 考勤刷卡 最大和 简单 蓝桥杯省赛 2022

其中 HH:MM: SS 表示刷卡时间, HH 为一个 0 到 23 之间的两位十进制整数 (可能含前导 0 ) 表示时, MM 为一个 0 到 59 之间的两位十进制整数 (可能含前 导 0) 表示分, SS 为一个 0 到 59 之间的两位十进制整数 (可能含前导 0 ) 表 示秒, ID 为一个不含前导 0 的整数表示员工的编号。当小蓝站在方格 p 上时, 他可以选择跳到 p+1 到 p+D(n−p) 这些方格 中的一个, 其中 D(1)=1,D(x)(x>1) 定义为 x 的最小质因数。

2023-01-14 23:17:15 1008 3

原创 全球变暖 简单 DFS 蓝桥杯2018 省赛

其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。

2023-01-13 10:22:15 416

原创 回文日期 中等 模拟 构造 蓝桥杯2020 省赛

也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。

2023-01-11 10:04:04 45

原创 迷宫 简单 填空题 蓝桥杯2019 省赛

对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。要求步数最少就用bfs,node里用string存前面走的方向,又要求字典序最小,就按字典序最小的方向DLRU的顺序走。迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。请注意在字典序中 D

2023-01-07 15:35:18 748

原创 动态规划学习4:5 最长回文子串 三种方法

大体思路:用bool类型的arr [ ] [ ]来表示i到j是否为回文串,用i和j分别向两边遍历,i向右,j从i-1的位置向左。只用一次for循环的算法,大体思路是从i开始向两边扩散,判断一直能扩散多少个对称的字符,然后将这个长度与res的长度作比较。(3)当j-i>2时,当s[i]==s[j]&&arr[j+1][i-1]时,arr[i][j] = true。(2)当j-i

2022-11-10 19:25:20 278

原创 动态规划学习3:116 · 跳跃游戏

0 -> 1 -> 4(这里的数字为下标)是一种合理的方案。给出一个非负整数数组,你最初定位在数组的第一个位置。数组中的每个元素代表你在那个位置可以跳跃的最大长度。1)最后状态,从第i块石头上跳过来(i

2022-11-08 19:43:44 737

原创 动态规划学习2 114 · 不同的路径

机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。把初始化放在嵌套for循环而不是单独初始化效率会更高。有一个机器人的位于一个 m × n个网格左上角。只有一条通往目标位置的路径。问有多少条不同的路径?

2022-11-07 20:26:11 72

原创 动态规划学习1:669 · 换硬币

669 · 换硬币描述给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1.

2022-11-07 19:54:35 350

原创 malloc calloc realloc new的动态内存分配

malloc ,calloc,realloc动态分配内存在堆里,不占用栈的内存,目前看来是更优先的。

2022-11-06 17:11:44 69

原创 c语言学习中对指针的理解

(b + 1)等于把b这个指针移动了一个单位长度,这个单位长度是指向二维数组的长度,也就是说,从b[0]的层面上到了b[1],将跳跃3个int长度,因为每个二维数组 ,中含了三个一维数组,移动了一个单位长度后解引用,就找到了b[1],因为,b本身就是一个指向一维数组的指针,解引用后就变成指向了整型变量的指针,即,b[1]是一个指向整型变量的指针,指向了b[1][0]的地址。a[2] = *(a+2),a代表了指向a[0]地址的一个指针,解引用(a+2)相当于把a[0]的地址向后移动了两个单位长度。

2022-11-03 20:21:09 101

原创 题目 1097: 蛇行矩阵

对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。本题有多组数据,每组数据由一个正整数N组成。蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

2022-11-03 20:16:51 101

原创 题目 1096:扫雷舰

扫雷艇 你玩过扫雷吗?每个方块最多有八个相邻的方块。左侧的 4 x 4 字段包含两个地雷,每个地雷由“*”字符表示。每个字段的第一行包含两个整数 n 和 m ( 0 < n, m$ \le$100),分别代表字段的行数和列数。接下来的 n 行中的每一行都恰好包含 m 个字符,表示字段。n = m = 0 的第一字段行表示输入的结束,不应进行处理。对于每个字段,仅在一行上打印消息字段 #x:,其中 x 代表从 1 开始的字段编号。接下来的 n 行应包含带有“.”字符的字段,替换为与该方块相邻的地雷数。

2022-11-02 20:08:21 513

原创 题目 1094: 字符串的输入输出处理 题目 1095: The 3n + 1 problem

用新的n值重复此过程,当n=1时终止。据推测(但尚未证明),此算法对于每个整数n将在n=1处终止,这个猜想适用于所有整数,至少达到10000000。对于输入n,n的循环长度是生成的数,包括1。给定任意两个数字i和j,你要确定i和j之间的所有数的最大循环长度,包括两个端点。对于每对输入整数i和j,输出i,j的顺序与它们在输入中出现的顺序相同,然后是i和j之间整数的最大循环长度。先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。字符串的输入输出处理。

2022-11-02 19:28:57 96

原创 题目 1004: [递归]母牛的故事

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

2022-11-01 23:33:23 62

原创 C++实现归并排序

C++实现归并排序

2022-10-27 20:26:52 1777

原创 C++实现堆排序

具体的都在代码的注释里,主要是理解递归的思想,还有堆维护,建堆,排序的思路。具体参考上个文章里那位up的视频。

2022-10-27 15:36:49 336

原创 c++实现快速排序

他的图解思路没问题,大概是我才疏学浅,我认为我写的会更好一点,对于我来说,本算法的关键就是掌握好长度与下标的关系,和如何处理好i和j的关系,即如何去把最后那个数放在正确的位置。关于具体的ij问题,可以参考这位up的视频。

2022-10-25 23:37:56 319

原创 判断一年放了多少天假

日历有阳历(公历)和阴历(农历)之分。每年.都有法定节假日,这些分成三类一双休、 阳历节假日、阴历节假日.1.双休3.阴历节假日1)春节:阴历每年1月1日,放假3天2)清明节:阳历每年4月4-6日之间的某天,放假1天3)端午节:阴历每年5月5日,放假1天4)中秋节:阴历每年8月15日,放假1天当节假日和双休重合时,双休不延后也不提前,保证节假日之间不会重合。现在给你某年的所有阴历节假日的阳历日期,以及当年的1月1日是星。

2022-10-25 20:56:15 315

原创 判断n天后为几月几日

记住最后的格式,怎么空余位数用0代替。输入 2016 10 1 100。输出 2017-01-09。

2022-10-24 23:46:02 45

原创 (蓝桥杯)c/c++判断数组中是否含有另一个数组,蔡基姆拉尔森公式,判断星期几

这两个操作,一个是用时间取余7,就是要过了一年/一月的1号是周几,第二个就是把num变成周几,防止加上上一个周几后大于7。注意,每年的1,2月份要当做上一年的13,14月份来算,且均为整除。如果是按照正常的算法来计算周几,取1年1月1日为周一。设星期为w,年份为y,月份为m,日期为d。判断数组中是否含有另一个数组。输入asd asdas d。主要就是要注意如何挨着判断。1.年份非整且能被4整除。2.年份能被400整除。

2022-10-24 20:28:41 1032

原创 (蓝桥杯)c/c++中字符串操作方法及练习

c++里也有length,不过for里尽量不用length,直接int l = str1.length。c++中,字符串结尾必须是’\0’,才能以%s的格式输出,否则还是字符数组,只能以%c的格式输出。将a中的元素复制到a中,然后中间留出一个位置给’A’+1。这里是用strlen(a)来找的,老师牛的。否则会每次读取length,有损效率。横着看将两个元素看成一组,就有4组+1。竖着看将两行看成一组,就有3组+1。有1位大小可以比较就直接完成比较。c++中对字符串的函数。按照这个规律写就好了。

2022-10-23 22:34:12 542

原创 (蓝桥杯)字母/数字三角形的实现

输出类似 A ABAABCBA的三角形

2022-10-21 09:22:04 124

原创 c/java实现希尔排序

c/java实现希尔排序总的来说就是以inc为增量,我认为这里用int有一个非常巧妙的点,就是任何整数除2最后都会变成1,巧妙的运用了int这个只保存整数部分的特性。第一层for是以n/2/2…为增量,逐渐缩小,直到最后增量为1,这时候数组已经部分有序了,只需要再借增量为1来进行一次插入排序就好了。第二层for是从第inc项开始判断,inc和j-inc为一组判断大小,之后判断下一组,简单来说就是把一个增量中的组全部判断完。这种逐渐减少逆序对的方法确实比单纯的插入排序效率要高。

2022-10-19 23:22:43 79

原创 C语言实现冒泡排序

C语言实现冒泡排序

2022-10-03 23:19:28 155

原创 C语言选择排序实现+理解

C语言实现选择排序

2022-10-03 00:00:14 306 1

原创 C语言插入排序简单实现+理解

C语言实现插入排序及个人理解

2022-10-02 14:22:12 355

原创 emmmm,一些想说最后的话

昨天台风来了,停了一天的电那个,第十题是吧。。。。最终是做出来了,按照我的思路也是没有问题。。。不过,题目的思路好像跟我不一样,也就是说,我的思路一开始就错了,做了四天的题竟然一开始就是错的。。。虽然说还有5分我以为是我哪里出错了,去找了找网上的,下面是个例子1234567890009876543211111111111234567890987654321234567890987654321...

2019-08-12 22:27:01 146

原创 做第十题又把心态做崩了

去百度提问了,实在不好意思麻烦csdn的大佬了。。。真的太热情了明天再整不出来我就要开始我的读代码之旅了其实我又看了几道别的题,发现,我都没有头绪我可真是个弱鸡...

2019-08-10 22:43:15 114

原创 写了一晚上第十题

写了一晚上的第十题,还没写完,我太难了,撑不住了

2019-08-08 23:00:45 137

原创 07:有趣的跳跃

07:有趣的跳跃#include <iostream>#include <cmath>#include <algorithm>using namespace std;int main(){ int n,ca=0; cin >> n; long num[n];int num2[n-1]; for(int i=0...

2019-08-06 22:26:37 1242

原创 06:校门外的树

这是我的第六题。。。。没过,显示Runtime Error我当然知道别人不是我这样写的,我又想不出来别的思路,只能想出来这种,最后,它还是没过。。。我只能去看别人的了。。。。下面的别抄,这是错误示范#include <iostream>using namespace std; void sort_arr(int *num,int len);int main(){ ...

2019-08-05 22:01:01 448

原创 04:数组逆序重放 05:年龄与疾病

04:数组逆序重放#include <iostream>using namespace std;int main(){ int n; cin >> n; int num[n]; for(int i=0;i<n;i++){ cin >> num[i]; } for(int i=n-1;i&...

2019-08-04 22:14:57 535

原创 01:与指定数字相同的数的个数 02:陶陶摘苹果 03:计算书费

01:与指定数字相同的数的个数#include <iostream>using namespace std;int main(){ int n,m,size=0; cin >> n; int num[n]; for(int i=0;i<n;i++){ cin >> num[i]; } c...

2019-08-03 21:39:09 282

原创 45:金币

45:金币#include <iostream>using namespace std;int main(){ int d,d1=2,moe=1,mymoe=0; cin >> d; for(int i=1;i<d;i++){ if(d1%moe==0){d1=0;moe++;} //跳过第一天 mymoe...

2019-08-02 21:12:58 666

空空如也

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

TA关注的人

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