自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥双周赛--备战蓝桥杯的必备选择

蓝桥算法双周赛是由蓝桥官方举办的算法比赛,每两周举办一次,题目难度有供选择,新手可以选择小白赛,而有较好算法基础的选手则可以选择难度更高的强者挑战赛。

2024-07-30 21:36:29 283

原创 蓝桥杯之搜索专题

DFS搜索从起点到终点的每一条路径,如果终点时靶子刚好打完,就是合法答案,这道题的特点是回溯属性较多,判重/记录路径/打靶,使用vector来存路径是因为删除很方便。此时你自信满满的写好了代码,就会发现超时了!

2024-04-06 21:14:24 958 2

原创 十四届蓝桥杯C++B组题解

第二次:从q中取出2,a[2]已经更新为3,2!= a[2],将{a[2],2}push到q中。有人可能会问为什么第3次删除第二个元素的时候,只对3 加了3,为什么1号元素-1不会加?1.如果去掉的是两边的景点,就减去当前景点和它左/右边景点的距离。删除一个结点,直接将该结点的左节点指向右节点,右节点指向左节点。2.不是两边就要减掉它和左边右边两个景点的距离,剪多的要加回来。第一次:从q中取出1,1 = a[1],不用操作,删除该值。第三次:从q中取出3,3 = a[2],不用操作,删除该值。

2024-04-06 14:22:19 866 1

原创 蓝桥杯备赛-暴力枚举专题

蓝桥杯又名暴力杯,懂的都懂;主要是一些二进制枚举,在数据范围不大的时候可以用到,也可以骗分,当前不写二进制枚举,写暴搜更好(因为本人暴搜搜不明白)

2024-03-11 20:36:36 985 1

原创 蓝桥杯备赛-二分专题

二分可以说是蓝桥杯的必考点,是基础算法,是蓝桥杯的送分题先是二分一般的模板,忘了自己推一推,实在不行就一个一个试。

2024-02-16 13:31:45 378 1

原创 蓝桥杯备赛-模拟专题

先考虑直接暴力枚举,O(n^3)明显过不去,我们尝试优化,可以看出连号区间的一个性质区间的长度 = 区间最大值 - 区间最小值,于是我们只要枚举区间的起点和终点,不断更新区间内的最大值和最小值满足是否等于区间长度即可,时间复杂度为o(n^2)足以通过该题。

2023-12-31 20:47:46 891 1

原创 蓝桥杯备赛-排序专题

首先在蓝桥杯中一般情况下的排序都是可以直接用c++sort来解决的看,其他的情况也就可能考归并排序或者快速排序,其他的什么桶排序,计数排序一般都用不到。

2023-12-30 19:47:43 679 1

原创 蓝桥杯备赛-日期问题专题

直接暴力枚举19600101 ~ 20591231,先判断是不是合法日期,在判断是不是满足题目要求,这样枚举同时也满足了从小到大输出的要求,然后我发现用printf里的%02d真得很香,直接可以添加前导0。我们枚举20203年的所有日期,再判断是否在数组中出现,2023年不是闰年,2月就是只有28天,时间复杂度o(365*100)3e5的时间复杂度,完全可行!如果这样写,m = 2但是d = 0的情况就会被忽略!将判断月份的上下界,日的下界判断写到一起,日的下界判断需要分闰年和非闰年!

2023-12-29 20:50:18 466

原创 树状数组的经典应用-----逆序对问题

树状数组求逆序对

2023-09-21 15:19:36 205

原创 洛谷P1972 [SDOI2009] HH的项链+树状数组

然后我们看第5个元素为3,之前出现过,也就是pos数组中记录过上一个3的位置,从上面的结论,就应该只考虑最新出现的种类的贡献,所以我们要进行操作add(pos[3],-1),取消上一个3对答案的贡献,然后再重新add(5,1)记录当前3的贡献并用pos记录位置.首先对于1,没有出现过,进行add(1,1),定义数组pos保存这个1的位置,并代表1出现过,对于2同样没有出现过,进行相同的操作,此时树状数组所表示的每个位置上的数字就为:1 1 0 0 0 0。例如:1 1 4 5 1 4(嘿嘿)

2023-09-17 15:57:49 88 1

原创 洛谷p1197星球大战 :并查集+逆向思考

2>我们可以在求已删图的并查集的过程中求连通块个数,最开始每个点的根结点节点都是自己,相当于每一个点都是一个连通块,每合并两个点,连通块的数量就要减一.对于该题有n个星球,减去k个要修复(删除)的星球就是n-k,然后我们进行合并操作,当合并两个根结点不同的星球时就cnt--,最后合并完成也得到了连通块的个数,代码就可以这样写。2.我们先用邻接表保存原本的无向图,由于我们先要得到已删图,所以我们只需要先将那些不会被删掉的星球合并到一起,定义一个vis数组标记要被删除的星球即可.3.注意对逆向思考的理解。

2023-09-14 22:19:49 1130 1

原创 二进制枚举!

那么当前选择的状态就可以用二进制10101来表示,也就是十进制中的21。例如上面我们在{1,2,3,4,5}中取了1,3,4,二进制为10101,我们枚举的是二进制的十进制形式,也就是21,我们可以把21转化为2、二进制后取出为1的元素,但这很麻烦。很容易看出,我们只需要(1

2023-08-04 15:30:58 165 1

空空如也

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

TA关注的人

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