自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 问答 (1)
  • 收藏
  • 关注

原创 一文看懂Word2Vec

NLP的目标是要理解语言,而语言的基本单位则是单词word。对于只与0/1打交道的机器来说,他们无法理解单词的实际含义,因此我们需要将单词变为数字,这样才能进行后续的分析计算,而这个过程我们称之为。一个数字显然是无法记录一个单词的完整语义信息的,因此实际我们都是将一个单词映射为一个向量,我们称之为词向量。而我们要介绍的Word2Vec就是word embedding的一个重要算法。但是在真正进入word2vec前,我们先要了解一些前置知识。前人在词向量化上做了很多工作,其中提出了一个很重要的假设——

2023-11-11 15:15:10 129

原创 Fine Tuning和Prompt Tuning的区别

具体实现方法有很多种,如冻结一些层的参数,在原网络中添加一个小型网络Adapter以适应任务(Adapter Training),训练一个小的网络模拟大模型的行为(distillation,知识蒸馏),从原始大模型开始fine Tuning,逐渐减少参数数量(progressive shrinking,渐进收缩)等等方法。如对于一个预训练好的填词大模型,我想要实现的下游任务是文本情感分析,那么对于每个输入,我可以在后面加上“it was __(这里是大模型需要补充的词)”。

2023-10-25 23:50:18 494

原创 Training 1.23

学习内容:cf补题,BUAA winter training 2补题1.Meximum Array(1629c)带删除的MEX(O(logn)):struct MEX{ set<int>st; int cnt[maxn]; multiset<int>mset; void init(){ memset(cnt,0,sizeof(cnt)); for(int i=0;i<maxn;i++) st.insert(i); } void add(int

2022-01-23 19:59:11 393

原创 Training 1.20

学习内容:每日一题补题1.闪烁(Acwing1960)位运算的一些操作:提取出x的每一位:for(int i=0;i<n;i++){ cout << x>>i&1;}

2022-01-23 11:29:32 172

原创 Training 1.19

学习内容:每日一题补题1.金发姑娘和n头牛(Acwing1952)差分+离散化用map的方法:map<int,int>s;for(int i=0;i<n;i++){ scanf("%d%d",&l,&r); s[l]+=x; s[r]-=x;}for(auto& [k,v]:s){ ans+=v; 进行一些其他操作}手写离散化:vector<int>s;int l[maxn],

2022-01-20 00:26:27 182

原创 Training 1.18

学习内容:每日一题补题,数位dp,BUAA训练补题1.贝茜放慢脚步(Acwing1934)二路归并:

2022-01-18 23:55:14 457

原创 Training 1.17

1.Multiply and Rotate(abc235D)cin >> u >> v;g[--u].push_back({--v, i});g[v].push_back({u, i});in[u]++; in[v]++;

2022-01-18 12:41:06 138

原创 Training 1.16

学习内容:cf补题,abc补题1.No Sitting(cf1627B)本题的策略比较好考虑,但怎么实现能输出0-n*m-1的情况是个难题。刚开始我考虑的是可以推导出一个数学公式, 从而直接输出,但不太好推导(要考虑奇偶,还要考虑其他细节),但是注意到由于我们是用计算机解决问题,很多问题我们不需要严格推导出具体是哪一个,直接把四角的位置全比一遍就可以。第二点就是针对这种0-n*m-1都输出的情况,我们可以考虑先计算出所有答案再排序——不要局限于直接算出某个答案。2.粉刷栅栏(Acwing1987

2022-01-17 00:16:55 578

原创 Training 1.9

学习内容:FFT盲猜晚上压轴题会是FFT,打几道FFT例题FFT的题主要就是构造卷积形式,即(截的图别人的图,我的水印我也不知道怎么去掉www)1.力(P3338)翻转:当两个均为正向凑不出卷积时,可以将一个序列的顺序翻转,即f[i]变为f[n-i],从而凑出卷积注意在使用翻转操作时,要注意输出答案时要再翻转一次,即i对应的答案时c[n-i].x本题还有一个点就是精度:(double)(1.0/i/i)的精度更高一些2....

2022-01-09 16:55:06 410

原创 Training 1.8

学习内容:状压dp,概率dp1.状压dp,即用计算机二进制数来记录状态的一种dp。一般用于棋盘问题等。位运算也会常用于状态dp中,常见操作如下:if(((1<<(i−1))&x)>0) //判断x在二进制下第i位是不是等于1。x=x|(1<<(i−1)) //将x二进制下第i位更改成1x=x&(x−1) //把一个数字二进制下最靠右的第一个1去掉if(x&(x<<1)) //判断x是否有两个1是相邻的一般都用dp

2022-01-08 15:33:20 313

原创 Training 1.6

学习内容:思维题最近烤漆比较忙 随缘更1.构造n位数,满足被5^n整除且每一位都是奇数。t为1e4,n为1e5打表观察规律,发现n位的构造与n-1位有关。递推构造。

2022-01-06 21:32:35 283

原创 Training 1.3

学习内容:差分,dp,最短路,tarjan1.有n个城市,m段正在修路(可能重合),问那些站点没有修路。(n<1e6,m<5e5)算法1:差分:对于一段路[l,r],令a[l]+=1,a[r+1]+=-1,使a为差分数组,求前缀和。如果sum[i]>=1则该点正在修路。算法2:并查集:对于一段路[l,r],将l与r合并(f[l]=r),在从前往后扫的时候,碰到l就会直接跳转到r。2.一个关于精度的小知识点,double精度为15位,long double精度20位以上。定

2022-01-03 12:38:24 194

原创 Training 1.2

学习内容:codeforces思维题,dp1.Absent remainder模运算的性质:x%y小于y,故找出数组中最小的元素即可2.回文字串 / [蓝桥杯 2016 省] 密码脱落(P1635)对于许多动态规划问题,原问题并不能简单的找到状态转移关系,我们可以将问题转换,利用题中的一些性质,如本题中的回文串,正着读与倒着读相同,就将问题转化为易于转移状态的动态规划问题。3.膜拜(P1564)线性dp,注意不是n^2算法就一定是二维dp,差用前缀和处理即可4.windy 数(P

2022-01-02 15:22:47 62

原创 Training 1.2

学习内容:codeforces思维题,dp1.Absent remainder模运算的性质:x%y小于y,故找出数组中最小的元素即可2.回文字串 / [蓝桥杯 2016 省] 密码脱落(P1635)对于许多动态规划问题,原问题并不能简单的找到状态转移关系,我们可以将问题转换,利用题中的一些性质,如本题中的回文串,正着读与倒着读相同,就将问题转化为易于转移状态的动态规划问题。3.膜拜(P1564)线性dp,注意不是n^2算法就一定是二维dp,差用前缀和处理即可4.windy 数(P

2022-01-02 15:21:30 195

原创 Training 1.1

学习内容:最短路负环处理,dp与FFT刷题1.负环(P3385)spfa判负环,若有一个点的入队次数>=n则说明有负环。2.守望者的逃离(P1095)考虑到以时间为状态转移,但魔力和跑步同时算比较麻烦,于是可以先算出全用魔力的策略,再迭代一次计算加上跑步的情况。实际上通过计算我们可以知道在这道题中魔法是要优于跑步的,但问题就在于临近结尾的时候,跑步可能会优于魔法,于是采用再迭代一次来实现。3.Interesting Function(cf1538F)可以理解为数位dp也可以

2022-01-01 20:52:38 741

原创 刷题总结(9.30)

1.关于二维数组存放两类数据qsort:array[][0]存放一类,array[][1]存放另一类然后qsort(array,n,sizeof(array[0]),cmp);int cmp(int *a,int *b){ return a[1]-b[1];}

2021-09-30 13:28:37 59

原创 刷题总结(9.23)

1.快速筛质数:for (int i = 2; i <= max_n; i++) { if (!prime[i]) { prime[++prime[0]] = i; // prime[0]记录素数的数量,然后将素数按顺序放置 for (int j = 2; j * i <= max_n; j++) { prime[j * i] = 1; //标记合数 }

2021-09-24 00:27:03 85

原创 刷题总结(9.22)

Tip1:二分查找确实是个有效手段(lower_bound yyds),与其绞尽脑汁想一个O(n)算法不如二分+其他O(nlogn)可行1.Many Oranges(abc195)

2021-09-23 00:38:15 98

原创 刷题总结(9.19)

1.二分查找:(归并加二分快的一批qwq)(坑点很多)int find(int x){ int l=1,r=n+1; while (l<r){ int mid=l+(r-l)/2; if(a[mid]>=x) r=mid; else l=mid+1; } if(a[l]==x) return 1; else return 0;}

2021-09-22 14:14:31 77

原创 刷题总结(9.17)

1.火柴排队(洛谷P1966)1.逆序对的求法之一——归并排序模板:void msort(int l,int r){ if(l==r) return; int mid=(l+r)/2; msort(l,mid); msort(mid+1,r); int i=l,j=mid+1,k=l; while (i<=mid&&j<=r){ if(c[i]>c[j]) { ans=(ans+1ll*(mid-i+1))%mod; //一般逆序对数量都

2021-09-18 00:42:25 138

原创 刷题总结(9.16)

1.Made Up(abc202c)排列组合不一定都是乘法,循环跑一遍加出ans。本题考虑a[i]=b[c[j]]的对数,实际上抽象来看:即每个j对应一个数,每个i对应一个数,找出对应相等的组合,即i对应的每个数字在j对应的数列中出现了几次(主要原理在于排列组合无需考虑具体位置,只需要次数),想到这这题就比较显然了。2.Ringo's Favourite Numbers 2(abc200c)两个数的差是定值==两个数对于定值同余...

2021-09-16 23:45:44 151

原创 刷题总结(9.15)

1.Colorful Candies(abc210c)STL中map的应用:1.适用于大数作为数组下标的情况,用map<int, int>p2.用p.size获取map中非重复元素数量3.p.erase删除元素2.Factorial Yen Coin(abc208b)一道与货币系统有关的题考虑如果货币系统完善,那么优先取数值较大的一定是最优解那么问题关键在于什么样的货币系统具备完善的条件1.若货币面值包含1,该货币系统显然完善2.若货币系统不包含1,但包含

2021-09-15 21:38:22 122

原创 刷题总结(9.14)

1.Distribution(abc214c)Tip1:圈可用2N法,即遍历时采用i=0;i<2*N;i++,,下标用(i+1)%N,注意输入也要i=0;i<N;i++Tip2:vector<int>a = b;复制赋值 本题简单动态规划/单源最短路径,这里着重记录一下单源最短路径dijkstra算法。首先介绍一下链式前向星存图: 1.存储边的信息:int head[MAXN<<1];//head[i]表示以i为头结点的边的...

2021-09-15 00:42:09 191

原创 刷题总结(9.13)

1.Shapes(abc218c):难点在于如何比对两个需要图案是否能通过平移从而一致,考虑找标志点(如左上点),找到两个图案的标志点后,记下两个方向平移的单位,从而比对,另外如果变量超出范围,要考虑未移动的图案是否在此处有‘#’,若有,则也不满足条件。建议在纸上模拟一下。​​写代码时发现的问题:1.error: reference to ‘is_same’ is ambiguous:原因是代码中两个变量重名或者是某个变量或函数与内置库重名了2.二维数组传参,建议设置成全局变...

2021-09-13 23:11:23 132

空空如也

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

TA关注的人

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