第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(自测)

本文回顾了一个解题过程,涉及暴力法、二分查找、深度优先搜索、动态规划等技术的应用,作者分享了在解决问题中的错误思考和纠正,以及对时间复杂度的理解,包括优先队列和动态规划状态转移的理解。
摘要由CSDN通过智能技术生成

做对了1 3题,共得43分

1、2 暴力
3 二分
4(2分,20%) dfs
5(6分,40%) dp
6(6分,45%) dfs
7(8分,40%)尺取
8(6分,超时)优先队列+双向链表
9 未看
10 未看

日期统计

暴力

01串

冶炼金属

二分

飞机降落

dfs

数据量比较少,可以用dfs进行排序

忘记了要记录vis

忘记了要恢复现场,,

错误写法:

time = max(time, q[i].t);
time += q[i].l;
vis[i] = true;
dfs(num + 1,time);
vis[i] = false;

正确写法:

vis[i] = true;
dfs(num + 1,max(time, q[i].t)+q[i].l);
vis[i] = false;

我服了!!!

接龙数列

想到是动态规划

当时。。。状态转移方程想错了

dp[i]是以i为最后一位的最长的接龙长度

x是数的第一位,y是最后一位

dp[y] = max(dp[x] + 1, dp[y]);

岛屿个数

有点。。难想到环内的。。

子串简写

没想明白为啥我的不行

0整数删除

优先队列+双向链表

优先队列查找最小值的时间复杂度是O(logn)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

o_o O

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值