自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 Datawhale夏令营机器学习

项目链接:项目链接强调了人工智能在科研领域,特别是在化学和药物研发中的重要性。指出了PROTACs技术在靶向降解目标蛋白质方面的潜力。要求选手使用提供的demo数据集,这个数据集包含了多个与PROTACs降解能力相关的字段。允许选手通过数据增强或自行搜集数据来扩充数据集,并自行划分数据集用于训练和验证模型。赛题介绍部分并没有给出关于数据字段的具体介绍,所以这里对每个数据字段进行解释:数据集包含了多个字段,如(唯一标识符)、(降解能力的标签,0表示降解能力较差,1表示降解能力好)、、、、等,这些都是与PROT

2024-07-04 16:30:06 541

原创 【搜索】BFS

【代码】【搜索】BFS。

2024-05-24 19:24:54 105

原创 【搜索】DFS

搜索:遍历的过程就是一个树DFS——>stack 空间少 无最短性深度优先搜索:搜到头回溯上一个结点再下去直到头 执着1.回溯。

2024-05-24 19:24:24 298

原创 【树与图的bfs】

【代码】【树与图的bfs】

2024-05-24 19:23:16 238

原创 【树与图的dfs】

本题的本质是树的dfs, 每次dfs可以确定以u为重心的最大连通块的节点数,并且更新一下ans。将认为的点(重心)删除,剩余的其余连通块中点的最大值是最小的,输出连通块点数值。也就是说,dfs并不直接返回答案,而是在每次更新中迭代一次答案。这样的套路会经常用到,在 树的dfs 题目中。

2024-05-24 19:22:51 289

原创 【Datawhale夏令营】任务三学习笔记

baseline进行修改优化后并跑通,结果可观如下:调整参数后:参考文章:datawhale开源项目。(1)交叉特征:主要提取流量、上部温度设定、下部温度设定之间的关系;(2)历史平移特征:通过历史平移获取上个阶段的信息;(3)差分特征:可以帮助获取相邻阶段的增长差异,描述数据的涨减变化情况。在此基础上还可以构建相邻数据比值变化、二阶差分等;(4)窗口统计特征:窗口统计可以构建不同的窗口大小,然后基于窗口范围进统计均值、最大值、最小值、中位数、方差的信息,可以反映最近阶段数据的变化情况。

2023-07-30 19:55:54 459

原创 【Datawhale夏令营】任务二学习笔记

具体地,我们可以尝试提取更多特征改善最终结果,这也是数据挖掘比赛中的主要优化方向,很多情况下决定着最终的成绩。这里主要构建了交叉特征、历史平移特征、差分特征、和窗口统计特征;每种特征都是有理可据的,具体说明如下:(1)交叉特征:主要提取流量、上部温度设定、下部温度设定之间的关系;(2)历史平移特征:通过历史平移获取上个阶段的信息;(3)差分特征:可以帮助获取相邻阶段的增长差异,描述数据的涨减变化情况。在此基础上还可以构建相邻数据比值变化、二阶差分等;(4)窗口统计特征:窗口统计可以构建不

2023-07-27 17:35:16 714

原创 【Datawhale夏令营】任务一学习笔记

如果使用的是其他开发环境,如Jupyter Notebook,则可以在相应的框/单元中执行这些命令。使用环境:完成环境的配置后,你可以使用该环境运行你的Python程序。在实施这些步骤的过程中,我们需要根据模型的性质和数据的特点灵活调整,确保每一步的实施都能最大化模型的预测准确性,从而有效解决这个回归预测问题。安装软件包:在激活的环境下,你可以使用conda命令或者pip命令安装需要的软件包。激活环境:创建环境后,需要激活该环境才能使用。关闭环境:当你完成使用环境时,可以关闭激活的环境。

2023-07-22 20:49:02 374

原创 【MySql】sql语句

2023-06-13 09:25:54 80

原创 【MySql】闭包与最小函数依赖集

2023-06-13 09:25:37 129

原创 【Mysql】数据库简答题(全部)

一:数据库管理系统的功能1.数据定义功能(DDL)2.数据组织存储和管理3.数据操纵功能(DML)4.数据库的事务管理和运行管理5.数据库的建立与维护功能6.其他(DBMS与网络中其他软件系统的通信功能,一个DBMS与另一个的数据转换功能,互访互操作)#数据:描述事物的符号记录称为数据。数据是数据库中储存的基本对象。数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户

2023-06-06 20:16:09 2329 2

原创 【MySql】数据库设计过程

>需求分析(收集需求和理解需求,“源”)->概念数据库设计(建立概念模型:"E-R图/IDEF1X")->逻辑数据库设计(建立逻辑模型,“关系模式”包括全局模式和用户模式(外模式))->物理数据库设计(依赖具体DBMS)

2023-05-17 17:21:16 726 3

原创 【MySql】数据建模

菱形框 1对1联系 (箭头直线,联系指向实体) 1对多联系(1端有箭头,多端无箭头) 多对多(无箭头直线) 完全参与联系(双直线)部分参与联系(单直线)【也可以不写箭头在直线旁边标上1、1 1、m m、m 完全参与联系(1...m)部分参与联系(0...m)】区分:表与表的区分、表内数据项的区分、数据项之间关系的区分、表之间关系的区分。从属实体:一个实体的实例的唯一标识需要依赖于该实体与其他实体的联系。实体(实例是实体的值)、属性、关键字、联系。命名:命名表、数据项、表之间的联系。

2023-05-12 18:04:13 998 1

原创 【动态规划】线性DP

一:状态表示:一维dp[i]我们让dp[i]表示为所有以a[i]结尾的严格单调上升子序列长度的Max值。二:状态计算:直接求dp[i]不好求,所以我们以a[ i ]结尾的序列的前一个数存在的情况进行分类dp[i]= max(dp[i], dp[j] + 1) 状态表示:二维 f(i,j) ,从起点到(i,j)的max路径状态计算:左上来的 f[i-1,j-1]+a[i,j] 右上来的 f[i-1,j]+a[i,j] a[ ]为(i,j)的

2023-05-10 21:31:40 453

原创 【CSDN】周赛第49期

为了简化问题,小明列了他个人文件夹(/data)中所有末级文件路径和大小,挑选出总 1.out 通过 大小为 m 的删除方案,求所有删除方案中,删除操作次数最小是多少。一次删除操作:删除文件或者删除文件夹。以字符串的形式给你一个长度为 M 的整数 N,请你计算出对这个数进行一次操作后模 9 的值为 1 的所有可能的不同操作 方式。在一次操作中, 我们可以选择 N 的一个数位 N[i],并把它替换成另一个不同的 0 到 9 范围之内的数 B,两种操作 方式不同当且仅当它们选择的 i 或 B 不同。

2023-05-02 20:31:33 489 2

原创 【每日一题】4978:宠物小精灵之收服

集合:选择收服野生小精灵的方案限制:选择收服前几个小精灵,最大使用的精灵球数量,最大消耗皮卡丘体力值属性:收服的小精灵数量条件:最多统计量:收服的小精灵数量状态定义:dp[i][j][k]:在前i个野生小精灵中选择小精灵捕捉,最多使用j个精灵球,以及k点皮卡丘的体力值,能捕捉到的最多的小精灵的数量。

2023-04-27 22:17:07 1201 6

原创 【动态规划】背包问题

n 个物品,容量为V的背包Vi 体积 Wi 价值(权重)二:01背包每件物品最多只能用1次(要么0次,要么1次)集合划分:f(i,j)=Max(f(i-1,j),f(i-1,j-Vi)+Wi)三:完全背包每件物品都有无限次 四:多重背包每个物品最多有Si个五:分组背包n组,每组只能选1个(原先用二维数组表示状态,可以换成一维数组,用滚动数组(下一层只用到上一层来算,滚动交替计算)的方式。注:动态规划的优化,通常都是对代码或者状态转移方程,做等价变型)

2023-04-26 23:22:18 514 5

原创 【MySQL】数据库完整性和安全性

访问规则表:AccessRule::=(S,O,T,P)S:请求主体(用户),O:访问对象(属性、元组、关系、数据库),T:访问权力(增删改查) P:谓词(拥有权力需满足的条件)完整性四元组(O,P,A,R),O表示数据集合,P表示谓词条件,A表示触发条件,R表示响应动作。收发人员:访问数据库以确认某员工是哪一部门,便于收发工作,只能访问基本信息。指dbms保证的db的一种特性,在任何情况下的正确性、有效性、一致性。每个员工:允许访问自己的记录,以便查询自己的工资情况,但不能修改。

2023-04-23 17:18:46 1203 6

原创 【数学知识】一文学会算法中的数学知识(1.1)

​一.数论1.质数在大于1 的整数,只包含1和本身这两个约数,则称为质数(素数) 2 3 5 7 11 13 17(1)质数的判断试除法(优化)枚举到根号x O(根号x) bool is_prime(int x){ if (x < 2) return false; for (int i = 2; i

2023-04-15 15:59:39 447 7

原创 【STL】一文拿下所有C++stl

1. size() 返回元素个数2. empty() 返回是否为空3. clear() 清空7. []8.支持比较运算,按字典序1. first, 第一个元素2.second, 第二个元素3.支持比较运算,(字典序)1. size()/length() 返回字符串长度2. empty()3. clear()4. substr(起始下标,(子串长度)) 返回子串5. c_str() 返回字符串所在字符数组的起始地址先进先出1. size()

2023-04-08 22:39:34 359 10

原创 【数据结构】哈希表(算法比赛向)

1、哈希表也叫散列表,哈希表是一种数据结构,它提供了快速的插入操作和查找操作,无论哈希表总中有多少条数据,插入和查找的时间复杂度都是为O(1),因为哈希表的查找速度非常快,所以在很多程序中都有使用哈希表,例如拼音检查器。2、哈希表也有自己的缺点,哈希表是基于数组的,我们知道数组创建后扩容成本比较高,所以当哈希表被填满时,性能下降的比较严重。3、哈希表是由链表和数组组成的:链表:增删的效率极高,但是查询的效率极低。数组:查询效率极高,增删效率低。

2023-04-08 17:26:23 1232 11

原创 【每日一题】病人排队

首先,定义一个结构体 Patient,包含病人的编号、年龄和登记的先后顺序。一个长度为 4 的字符串表示病人的编号(每个病人的编号各不相同且只含数字和大写字母),一个整数表示病人的年龄,中间用单个空格隔开。然后,读入病人信息并记录登记的先后顺序。最后,按照排好的顺序输出病人编号。2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。行,按排好的看病顺序输出病人的编号,每行一个字符串。3. 非老年人按登记的先后顺序看病。≤100),表示病人的个数。小理是个热爱生活的孩子。

2023-03-26 14:49:30 1813 6

原创 【数据结构】并查集

对于每个询问指令 Q a b,都要输出一个结果,如果 a 和 b 在同一集合内,则输出 Yes,否则输出 No。M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;接下来 m行,每行包含一个操作指令,指令为 C a b,Q1 a b 或 Q2 a 中的一种。接下来 m 行,每行包含一个操作指令,指令为 M a b 或 Q a b 中的一种。Q1 a b,询问点 a 和点 b 是否在同一个连通块中,a 和 b可能相等;Q2 a,询问点 a所在。

2023-03-25 19:41:58 376 5

原创 【数据结构】Trie

Trie,又称字典树,常用来存储和查询字符串。假定接下来提到的字符串均由小写字母构成,那么Trie将是一棵 26 叉树。根节点为空;字符从最左存入,如abcd一条线,若存入abe,那么就在b点向右延申一条线含点e;从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串;注意是有终点的,如插入abc,查找ab就=0 ,因为abc终点是c,没查入过abTrie树其实是一种用空间换时间的算法,它占用的空间一般很大,但时间是非常高效。

2023-03-25 19:09:50 402 2

原创 【数据结构】栈和队列(数组实现)

【代码】【数据结构】栈和队列(数组实现)

2023-03-24 11:37:13 96 6

原创 【数据结构】KMP

KMP算法是一种字符串匹配算法,可以在 O(n+m)的时间复杂度内实现两个字符串的匹配。所谓字符串匹配,是这样一种问题:“字符串 P 是否为字符串 S 的子串?如果是,它出现在 S 的哪些位置?” 其中 S 称为主串;P称为模式串。

2023-03-22 22:14:44 398 9

原创 【数据结构】单链表与双链表

1.和数组一样,链表也是一种线性表。2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。3.链表中的每一个内存块被称为节点Node。节点除了存储数据外,还需记录链上下一个节点的地址,即后继指针next。

2023-03-20 19:09:06 1029 13

原创 【算法模板】离散化

有许多数分布在数轴上,数的取值范围很广,但是这些数的个数相对来说不是很多,要求对数轴上某个区间上的数进行求和等操作,可使用离散化模版,将数值映射到下标。基本的步骤可以分为:1、用一个辅助的数组把你要离散的所有数据存下来。2、排序,排序是为了后面的二分。3、去重,因为我们要保证相同的元素离散化后数字相同。4、索引,再用二分把离散化后的数字放回原数组。

2023-03-15 12:13:41 571 16

原创 【算法模板】区间合并

给定 n 个区间 [li,ri],要求合并所有有交集的区间。思路:可以将n个区间先按左端点排序,维护一个区间,并将维护区间与后面一个区间进行三种情况的比较(1.后一个区间包含于维护区间;2.后一个区间与维护区间部分相交;3.两个区间不相交),若后一个区间和当前维护的区间不相交时,需要将当前维护的区间存储到结果数组里,并将后一个区间作为新的维护区间,继续以上有关操作。

2023-03-15 11:15:28 341 6

原创 【算法模板】双指针算法

双指针算法的意义是对于两个循环的朴素算法O(n*n)的操作优化到O(n)朴素算法每次在第二层遍历的时候,是会从新开始(j会回溯到初始位置),然后再遍历下去。(假设i是终点,j是起点)双指针算法:由于具有某种单调性,每次在第二层遍历的时候,不需要回溯到初始位置(单调性),而是在满足要求的位置继续走下去或者更新掉。

2023-03-03 22:43:56 196 14

原创 【算法模板】位运算

位运算是二进制的运算,利用好有些题目将实现O(1)复杂度。&:按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|:按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1^:按位异或 若参加运算的两个二进制位值相同则为0,否则为1~:取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0:右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数, 高位补0

2023-03-02 11:06:51 106 6

原创 【算法模板】差分

差分数组:首先给定一个原数组a:然后我们构造一个数组b :使得也就是说,a数组是b数组的前缀和数组,反过来我们把b数组叫做a数组的差分数组。

2023-02-27 22:02:36 127 5

原创 【数据结构课程设计】关键路径问题

1) 任务:设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动。2)基本要求:(1)对一个描述工程的 AOE 网,应判断其是否能够顺利进行。(2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个关键活动所依附的两个顶点、最早发生时间、最迟发生时间。

2023-02-19 11:47:41 2968 27

原创 【算法模板】前缀和

前缀和的算法目的是仅用O(1) 的时间复杂度进行求数组一段区间的和。1、S[i, j] = 第i行j列格子左上部分所有元素的和紫色面积是指(1, 1)左上角到(i, j - 1)右下角的矩形面积, 绿色面积是指(1, 1)左上角到(i - 1, j )右下角的矩形面积。每一个颜色的矩形面积都代表了它所包围元素的和。从图中我们很容易看出,整个外围蓝色矩形面积s[i][j] = 绿色面积s[i - 1][j] + 紫色面积s[i][j - 1] - 重复加的红色的面积s[i - 1][j - 1] + 小

2023-02-16 19:03:30 143 9

原创 【算法模板】高精度问题

说在前面,高精度问题仅针对c;javap与python自带这个函数。将大整数视作一个数组,先存储低位数。vectoradd(vector &A,vector &B) //这里的&是为了提高速度,减少一次数组拷贝{ vector C; int t=0;//t是进位 for (int i = 0; i < A.size()||i < B.size(); i ++ ) // { if(

2023-02-14 17:24:19 141 6

原创 【STL】vector详细介绍(最全)

pop_back()和push_back()一样,都是从vector末尾进行尾行操作。pop_back()每次都会移除一个元素。需要注意的是,如果vector为空,使用pop_back()将会产生异常结果,因此需要empty()来确定vector不为空。定义具有5个重复整型元素,且给出的每个元素初值为1。vector 可以看作是数组容器,一个动态数组,对于指针不太熟悉,可以利用vector实现。a是一个空vector,默认初始化。a包含初始值个数的元素且赋予初始值。定义具有5个整型元素,无初值。

2023-02-14 15:57:11 224 3

原创 a[i]-‘0‘的意义

打个比方,a[1]是‘1’,字符‘1’的ascii值是49。而你想要输出1而不是‘1’(49),那么a[1]-'0'就是49-48,这样就把a[1]存的字符转换成了整数型。这里的a[i]绝对是字符串类型或者字符类型,而字符在电脑里使用ascii码表示,48=‘0’结论:为了将字符数组的数转换成为整数类型。见博主文章,【算法模板】高精度问题。

2023-02-14 14:45:49 839 3

原创 【Java】java基础知识点

11.没有异常的时候,程序会跳过对应的catch块。12.有异常的时候,程序会跳过try中为执行的语句。4.this关键词的作用是调用本类的。5.方法的重载:方法名相同,参数。2.java标识符第一个字符。1.开发java应用程序,7.方法的重写:方法的。8.上转型只能访问子类。9.定义接口的关键词是。3.字符串是否相等用。equals()方法。属性、方法、构造方法。名称、参数、返回类型。

2022-12-08 16:41:34 197 1

原创 【C语言与C++】指针详解、引用、数据结构实现两种语言区别

一:什么是指针int* p=&a;int 和*连在一起,p表示a的指针地址,*p表示a的值。注意:当*p=一个值时,a也会等于那个值。

2022-11-17 12:01:16 1552 3

原创 【算法模板】二分查找例题

根据前文所述的模板方法,通过几道十分典型的例题来深入理解二分(单调(sort)的)模板:如何check();两个模板何时用;stl的普及本博客例题均出自洛谷与部分博主整理目录例一:查找编号例二:A-B数对例三:高考报名例如:upper_bound(a,a+n,a[i]+c) - a 的值就是第一个出现的下标。

2022-11-08 16:12:56 390 5

数据结构课程设计关键路径问题

C语言实现数据结构课程设计关键路径问题,设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动。课程设计说明书 1) 任务:设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动。 2)基本要求: (1)对一个描述工程的 AOE 网,应判断其是否能够顺利进行。 (2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个关键活动所依附的两个顶点、最早发生时间、最迟发生时间。

2023-02-18

c语言入门详细笔记(包含指针){原创}

此文件为c语言详细笔记,后续会总结结构等等部分。欢迎关注指正收藏点赞!转载需申请,不得私自盈利,谢谢大家(此文件仍在修改部分)欢迎关注指正收藏点赞!

2022-05-07

空空如也

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

TA关注的人

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