自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在Windows环境下安装pycharm

安装pycharm

2024-07-09 18:32:10 558

原创 HTML | 在IDEA中配置Tomcat时遇到的一些问题的解决办法

在IDEA中配置Tomcat

2024-05-23 21:44:04 366 1

原创 C++ | 常用位运算技巧

如果x为2的幂次方,则x的二进制表示只有一个1,x - 1就有很多个连续的1并且和x的1没有交集,两者与运算一定为0。移位就是二进制移的,表示二进制的第 i 位,结果必然为0或1,结果几表示几。如果x = (010010),则lowbit(x) = (000010)公式:lowbit(x) = x & -x。结果为1说明是奇数,结果是0为偶数。lanqiao OJ 1331 二进制中1的个数。公式:x & (1 << i)公式:x & (x - 1)公式:x >> i & 1。因为1 & 1 = 1。

2024-04-13 00:19:53 314 1

原创 C++ | 双指针(难点对撞指针)

while循环中,我刚开始没有理解的是为什么i > j还要操作,是因为 i 是慢指针,i > j 表示的是不合法j 要++快慢指针是两个指针在同一个方向,同时向另一个方向进行的问题,难点在于需要根据题目中的条件进行两个指针的位置判断。对撞指针顾名思义就是,一个容器最前面和最后面各一个指针,两个指针相向进行,下面是一道例题。sum += a[ ++ j] 就等价于 j ++, sum += a[j];这样只是保证了区间的合法,下面判断值的合法就可以了。回文判定,是返回“Y”,否则返回“N”

2024-04-12 22:19:51 353

原创 C++ | lanqiao OJ 389 摆花(线性DP)

dp[i][j]表示的状态是第i种花第j个位置,要注意的是j和k都是从0开始遍历的。k从0开始是因为上一层k只要

2024-04-12 21:47:56 336

原创 C++ | 动态规划(线性DP)DP入门学习

题解:设状态dp[ i ][ j ] 表示从第i行第j列的元素往下走的所有路径当中最大的和,这代码当中 dp[ i ][ j ] 就是在维护最大的和 ,最后输出dp[1][1]。我最初没想明白为什么是dp[1][1],因为从下往上遍历,且每次取的都是最大值,到最上边就剩下一个dp[1][1],所以就是最大值了。状态转移方程为dp[ i ] = dp[ i - 1 ] + dp[ i - 2 ] ,若果i为破损的,则dp[ i ] = 0。是dp[i][j] 的取值,是状态与状态之间的转移关系,

2024-04-11 21:06:49 1309 1

原创 C++ | 用DFS和BFS实现联通块问题——可解最短路径

对于蓝色的小块而言,四联通块(题目不说一般都是四联通)就是周围红色的区域,是可到达的位置,八联通块是加上黄色的位置。

2024-03-29 19:59:36 486 2

原创 C++ | 由递归入门DFS搜索

输入5等不等于1,不等于进入下一个dfs状态是4,依次递归出来就是5,4,3,2,1;输入5接着进入下一个dfs状态,发现4还不是1,状态就接着保持,然后进入下一个状态,直到进入发现为1时,开始返回上一层状态,依次往上。下图就是一个完整的搜索的递归与回溯的过程。

2024-03-27 21:40:57 339

原创 C++ | lanqiao OJ 3008、3075

【代码】C++ | lanqiao OJ 3008、3075。

2024-03-26 19:50:56 232

原创 C++ | 剪枝(DFS)lanqiao 数字王国之军训排队

正常用DFS写,会遍历每一种情况,因此要判断他的合法性,并且在第十个检测点会超时,用剪枝后,这道题就可以过啦。以下是经过剪枝的算法。

2024-03-25 11:28:05 254

原创 C++ | DFS搜索(回溯法)学习分享

题解:将皇后对应的米字型区域设置成“禁区”,后面的皇后就不能放在“禁区”内,回溯时将禁区取消掉。需要用int数组来表示“一个位置被多少个皇后占了”,当占数为0的时候表示“禁区解除”。在后续搜索中,每次开始时更新最小时间戳(否则会认为7、4之间有环),如果走到已经走到过的点就必须停下。跑dfs求最大的环,用时间戳(dfn),将走过的地方标记一个时间戳(即第几步走到的)。坐标拆成两个一维数组的思想,其实就是表示一个点的上下左右。

2024-03-25 10:45:12 1326

原创 C ++ | 蓝桥题库—异或森林(双指针)

我遇到的问题是完全平方数sq的取值应该是j * j,列举的是前200个完全平方数,因为非平方数明显比平方数要多,采用正难则反的原则。如果是与平方数异或为0的那么证明是枚举到这个平方数了,拿总数减去这个当前平方数。

2024-03-19 12:49:17 409 1

原创 C++ | 蓝桥题库区间或(位运算)

(1 << w)1左移w位相当于2的w次方,prefix[w][r] - prefix[w][l - 1]相当于[l, r]这段距离上有1就让ans加上1,没有就不加。,将答案分成32份(1e9最多32位二进制数)这样才有的prefix[32][N]前缀和数组,求的是第i位数第w位上的和。

2024-03-14 21:55:11 273

原创 C++ | 二分查找(重点二分答案)

常见的二分类型:1. 整数二分2. 小数二分(相对较少)3. 二分答案(最常见)最直接的就是用O(logn)的时间,枚举时间较慢O(n)。小数二分与整数二分的思想相一致,就不在赘述了。

2024-03-11 22:01:10 1339 1

原创 C++ | 基础算法—前缀和和差分

基础算法,前缀和,差分

2024-03-09 21:22:24 699

原创 c++ | 进制转换

1. 以字符串输入。2. 用一个数组a[N]存储相对应的十进制数。3. 最后用long long x = x * k(转换前的进制)+ a[i]以下题目:将十六进制2021ABCD转换为十进制数。

2024-03-08 21:34:37 359 1

原创 c++ | break和continue的区别及用法

也就是第i次的不执行,接着执行第i+1次,并且在一定条件下可以代替else使用,比如以下两段代码表示的意思就是一样的。,也就是从第i次开始后边的(第i+1、i+2、i+3......)都不执行了。

2024-03-07 20:48:23 163

原创 c++ | stl中的map用法 蓝桥1531—快递分拣

map用法,题快递分拣的分享

2024-03-05 17:39:13 360

原创 蓝桥题库—宝藏排序

排序

2024-03-03 14:30:23 125

原创 蓝桥官网—2490小蓝的括号串1

小蓝的括号串1

2024-03-03 14:06:41 448

空空如也

空空如也

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

TA关注的人

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