自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯急救计划 day2 (2) dp专项

1.首先看评测数据范围,本题数据量只有一百,且题目中给出的变量有三种(绿圈中圈出的,店,花,酒),大概率就是三维的dp,所以考虑状态表示时要想三维的,那么根据经验和题意自然而然就可以想到dp[i][j][k] 为遇到店 i 次, 遇到花 j 次时,所带酒的数量为 k 的方案数。)和转移时需满足的条件,本题可以发现画红线部分即是dp的最后结果 即dp[n][m - 1][1],最后一步为花,即上一步为遇到i - 1朵花;4.转移方程:(1)当前划:dp[i][j] += dp[i - 1][j + 1];

2024-04-11 21:27:49 1532 1

原创 天梯赛模拟选题2

题意:一个外卖员,动态的给出要送外卖的地点,然后算出每增加一个工作点后的最短路程是多少,注意这里有个阅读理解:每次送完外卖后都要回到外卖站去拿下一份外卖,当所有外卖送完后(即最后一次送外卖送完就可以了)不需要回快递站。题意:其实就是让根据中序序列和后序序列建树,然后输出左视图和右视图,左视图就是在层序遍历序列中每一层中最左边的点,右视图就是在层序遍历序列中每一层中最右边的点。这里有两个比较好的思想,一个是建树方式,一个是在建树的过程中对层序遍历序列进行存储。思路:建树方式 + 便建树边层序(看代码即可)

2024-04-11 20:00:03 271 1

原创 天梯赛模拟选题1

2.每一轮统计一下连通子图的数量,若连通子图数量不变或者只是增加了1(就是这个城市被分出去了不影响其他的城市的连通性),则不需发出红色警报,否则需要。思路:1.用并查集来维护连通性,每一轮动态的删掉一个城市,然后通过下一轮(再删掉前i个城市后)重新连边,等价于删掉该城市的所有连边。题意:若删除一个城市(即删掉这个城市和其他城市的连边)后,图的连通性发生改变,则发出红色警报,否则不发出警报。题意:找到一条解放城镇最多(意思就是最短路途径的城市最多),且杀敌数最多的一条最短路,并要记录路径。

2024-04-11 11:54:54 334 1

原创 蓝桥杯急救计划 day2 (1)

2.考虑优化,在最长上升子序列dp转移的条件是 if (a[i] > a[j]),有一个大于的限制关系,而在本题中满足转移的条件是转移关系,可以考虑在顺次dp的过程中,开一个辅助数组,暂存以当前数为结尾的子序列的最长是多少,后面的直接接就可以了。思路:双指针,保证两个指针间距为K,算一个有关c1的前缀和或者是c2的后缀和,以c2的后缀和为例,从后往前统计c2的数量,若是碰到c1,则显然ans += sum(c2)题意:有n种含不同数量包子的蒸笼,每种蒸笼的数量是无限的,问有多少种包子数是凑不出来的。

2024-04-11 10:33:33 374 1

原创 蓝桥杯三天急救计划 day1(2)

2.既然是问最小多少步,可以考虑转化为图论问题,用bfs解决,队列中存的时间点,每一轮bfs的思路是每一层尝试(尝试的含义是若已经被扩展过就跳过)去扩展两次(一次 + 1, 一次 + k),被扩展的时间点的步数就等于当前点的步数 + 1。题意:有两个按钮,一个按钮每按一次时间 + 1, 另一个按钮每按一次时间 + k,问以最优策略按键,任两个时间点(从一个时间点调到另一个时间点)间最少需要按多少次按钮才能调过去,然后在这些最小次数中取一个max。思路:考虑使用并查集,初始化并查集为A数组的数据范围。

2024-04-10 16:54:37 1179

原创 蓝桥杯三天急救计划 day1 (1)

思路:由题意可知,通过这种表示方法,对于每个节点来说它的子节点的链接方式是任意的,可可以发现每个节点的所有子节点链接起来是一定会造成高度贡献的(有几个子节点高度就增加几),题目要求最大,显然答案就是ans = 根节点儿子数 + 儿子中的最大高度。3.剩下的就是模拟的过程了,记录一个上一次订单到达的时间s,和当前的优先级now,优先级减少的量就是当前订单到达的时间和上一次订单到达的时间的差值和0取一个max,增加的数量就是2,特判边界。最低位每有两个1,向次高位进1,次高位每有10个1,向最高位进1。

2024-04-10 12:21:05 1264

原创 利用乘法原理优化,考虑每个独立字母对子串的贡献

转换一下思路:求s所有非空子串的中只出现一次的字母的个数 == 求只出现一次的独立字母对多少子串有贡献,即求有多少子串包含该独立字母。//记录每个字母上一次出现的位置。无长度限制的子串,直接乘即可。故要字母每个字母左边第一次出现的位置和右边第一次出现的位置。这里统计左右两边不同字母的方式还是很有意思的。长度至少为3的子串(加一个判断分讨)该题的记录方式也相当有趣!

2024-03-28 17:15:38 46

空空如也

空空如也

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

TA关注的人

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