自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hanserdaisuki的博客

一个OI蒟蒻的博客

  • 博客(137)
  • 收藏
  • 关注

原创 Pytorch学习笔记#2: 搭建神经网络训练MNIST手写数字数据集

搭建神经网络训练MNIST手写数字数据集

2023-03-06 14:44:16 571 1

原创 Pytorch学习笔记#1:拟合函数/梯度下降

拟合函数/梯度下降

2023-03-01 09:32:57 608

原创 Transformer机制学习笔记

Transformer机制学习笔记,学习自李宏毅老师的课

2023-02-14 11:05:29 570

原创 ChatGPT (可能)是怎么炼成的

chatGPT的生成步骤1.学习文字接龙2.人类老师引导文字接龙方向3.模仿人类老师的喜好 4.用增强学习像模拟老师学习

2023-02-11 19:11:25 7576

原创 Attention机制 学习笔记

Attention 的本质是什么Attention 的3大优点Attention 的原理

2023-02-11 17:42:10 658

原创 neural collaborative filtering 阅读笔记

本文主要介绍了一种一种基于神经网络的技术,来解决在含有隐形反馈的基础上进行推荐的关键问题————协同过滤。

2023-01-26 09:37:46 962

原创 Bayesian Personalized Ranking from Implicit Feedback 阅读笔记

BPR主要用于基于隐式反馈(implicit feedback)的Item Recommendation。尽管有很多做同样事情的算法比如matrix factorization, knearest-neighbor。但他们并不是直接对于物品排名本身进行预测的。而BPR则是通过贝叶斯分析得到最大的后验估计量来预测排名。我的理解就是,MF,KNN算法是预测出用户对每个item的感兴趣程度,然后排名,而BPR则是通过预测用户对A的兴趣大于B的概率,从而预测排名。

2023-01-25 15:36:45 714

原创 牛客2022暑期集训第一场C题 Grab the Seat! 题解

对于一条线,水平向右的直线和它自身形成的夹角,是一定被视线遮挡的,而两条线确定的,刚好就是这两个相邻区域的并集。代码中在分子又额外减一是为了防止结果刚好在整数点上,导致计算错误,因为这个点实际上也是被遮挡的。我们计算每一行没被覆盖的点。然后计算出左上,左下的线分别的结果。k$个座位已经有人,求出到屏幕的视线不被任何人挡住的座位数量。一个人挡住的区域是它与屏幕两端连线所形成的夹角区域。可见视线遮挡是被两条线段确定的,但是实际上,所以我们逐行处理的时候,保存斜率最大的直线。表示斜率最大的线来在第。.......

2022-07-21 11:12:23 244

原创 牛客2022暑期集训第一场I题 Chiitoitsu 题解

那么假如我们抽上来一张能配对的牌,那么此时手中单牌就会减去2(配对一张,弃掉一张)。而我们无论是否抽到配对的牌,牌库数量都会减去1。不难发现,我们只要是弃掉单张的牌,不管弃掉哪一张,对结果都是没有影响的。所以我们的策略就是只要抽上来的牌无法和手牌中的牌配对,那就弃掉这张抽上来的牌。而在此题中,胡牌的牌型只有7个对子,即7对相同的牌(每对之间不同)。初始抽13张牌,之后抽一张,若胡牌,则结束。假如我们还差三对牌就能胡牌(即6张单牌),那么我们的任务就是。给定起始手牌,求能够胡牌的期望回合数。......

2022-07-21 10:40:56 195

原创 SVD奇异式分解应用于图片压缩

SVD奇异式分解用于图片压缩

2022-07-17 22:31:16 686

原创 Factorization Machines 因式分解机 论文学习笔记

论文学习笔记

2022-07-17 22:12:35 486

原创 推荐算法: SVD++ 协同过滤 代码实现

代码实现

2022-07-17 22:06:56 686

原创 推荐算法: SVD协同过滤 代码实现

SVD协同过滤的代码实现

2022-07-14 15:44:25 454

原创 Factorization Meets the Neighborhood: a MultifacetedCollaborative Filtering Model 阅读笔记

看论文时做的笔记

2022-07-13 09:18:28 733

原创 Python tkinter库

专业课学的python tkinter库

2022-06-03 15:51:09 13165 2

原创 【Codeforces】1671E Preorder 题解

题目大意给定一个n(1≤n≤18)n(1 \le n \le 18)n(1≤n≤18)层的满二叉树。每个节点上有一个字母A或者B。定义一个树的字符编号为:该节点的字符编号 + 左子树的字符编号 + 右子树的编号(叶子节点的字符编号就是它本身的编号)。而你可以随意交换任意个节点的左右子树。给定一个树的初始字符编号,求一共可以产生不同的字符编号的数量(对998244353998244353998244353取模)题目链接思路设f[x]f[x]f[x]为子树xxx可以产生的方案数,它的子节点编号分

2022-05-19 16:38:34 219

原创 【Codeforces】1661D Progressions Covering 题解

题目大意给定包含nnn个数的数组a,ba,ba,b,其中aaa初始均为000。我们每次操作可以在aaa中选择一段连续的数,使其每个数分别加上1,2,3,4,5,...,k1,2,3,4,5,...,k1,2,3,4,5,...,k。给定a,b,k(1≤k≤n≤3∗105,1≤bi≤≤1012)a,b,k(1 \le k \le n \le 3 * 10^5, 1 \le b_i \le \le 10^{12})a,b,k(1≤k≤n≤3∗105,1≤bi​≤≤1012),求使得ai≥bi(1≤i≤n)a

2022-05-14 16:15:11 296

原创 【Codeforces】1668D Optimal Partition题解

题目大意给定一个长度为nnn的数组a(−109≤ai≤109)a(-10^9 \le a_i \le 10^9)a(−109≤ai​≤109)。我们可以把它分割成任意个连续的子序列。每个子序列sk=al...ars_k = a_l...a_rsk​=al​...ar​会有一个权值:∑j=lrai>0\sum_{j=l}^{r}a_i > 0∑j=lr​ai​>0,则权值为r−l+1r - l + 1r−l+1∑j=lrai=0\sum_{j=l}^{r}a_i = 0∑j=lr

2022-05-14 09:59:55 241

原创 【Codeforces】1659D Reverse Sort Sum 题解

题目大意给定一个长度为nnn由0,10,10,1组成的序列。然后进行nnn次操作,第iii次操作会把前iii个数升序排序。比如0,1,0,10,1,0,10,1,0,1,444次操作形成的序列分别是[0,1,0,1],[0,1,0,1],[0,0,1,1],[0,0,1,1][0,1,0,1],[0,1,0,1],[0,0,1,1],[0,0,1,1][0,1,0,1],[0,1,0,1],[0,0,1,1],[0,0,1,1],然后每一位分别相加为[0,2,2,4][0,2,2,4][0,2,2,4]

2022-05-13 18:45:03 259

原创 【Codeforces】1659C Line Empire 题解

题目大意在一条坐标轴上有nnn个点需要占领,每个节点在xix_ixi​,初始节点在000处,且基地也在000处每次行动时,设当前基地在ppp处,那么可以做以下行动:把基地移动到一个已经占领的点xix_ixi​,耗费a∗∣xi−p∣a * |x_i - p|a∗∣xi​−p∣占领一个没有被占领的节点,消耗b∗∣xi−p∣b * |x_i - p|b∗∣xi​−p∣给定a,b,xi(1≤n≤2∗105,1≤a,b≤105)a,b,x_i(1\le n \le 2*10^5, 1 \le a, b

2022-05-13 14:10:58 236

原创 Python 文件与文件夹操作

os模块chdir(path) 把path设为当前工作目录curdir 返回当前文件夹environ 包含系统环境变量和值的字典extsep 当前操作系统所使用的文件扩展名分隔符get_exec_path() 返回可执行文件的搜索路径getcwd() 返回当前工作目录listdir(path) 返回path目录下的文件和目录列表remove(path) 删除指定的文件,要求用户拥有删除文件的权限,并且文件没有只读或其他特殊属性rename(src, dst) 重命名文件或目录,可以实现文

2022-05-09 15:30:20 1039

原创 Python 文件内容操作

文件的分类文本文件:储存的是常规字符串文件,通常以’\n’作为每行的结尾。(常规字符串指的是其他编辑器可以直接编辑,且人类可以直接阅读的文本,如英文字母、汉字、数字字符串)二进制文件: 二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通字处理软件直接进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取、显示、修改或执行。常见的如图形图像文件、音视频文件、可执行文件、资源文件、各种数据库文件、各类office文档等都属于二进制文件。文件操作基本流程四个

2022-05-09 11:06:07 2399

原创 【POJ】2828 Buy Tickets 题解

题目大意有nnn个人前来排队,第iii个人编号为val[i]val[i]val[i],来了之后会站在队伍中第p[i]p[i]p[i]个人后面,问最后的队伍是什么样子的。题目链接思路我们注意到,每次有新来的人来插队,他只会影响到已经在队伍中的人的占位,而之前的人的占位不会影响后面的人的占位。而对已经在队伍中的人做修改,时间复杂度较高,我们不妨反着考虑。从最后一个人开始,往前考虑。此时对于每个人的位置,我们只需要看有多少个人站在了它前面。这样我们就从修改多个人的位置,变成了维护后来的人对前面的人的

2022-04-28 09:28:59 404 1

原创 【POJ】2528 Mayor‘s posters 题解

题目大意在只考虑长度的情况下,先后放置nnn个海报,每个海报的范围是[l,r][l,r][l,r]会覆盖下面的海报,问最后能看到几个海报。题目链接思路我们可以用一个数组来表示整个区间,每次放新的海报(第iii张),就把对应区间的数字改为iii。而这种区间修改我们可以直接用线段树来做~~(珂朵莉树也可以)~~而由于区间范围比较大,我们要离散化区间。另外需要注意的是,由于是区间覆盖问题,所以普通离散化会出问题,比如:[1,6],[1,3],[5,6][1,6],[1,3],[5,6][1,6]

2022-04-28 09:00:10 293

原创 【HDU】6435 CSGO 求K维曼哈顿距离下距离最大点对

题目大意给定nnn种主武器和mmm把种武器,每种武器都有一个攻击力SSS和kkk种副属性aia_iai​。选择一种主武器和一种副武器,使得Sm+Ss+∑∣am[i]−as[i]∣S_m + S_s + \sum |a_m[i] - a_s[i]|Sm​+Ss​+∑∣am​[i]−as​[i]∣最大化。题目链接思路∑∣am[i]−as[i]∣\sum |a_m[i] - a_s[i]|∑∣am​[i]−as​[i]∣这个东西,其实就是高纬度的曼哈顿距离。二维曼哈顿距离是我们最常见的∣x1−x2

2022-04-25 10:56:30 237

原创 【ICPC】2022 昆明站 D题 题解

题目大意定义一种序列的合法划分:从左往右依次选择,可以把该数归到SASASA中,或者SBSBSB中,假如随意划分,有2n2^n2n中划分方法,但需要满足:SASASA 是不严格递增序列SBSBSB 是不严格递减序列一个序列有很多种合法的划分,现在给定kkk,请构造一种序列,它的合法划分数刚好是kkk题目链接思路我们需要找到一种方便计算其结果的构造考虑一个不严格递增序列1,1,1,2,2,2,2,2,3,3...x,x,x1,1,1,2,2,2,2,2,3,3...x,x,x1,1,1,

2022-04-24 12:23:08 1446 2

原创 【ICPC】2022 昆明站 B题 题解

题目大意给定一个W∗HW*HW∗H的方格矩阵。和nnn的小方格阵,每个覆盖了左下角为xi1,yi1x_{i1},y_{i1}xi1​,yi1​,右上角为xi2,yi2x_{i2},y_{i2}xi2​,yi2​的方格。每一步会等概率随机选择一个方格阵(包括被染色的),把它全部涂黑,问把W∗HW*HW∗H的方格矩阵全部涂黑的期望步数是多少?题目链接思路考虑一个简化模型,nnn个方块,每次等概率随机染黑一个,问期望步数是多少?设f[i]f[i]f[i]为已经染黑了iii个方格后,再全部染黑的期望

2022-04-24 11:25:49 678 1

原创 【ICPC】2022 昆明站 G题 题解及推导思路

题目大意有nnn个豆子排成一排,每个豆子有pip_ipi​的概率被选中.每次随机选一个豆子,将其放到最前面,每次操作的代价是该豆子前面豆子的个数,问在操作无限次后再操作一次,操作代价的期望是多少?题目链接思路我们设经过无数次操作后,编号为iii的豆子前面豆子的数量期望是cnticnt_icnti​。那么答案就是∑pi∗cnti\sum p_i * cnt_i∑pi​∗cnti​那么怎么求cnticnt_icnti​呢?我们就需要两两计算了。第iii个豆子在第jjj个豆子之前,那么就说明我们在i,

2022-04-23 20:51:09 1812 4

原创 【ICPC】2022 昆明站 F题 题解

题目大意给定一个nnn个节点的树,每个点有个权值bib_ibi​,任选一条路径,路径上的点至少为222个。求max(∑−x2+bkxv)max(\sum\frac{-x^2+b_kx}{v})max(∑v−x2+bk​x​),其中bkb_kbk​是路径上点的权值,vvv是路径上点的个数,xxx是任意一个自己选择的数。题目链接思路假如bvb_vbv​确定了,它是一个一元二次方程,xxx是自变量,最大值为∑bk24v2\sum \frac{b_k^2}{4v^2}∑4v2bk2​​,那么我们只需要最大

2022-04-23 12:40:10 1532 3

原创 【ICPC】2022 昆明站 K题 题解及推导过程

题目大意G准备玩nnn场游戏,它心中有个胜率x=abx = \frac{a}{b}x=ba​,如果当前赢的局数 / 总局书 小于等于xxx,那么他就会赢,否则它就会输。给定a,b,na,b,na,b,n,求他能赢多少局。题目链接思路图中画出了胜场比变化图。如果当前胜场比s>xs > xs>x,那么我们就会输,反之我们就会赢!进行第nnn局时,假如我们知道了此时的sss,那么我们就能得本局是否会赢。那么如何寻找sn−1s_{n-1}sn−1​呢?我们可以发现,它一定在xx

2022-04-23 11:50:15 857

原创 【Codeforces】1665E MinimizOR 题解

题目大意给定n(1≤n≤105)n(1 \le n \le 10^5)n(1≤n≤105)个数ai(0≤ai≤230)a_i(0 \le a_i \le 2^{30})ai​(0≤ai​≤230)。有q(1≤q≤195)q(1 \le q \le 19^5)q(1≤q≤195)次询问:求l,rl,rl,r内任选两个数,它们与运算后的最小值是多少。题目链接思路一个重要性质假设都是kkk位数,若要最小值那么只需要知道最小的k+1k+1k+1个数就可以了,结果由它们产生,证明如下:采用数学归纳法,

2022-04-18 12:01:35 893

原创 Python课程笔记---Python 字符串,相关函数详解

字符串编码GBK2312 是我国制定的中文编码,用两个字节表示中文Unicode 把所有语言同一到一套编码里,不会出现乱码,两个字节表示一个字符,偏僻字用四个UTF-8对全世界需要用到的字符进行了编码,是“可变长编码”,用一个字节表示字母,三个字节表示中文,还有一些是两字节或四字节。Python3.x版本默认使用UTF-8格式编码转义字符在字符串前面加上’r’,或者’R’,表示后面的字符串不进行任何转义。path = r'C:\windows\python.exe'字符串的格式化%

2022-04-18 11:07:15 575

原创 【Codeforces】1665D GCD Guess 题解

思路不能超过30次,所以应该往位运算上靠 (反正我当时是没想到)假设有两个数a=(....000)2a = (....000)_2a=(....000)2​,即二进制以3个零结尾,那么gcd(a,23)=23gcd(a, 2^3) = 2^3gcd(a,23)=23。而假如a=(...100)2a = (...100)_2a=(...100)2​,那么gcd(a,23)≠23gcd(a, 2^3) \not = {2^3}gcd(a,23)​=23。所以我们就借用这种思路。我们用rrr表示我们已

2022-04-16 10:02:07 942

原创 【Codeforces】1665C Tree Infection 题解

题目大意给定一个nnn节点的树,并且认定111号节点为根。初始时,所有节点都是未感染状态,而我们的任务是感染这颗树。每一秒中,我们依次执行以下两个操作:如果一个节点vvv的儿子节点中,至少有一个未感染,那么我们就可以至多再感染一个vvv的儿子节点感染一个任意未被感染的节点输出最少需要多长时间感染所有节点。题目链接思路观察发现,在同一个点的儿子节点是相互联系的,而与其它点没有任何关系。所以,把每个节点的儿子节点分为一组。每一组都至少需要被感染一次,因为病毒会在被感染的组中每一秒都传染一

2022-04-14 09:08:49 666

原创 线性代数几何意义-矩阵乘法、行列式

想写这个东西是因为看了3b1b的线性代数的本质,且学校之前教的线代就是歌姬吧,只会算数,不理解其含义,于是就想写点总结,方便自己复习,如果对这个内容感兴趣,还请看看完整的视频教程,这个博客可能会帮助你记忆。

2022-04-13 10:28:51 794

原创 【ICPC 2022 澳门站】K题 Link-Cut Tree 题解

题目大意给定一个包含nnn个点,mmm条边的图,第iii条边的长度是2i2^i2i。求一条长度最短的环的长度和边的编号,如果没有输出−1-1−1。题目链接思路可以发现,前i−1i-1i−1条边的长度加起来也比第iii条边短。所以我们尽量用前面的边来构成环。那么如何判断是否存在环呢?我们从第一条一条地往图中加边,同时用并查集记录已经连在一起的点,一旦我们加入一条边时,发现链接的两个点已经在一个并查集中了,那就说明把这条边加进去时,就存在了一条环。我们用拓扑排序找到它即可。代码#include

2022-04-12 17:54:59 621

原创 【ICPC 2022 澳门站】F题 Sandpile on Clique 题解

题目大意有一个nnn个点的完全图,每个点上有aia_iai​个饼干。我们可以任意选择一个点,让它给它每个相邻的节点分一个饼干,如果不够,那就无法执行此操作。问我们是否可以一直进行此操作?如果不能,那就输出最终每个点剩余的饼干的数量(即所有点的饼干都不够n−1n-1n−1个)思路其实模拟几次就可以看出规律来,如果我们至少进行了nnn次这个操作,那我们就能一直执行下去。因为每执行了nnn次操作,一定存在一个点,它至少被分了n−1n-1n−1个饼干,也存在一个点,它至少被分了n−2n-2n−2个饼干,紧

2022-04-12 17:05:33 1494

原创 【ICPC 2022 澳门站】A题 So I‘ll Max Out My Constructive Algor... 题解

题目大意给定一个n∗nn*nn∗n的数字矩阵,代表每个点的高度,每个数各不相同,求一条遍历所有的点的路径,要求只能上下左右移动,且高度下降的次数不小于高度上升次数。题目链接思路事实上,随便走一条路,如果高度下降的次数大于高度上升的次数,那么我们就反过来走就行了:)代码#include <cstdio>#include <iostream>#include <vector>#include <algorithm>using namespac

2022-04-12 16:36:59 992

原创 【LibreOJ 】6678 礼物 题解

题目链接思路题目要求在树上求最短路,我们很容易想到LCA来解决。但问题我们需要同时计算能获得的最大值,所以我们需要额外的倍增数组来维护一些值。那么具体是什么呢?假设我们从xxx点出发,到达LCA(x,y)LCA(x,y)LCA(x,y)的时候,进行了买入操作,在LCA(x,y)LCA(x,y)LCA(x,y)到yyy的路上,进行了卖出操作,那么我们就需要直到x−LCA(x,y)x-LCA(x,y)x−LCA(x,y)上的最大值,LCA(x,y)−yLCA(x,y)-yLCA(x,y)−y上的最小

2022-04-06 16:06:26 169

原创 【AtCoder】137C Distinct Numbers题解

题目大意给定一个nnn个数的集合,Alice和Bob轮流操作,Alice先操作,每次选最大的数,将其减少任意值,再放回集合(需一直满足集合中元素互不相同的规定),集合中的数ai≥0a_i \ge 0ai​≥0。谁先不能操作,谁就会输掉游戏输掉。给定n,ain, a_in,ai​,问谁会获胜。原题链接思路这是一道相当妙的博弈论,这个游戏是个ICGICGICG,也就是说,存在必胜策略。我们把数都从小到大排序(每次执行操作后也排序)。我们假设:先手把ana_nan​减少到比an−1a_{n-1}a

2022-04-04 11:22:33 2952

空空如也

空空如也

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

TA关注的人

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