- 博客(57)
- 收藏
- 关注
原创 加电:DETR论文阅读
这篇文章的主要工作在于,是将transformer引入到目标检测这一类计算机视觉的任务中,transformer的优势在于:模型的通用性和高上限(gpt是最好的例子,算力和效果正相关);相较于以往的一阶段、二阶段的目标检测,DETR会抛弃之前的先验框,先验中心点角点这些人工设计的步骤,这个算是transfomer的附加优势,其注意力机制可以解决之前先验框问题。旧的模型中,之所以有先验框很大一部分原因是框的解空间太大了,没必要也难以穷举,于是选择人工设计一些策略来输入一些先验信息。
2024-12-22 15:29:27
473
1
原创 占个坑:业余时间,实现numpy手写MLP
随着近半年的正式工作,一直在做的都是模型后处理相关的,逐渐意识到技术的自我迭代陷入了瓶颈。组里都是搞模型的,对于缺少模型背景的我,很难深刻理解同事将模型和业务结合时好的idear,这使得我难以掌握组里最核心的技术创新。在和导师交流之后,想法还是被支持的,为此我需要开始接触模型,需要更加深刻的认识模型。诚然,回顾之前在csdn更新的文章(python机器学习实战,花书阅读),0到1的突破会很难,但既然导师,同事都支持我个人发展的诉求,愿意给我机会,虽千万人吾往矣。
2024-12-20 17:48:11
376
原创 2022广州站小计
大半夜睡不着,写个游记队伍战绩:四题铜首这场是相当罚做,也说不清楚是出题人的问题还是我的问题,大概率是我的。第一题,看了一眼题目,排列组合,没推出样例,主要是读题也没读出队伍不为空,索性扔给队友了。第二题,还是没读明白(所以自己不敢上手),口胡了个算法队友上机写了。第三题,简单博弈,与我无关,还在帮队友看第二题。第四题数位dp,没深想,主要是队友对于亦或一直比我敏感。我想着多整一道,看了树上背包,但是怎么想都是n3的,题解写利用树上背包技巧,哦打扰了,第一听过。第六题,图上构造,金牌题,算是完全想假了
2022-11-14 01:53:49
271
原创 2022年杭电多校第2场 1001 Static Query on Tree(树链剖分+哈希表差分
这是第二场多校,写完签到题,就开了1001。其实看懂题目之后,思路还是挺快就出现了,当时就给队友口胡了一种算法,如果能把C的子树染色,在把A,B每一个点到1的路径上的全部打上个标记,最后统计一下答案救过了。给定一棵根为1的树,给定点集A,B,C,能被A任意一个到达,B任意一个到达,且能达到C的任意一个的点的数量。本来打算写线段树的,但是想到就只有三种颜色,用点小技巧就可以过了,少写线段树,代码立马缩减90行。果然还是吃了没文化(数据结构)的亏,花了两天在恶补树剖,终于把这题给A了。......
2022-07-26 21:39:15
551
原创 Codeforces Round #804 (Div. 2) D. Almost Triple Deletions time limit per test2 seconds (dp好题)
DP好题给定一个长度为n的数组,其中可以通过一个操作使得相邻的两个不同的数移除序列,求经过任意次操作后,最终该序列最大能有多少个相同的数剩余。赛场上拿到这道题,想到了以下几点:对于一段序列,只有当该段序列中出现最多次数的数的次数小于整体一半,那么该段数便可以消去。于是赛场上便开始对这道题开始疯狂贪心。在快结束时,想到n2n^2n2可以去枚举i,j之间的消去性然后转移,到此比赛也结束了。赛后看了大佬的代码,确实,就是将以上两点结合起来,就可以dp了。为了判断1,我们只需要在第二重dp时,倒着扫,.
2022-07-08 09:38:17
185
原创 2022年蓝桥杯国赛c++b组细说
只能说今年的B组国赛的题目让人有些出乎意料。相较于省赛(B组c++),应该是更换了命题人,出题风格更加偏OJ题,虽然比赛过程中勘误不断,但基本都是一些细枝末节的问题,题目意思都还算容易懂(比CCF好懂多了)。就我个人而言,题目难度有些奇怪,本人空了两题,一道概率的(读了二十分钟,没推出样例,感觉推出了样例就可以写一写)。以及最后一题,烂分都骗不了,其他题目就都是中规中矩,称不上思维i题,也称不上暴力题,大多是经典题目改了改。感觉B组题的难度确实下降了,考的知识点也就是树上差分、最短路算法和DP。去年的图
2022-06-18 17:33:27
2633
3
原创 2022年 第十三届蓝桥杯 省赛 c++ B组
起这次题目相较于2021年有了很大变动,最大的变化就是填空题变少了,编程题数量增加。今年的填空题只有两道,还记得去年大一时学长的话,填空题全对就省一了。今年的题型变化导致身边的一些伙伴去年省一(无需编程,会数学即可),今年就无缘国赛。尽管位次同大一一致(弱势C++B组第三),但在体验上确实有所不同,经过了一年的努力,至少省赛的每一道题都具有AK的潜力,(正式省赛时并没有十分重视,环境也比较嘈杂)。接下来,就一起过一遍题目。试题A:九进制转十进制题目很蓝桥,手算,计算器算都可,值得一题的是,蓝桥
2022-05-03 15:56:39
3180
原创 Codeforces Round #672 (Div. 2)Pokémon Army(c1+c2)
题目传送门题目大意:给出一个序列 a,要求求出一个单调递增的下标序列 b,使得 ans=ab1−ab2+ab3−ab4+…ans=a_{b_1}-a_{b_2}+a_{b_3}-a_{b_4}+\dots ans=ab1−ab2+ab3−ab4+… 最大,输出这个最大值。接下来有 q 个操作,每个操作为一个二元组 (l,r),交换 al与ara_l 与 a_ral与ar。求出交换后最大的 ans。其中c1 c2的区别在于c1操作数为0解题思路:通过对式子的观察,我们会发现找
2022-04-10 16:47:47
237
原创 ACM算法与竞赛基地:蓝桥备战 --- 二分篇
ACM基地:蓝桥备战 — 二分篇什么是二分? 二分是一种搜索策略,类似于高速中学到的梯度下降法,当我们落在某一点是沿着该点斜率,我们可以像最优处移动,二分也是样的策略,但其更加严格,现代算法,如模拟退火,蚁群算法,BP算法针对的都是存在多种最优解,解决的问题也更加宽泛,而作为传统算法的二分,有着更加严格的限制,想要理解二分,必须要对该限制有深刻理解。接下来我们将展开对二分的学习二分查找+二分答案key 1:什么时候能够使用二分分析几道例题的可二分性conduit Packing洛谷题
2022-03-28 22:17:39
638
原创 关于mingw-64 8.1.0 中无法使用万能头文件
之前使用的编译器都是远古版本的 ,不支持c++17和c++20,想着下载个最新版本的mingw-64,就可以成为人上人。配置过程中一切正常,添加环境变量之类的操作都行云流水。直到在使用万能头文件时:在bits包中fs_path.h出现报错no match for 'operator!=' (operand types are 'std::filesystem::__cxx11::path' and 'std::filesystem::__cxx11::path')specialization of
2022-03-26 14:25:37
2260
6
原创 挑战程序设计:Codeforces Round #776 (Div. 3) G. Counting Shortcuts(最短路计数+分层DP)
题目传送门题目大意:给定一张无自环无重边的无向图G,以及起点和终点S和T,边权都为1,求从S到T的路径长度<=最短路长度+1的数量。解题思路由于边权长度恒定为1,因此最短路计数十分简单,利用bfs即可,前时间复杂度为稳定的O(2m)。无需使用spfa或者djstra。当我们获得最短路的数量后,我们就需要考虑对于某一点如何求其最短路+1的路径数量。对于点x,设其距离S的最短路长度为midis,有哪些点会更新该点的最短路+1的数量。假设点x与点y联通:当点y的dis>midis时,
2022-03-09 17:05:21
484
原创 挑战程序设计:Codeforces Round #773 (Div. 2) D. Repetitions Decoding (构造)
D. Repetitions Decoding (构造)题目传送门题目大意:给定一个长度为n的数组,通过操作op将其扩展为新的组数操作op:选定一个位置id,插入两个相同的数c新的数组:能将其分为几段或不分,要求每一段中,前半部分与后半部分相同.输出要求:不可行输出-1可行输出op操作数以及操作以及对新数组的划分解题思路赛场上并没有当成构造题来想,以为是结论题,于是只能罚坐了最终的这个数组长度一定为偶数个。且每种数都为偶数个。那么我们可以排除元素组中存在某数有奇数个的情况。那么剩
2022-03-08 16:39:08
294
原创 《machine learning in action》机器学习 算法学习笔记 支持向量机(Support Vector Machine)
支持向量机(Support Vector Machine)数理证明前置知识:拉格朗日数乘法、对偶问题、核技巧拉格朗日数乘法针对的是约束优化问题:例题:已知x>0,y>0,x+2y+2xy=8,则x+2y的最小值__。解:引入参数λ\lambdaλ 构造新函数L:x+2y+λ(x+2y+2xy−8)x+2y+\lambda(x+2y+2xy-8)x+2y+λ(x+2y+2xy−8)分别对x,y,λ\lambdaλ求偏导:Lx=1+λ(1+2y)=0Ly=2+λ(2+2x)=0
2022-02-06 08:55:52
239
原创 支持向量机(Support Vector Machine)
支持向量机(Support Vector Machine)数理证明前置知识:拉格朗日数乘法、对偶问题、核技巧拉格朗日数乘法针对的是约束优化问题:例题:已知x>0,y>0,x+2y+2xy=8,则x+2y的最小值__。解:引入参数λ\lambdaλ 构造新函数L:x+2y+λ(x+2y+2xy−8)x+2y+\lambda(x+2y+2xy-8)x+2y+λ(x+2y+2xy−8)分别对x,y,λ\lambdaλ求偏导:Lx=1+λ(1+2y)=0Ly=2+λ(2+2x)=0
2022-02-02 22:45:30
816
原创 Codeforces Round #768 (Div. 2) C And Matching(思维构造) D Range and Partition(贪心+动态分割)
C题传送门D题传送门D题赛后一分钟看出来bug,着实意难平,连夜写份题解泄愤,其实D题并不难,只需要注意两个思维点即可。先讲D吧D Range and Partition题目大意给定一个长度为n的数组a,将a划分成K块,每块都是连续的。求一个范围[x,y],且y-x最小。对于每一块都需要满足块中处于[x,y]中的数的数量严格大于不处于块中的数量。思维点思维点1:由于每一块中都需要满足条件,那么每一个中在范围内的数量一定>=不在范围内的数量+1.显然,于是我们可以得出一个对于整体
2022-01-28 01:37:57
798
原创 实战:利用Pytorch复现Deep Residual Learning for Image Recognition中的 Resnet34
在学习了resnet的论文之后,为了便于理解,变想要复现文论中34层的resnet模型。
2022-01-22 15:10:50
2829
原创 残差网络Resnet:Deep Residual Learning for Image Recognition 论文阅读笔记
resnet 的残差网络机制有效的解决了网络退化问题,可以说是深度学习发展史上一座里程碑,于此记录阅读中学习到的。
2022-01-20 22:58:59
4049
1
原创 实战:利用pytorch搭建VGG-16实现从数据获取到模型训练的猫狗分类网络
利用pytorch搭建VGG16,代码中包含了注释和对一些函数的理解。同时附有数据集,教学视频等
2022-01-17 22:35:53
8214
7
原创 花书 《深度学习》 学习笔记 卷积神经网络-理论基础
什么是卷积?为什么使用卷积?卷积的优势的原理是什么?什么是可分离卷积?这篇笔记主要以花书为主,结合大佬的博客,力求从全局的角度学习。
2022-01-15 17:19:53
1074
原创 算法学习笔记 模型的评估与选择
在学习了一段时间的《机器学习实战》后,发现该书针对的是实战,有很多公式推导和原理讲解都一笔带过,于是便购买了周志华的西瓜书进行学习,这篇笔记也多来自西瓜书,主要是熟悉一些概念词。
2022-01-14 14:58:56
592
原创 《machine learning in action》机器学习 算法学习笔记 逻辑回归
主要思想:根据现有数据对分类边界简历回归公式,以此分类。
2022-01-11 23:10:14
334
原创 花书《deep learning》深度学习 学习笔记 深度学习历史趋势
前言部分是对整个深度学习的发展历史的一种俯视,想要进入该领域,对整个发展的起承转合还是需要有一个了解的。从硬编码到机器学习到表示学习到深度学习,这是一个具有时间序列的发展,可以看到深度学习得发展是十分曲折,很有幸,我能站在第三次浪潮之中,希望能窥见大门。
2022-01-10 19:37:14
1384
原创 《machine learning in action》机器学习 算法学习笔记 基于概率论的分类方法:朴素贝叶斯
基于概率论的分类方法:朴素贝叶斯优点:在数据较少的情况下任然有效(但是准确率也属于一言难尽),可以处理多类别问题。缺点:对于输入数据的方式较为敏感。适用数据类型:标称型数据。前置知识:条件概率,贝叶斯决策理论,相互独立相互独立:相互独立是设A,B是两事件,如果满足等式P(AB)=P(A)P(B)P(AB)=P(A)P(B)P(AB)=P(A)P(B),则称事件A,B相互独立,简称A,B独立。条件概率:P(grey∣bucketB)P(grey|bucketB)P(grey∣bucketB)表示
2022-01-09 18:52:12
531
原创 概率期望 绿豆蛙的归宿
绿豆蛙的归宿给出一个有向无环的连通图,起点为 1,终点为 N,每条边都有一个长度。数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点。绿豆蛙从起点出发,走向终点。到达每一个顶点时,如果有 K 条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K。现在绿豆蛙想知道,从起点走到终点所经过的路径总长度的期望是多少?输入格式第一行: 两个整数N,M,代表图中有 N 个点、M 条边。第二行到第 1+M 行: 每行 3 个整数 a,b,c代表从 a 到
2022-01-07 10:04:33
385
原创 《machine learning in action》机器学习 算法学习笔记 决策树模型
决策树模型重要任务:是为了理解数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,这些机器根据数据集创建规则的过程就是机器学习的过程。优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。缺点:可能会产生过度匹配问题。范例:专家系统。如何构造决策树:编写构造树的python代码度量算法成功率递归建立分类器Matplotlib绘制决策树图利用信息论划分数据集,伪代码:IF (整个数据集属于同一个类型) return 类
2021-12-31 22:09:57
932
原创 《machine learning in action》机器学习算法学习笔记 K-邻近算法
K-近邻算法(KNN算法)学习模式:看懂原理,理解核心,读懂代码。原理:存在一个已知标签的数据集,将待分类的数据数据集中的数据进行比较,选出相似度高的前K(一般20)个,这之中出现次数最多的标签就是未知数据的分类。优点:精度高、对异常值不敏感、无数据输入假定。缺点:计算复杂度高、空间复杂度高。数据归一化:#避免因度量单位不同对模型的影响def autoNorm(dataSet): minVals = dataSet.min(0)#获得每一列的最小值 print(minVals
2021-12-31 13:28:34
891
原创 Educational Codeforces Round 120 (Rated for Div. 2) D. Shuffle(组合数学+巧妙去重)
题目传送门题目大意给定一个01字符串和k,你可以选择包含k个1的连续子序列,打乱顺序,问该01字符串最多能有多少种。解题思路显然,当我们选择了一个长度为M的子串,且子串中包含K个1,那么该子串的排列方式可以通过组合数学的方式得出CMKC^K_MCMK 。朴素的想法,我们可以枚举每一种尽可能长的包含k个1的子序列,但是这之中包含了很多重复的。如何去重便是解题关键。我们可以看相邻的两个极长子序列:其中红色的部分就是重复的,当我们用两段极长的排列数减去红色部分的排列数,我们就得到了一段新的不含
2021-12-28 12:47:10
958
原创 nth_element()函数使用
2021年济南站D题,需要求一个序列的中位数。没想到什么更快的方法,于是用了sort(),O(nlogn)O(nlog_n)O(nlogn)。后来看到有佬用了nth_element() O(n)O(n)O(n)。学习一波。nth_element的用法和sort类似,但比sort多了一个参数。nth_element(a+l,a+k+l-1,a+r,cmp);cmp是自定义排序。该函数的作用是将第K小的元素放在第K位,由于K是相对位置,所以要注意下标。#include<bits/st
2021-11-18 11:11:06
927
原创 ACM模板(从小白到ACMer的学习笔记)
这一个弱校大二,从小白到ACMer的学习笔记,主要时用于自己的理解和记录一些自己的模板,基本上囊括了铜牌水准的知识点。
2021-11-13 23:35:36
5232
1
原创 莫队算法---优雅的暴力---自然的算法
莫队算法——优雅的暴力莫队–优雅的暴力,当遇到大量的区间询问时,假如区间的左右下标有着一定的规律,我们可以如何求解?如:[1,3],[1,4],[1,5],[2,5][1,3],[1,4],[1,5],[2,5][1,3],[1,4],[1,5],[2,5]。当然是双指针!其时间复杂度从n2n^2n2下降到o(n)o(n)o(n)。莫队就是这样一个算法,通过预处理询问顺序,来降低时间复杂度。当然,前提是能够预处理,强制在线的题目便与莫队无缘。其预处理流程如下:首先将数据分块,分块大小为si
2021-10-06 12:03:48
213
原创 Codeforces Global Round 16 E. Buds Re-hanging
题目题目大意对于一棵树,定义了一个新的概念:芽。当一个结点的所有子节点都为叶子结点,该结点即为芽,但该结点不能为根结点。现在给定一棵树,可以对该树操作任意次数以下操作:将树的芽转移到其他结点。现要求构造叶子数最少的树,输出其叶子数。解题思路对单一的芽分析:当我们找到了一个芽,我们可以将其转移到另一个叶子处,使得树的叶子数减少。对整体分析:我们将树尽可能的拆成多个芽,如何重组能够使得叶子数最少?将芽放到叶子之后。当我们将一个结点数为x的芽放入到树中时我们可以减少一个叶子增加x-1个叶子,于
2021-09-17 18:59:30
105
原创 离散数学映像笔记
离散数学8.1 图论8.1.1 图的基本概念G = < V, E > 称为图图中结点集合的基数n称为图的阶数无序积 记作A&B={(x,y)∣x∈A,y∈B}A\&B = \{(x, y)|x\in A, y \in B \}A&B={(x,y)∣x∈A,y∈B}无向边:无序对(x,y)(x,y)(x,y)有向边:序偶 <x,y><x,y><x,y>以x为端点的边,称为结点x的关联边从结点x到结点x的成为自环具
2021-09-16 21:01:29
822
原创 挑战程序设计5:Codeforces Round #742 (Div. 2) E - Non-Decreasing Dilemma 思维+线段树(不走寻常路)
题目题目传送门题目大意给定一个长度为n 的序列a=[a1,a2,......,an−1,an]a=[a_1,a_2,......,a_{n-1},a_{n}]a=[a1,a2,......,an−1,an]和q次操作。操作1:将axa_xax 更改为y。操作2:询问[l,r]的子序列中的为不降序列的。子序列:连续序列解题思路长度为1的不降序列 有1个子序列 1长度为2的不降序列 有3个子序列 1 + 2长度为3的不降序列 有6个子序列 1 + 2 + 3长度为4的不降序列 有
2021-09-07 18:37:27
113
原创 爬虫学习笔记
爬虫爬取网页,Requests爬取网站,Scrapy爬取全网,大规模,搜索引擎类人行为可以不遵守robots协议request包含Response和Request两个对象其中,Response包含:属性说明r.status_codeHTTP请求的返回状态,200表示连接成功,404表示失败r.textHTTP响应内容的字符串,即,url对应的页面内容r.encoding从HTTP header中猜测的响应内容编码方式r.appare
2021-08-22 21:15:10
115
原创 挑战程序设计4:Codeforces Round #738 (Div. 2) E. Mocha and Stars(dp+容斥原理)
题目题目传送门愉快的一天从补题开始!题目大意背包问题,给定n个区间,可以从每个区间中选定一个数,满足以下条件:n个数的总和<=m。n个数的gcd==1。求方案数n<=50,m<=105n<=50,m<=10^{5}n<=50,m<=105解题思路先来看一个条件:从n个区间中选定n个数,n个数组成的数小于m,求方案数。去掉区间就是一个背包问题:for(int i=1;i<=n;i++){ for(int j=w[i];j<=
2021-08-22 14:07:12
344
原创 挑战程序设计3:F1+F2 Nearest Beautiful Number(贪心,数位搜索)
题目题目传送门题目大意给定一个数N,要求一个数S,要求:S>=NS>=NS>=NS中出现的数字的种类<=kS_{中出现的数字的种类}<=kS中出现的数字的种类<=kk<10,10000组样例,N<=1e9k<10,10000组样例,N<=1e9k<10,10000组样例,N<=1e9未能过题,但值得思考的代码和思路首先我们可以通过确定哪几位为最终答案的所包含的数字,即先确定答案的组成。一共有C101+C102+…
2021-08-21 17:58:03
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人