自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 求最长公共子序列<洛谷>

我们不妨给它们重新标个号:把3标成a,把2标成b,把1标成c……两个序列的子序列,一定是A的子序列。而A本身就是单调递增的。这样标号之后,LCS长度显然不会改变。换句话说,只要这个子序列在B中单调递增,它就是A的子序列。关于为什么可以转化成LIS问题,这里提供一个解释。当然是B的LIS最长。因此这个子序列是单调递增的。

2023-10-08 18:07:24 36 1

原创 最长公共子序列

b[j]且a[i]、b[j]均不在公共序列中,这种情况可以看成是第二第三情况的任意一种。//设f[i][j]表示序列a[1....i]和b[1....j]的最长公共子序列长度。=b[j],且a[i]不在公共子序列中,则可去掉a[i]=b[j],且b[j]不在公共序列中,则可去掉b[j]//(1)若a[i]=b[j],则a[i]与b[j]在公共子序列中。//所以f[i][j]=f[i-1][j-1]+1。//所以f[i][j]=f[i-1][j]//所以f[i][j]=f[i][j-1]

2023-10-07 14:36:11 28 1

原创 最长上升子序列之二分优化

if(a[i]>b[len])//大于则添加。//值得注意的是b数组存储的不是最长上升子序列。int b[101];//有序子序列的长度。else//小于则替换。//最长上升子序列之二分优化。

2023-10-07 14:13:29 44 1

原创 ACW天才股票

我的思维局限在了贪心,总是想着优化时间复杂度,这提醒着我如果时间复杂度过高用二维店铺去解决问题未尝不是件好事。

2023-09-25 22:54:39 26 1

原创 ACWING小猫爬山

一道基础的dfs剪枝优化,我做了好半天做不出来,其实就是明白题的意思,代码呼之欲出就是写不出来,最后写出来还TLE了。总之就是感觉自己太菜了,写篇题解纪念一下。我掉入了暴力的陷阱,有些现成的条件没用上,只想着去开辟新的空间。灼烧手指,是对我无力的惩罚。

2023-09-25 00:04:56 21 2

原创 爬虫爬取B站某up是否含有另一些up的程序

您好,我刚才给您的代码里的base_url是一个变量,它的值是一个字符串,表示一个网址的最主要的部分。例如,如果up主的uid是19873195,页码是1,那么粉丝列表的url就是`https://api.bilibili.com/x/relation/followers?在Python中,有一个模块叫urllib.parse,它提供了一些函数来解析和组合网址,其中就有一个函数叫urlparse,可以用来从一个网址中提取出base_url。# 定义一个函数,根据up主的uid和页码,获取粉丝列表的url。

2023-09-23 22:35:33 134 1

原创 爬虫爬取4399上所有的火柴人游戏(仅供娱乐)

这段代码里的a_tag[]是用来表示一个a标签的属性或内容的一种写法。- a_tag["href"],表示访问这个a标签的href属性的值,结果是"https://www.bing.com"- a_tag["title"],表示访问这个a标签的title属性的值,结果是"Bing Search Engine"- class="link",表示这个链接属于一个叫做"link"的样式类,可以用CSS来设置这个类的样式。- a_tag["class"],表示访问这个a标签的class属性的值,结果是"link"

2023-09-23 22:32:47 83 1

原创 一个很强的二进制转换器bitset

bitset的常用函数:bitset类提供了一些常用的函数来获取或操作其状态,如count()返回1的个数,size()返回总位数,test(pos)返回某一位是否为1,any()返回是否有1,none()返回是否全为0,all()返回是否全为1,set()将所有位设为1或某一位设为指定值,reset()将所有位设为0或某一位设为0,flip()将所有位取反或某一位取反等。bitset的访问和修改:可以用下标运算符([])来访问或修改bitset对象的某一位,注意下标从0开始,且从低位到高位。

2023-09-23 17:39:49 61 1

原创 很骚的二分(2)

二分插入排序是一种改进的插入排序算法,它的基本思想是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到找到合适的位置插入第i个元素。这样可以减少比较次数,提高排序效率。然后,将排好序的左右两部分合并成一个新的有序数组,方法是使用两个指针分别指向左右两部分的起始位置,比较指针所指向的元素的大小,将较小的元素放入新数组中,并移动指针到下一个位置,直到某一部分全部放入新数组中,再将另一部分剩余的元素依次放入新数组中。

2023-09-22 09:18:54 21 1

原创 很骚的二分

你可以想象一下,如果有一个子段的平均值是10,而另一个子段的平均值是9,那么我们只需要知道存在一个平均值为10的子段就可以了,因为它已经比9大了。题解代码使用的是迭代法,它用两个变量l和r表示当前的搜索区间,然后用一个while循环不断更新l和r的值,直到l和r相遇或者相差很小(小于1e-5)。这是因为题目要求输出的结果是保留三位小数的整数2,而r的值总是比l的值大一点点(因为更新l时用的是l = mid而不是l = mid + 1),所以打印r可以保证不会丢失精度。为什么最后返回的是r而不是mid?

2023-09-22 08:51:28 22 1

原创 可达性统计

从前往后递推的时候,我们需要先计算出每个点的所有前驱点,也就是能够到达这个点的点的集合,然后对于每个点,我们需要遍历它的所有前驱点,把它们能够到达的点的集合按位或起来,得到这个点能够到达的点的集合。而从后往前递推的时候,我们不需要计算每个点的所有前驱点,只需要按照拓扑序列的逆序来遍历每个点,然后对于每个点,我们只需要遍历它的所有后继点,也就是它能够到达的点的集合,把它们按位或起来,得到这个点能够到达的点的集合。// j这个点可以到达自己 f[j][j] =表示从 j出发的点,

2023-09-21 19:24:37 30 2

原创 关于状压dp

比如f[2][1]表示从集合{1}出发,以1为终点的最短距离,它是由f[2-(1<<1)][0]+w[0][1]得到的,即f[0][0]+w[0][1]。这个数组的每一个元素都是由状态转移方程来计算的,即f[i][j]=min(f[i-(1<<j)][k]+w[k][j]),其中k是任意一个在集合i中的点,w[k][j]是从k到j的距离。这个数组的最终目标是求出f[(1<<N)-1][N-1],即从集合{0,1,…f[i][j]=min(f[i][j],f[i-(1<<j)][k]+w[k][j]);

2023-09-17 18:22:22 40 2

原创 关于背包的问题

但是你仔细观察下,你便会发现,f[i][j]在状态转移时两种情况下第一维的转变总是一样的呢(i-1)->i,(ps:这里我抽象了一下下,方便理解),所以我们可以得到,第一维其实是没影响滴,我们通过从1到N的枚举遍历,从f[1]到f[2]到f[3]到....f[N-2]到f[N-1]到f[N],其实就是最大价值的不断递推,所以说既然我们已经遍历到N了,那么其实第一维的影响就没有了。k*v[i]<=j;那么就可以合并咯,f[i][j]=max(f[i-1][j],f[i][j-v[i]]+w[i])

2023-09-13 01:57:38 31 1

原创 bt字符串动态规划

这毫无疑问是最简单的情况吧,其他所有的复杂情况都拜倒在他的石榴裙下,因此可以此情况来添砖加瓦,构成一栋大厦。//dp[i][j]=dp[i-1][j-1] +1或+0 这要看他们第i位和第j位的字符是否相等了。//dp[i][j]是将含i个字符的A字符串转化为含j字符的B字符串所需要的最少步骤。//将含i-1个字符的A字符串进行转换成含j个字符的B字符串为dp[i-1][j]//易得dp[i][j]=dp[i-1][j]+1;//那么如果是dp[i-1][j-1]呢。//接下来是状态转移。

2023-05-17 00:10:55 57

原创 COW EXIBITION G(看完了会浪费时间的博客)

1.不知道背包容积,但是却创造了一个范围内的最大背包容量,然后从最小开始枚举进行状态转移。我看到了一份与众不同的题解,很是巧妙,感兴趣的童鞋可以亲自到洛谷去瞧瞧喔。3.还有就是,任何记忆化搜索都可以转换为状态转移?2.数组右移,巧妙地解决了数组下标为负数的越界问题。有几个值得我去学习的点.4.边界的初始化很重要。

2023-05-16 23:16:13 28

空空如也

空空如也

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

TA关注的人

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