<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_73870617的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_73870617</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_73870617]]></copyright><item><title><![CDATA[蓝桥杯之搜索专题]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/137428833</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/137428833</guid><author>m0_73870617</author><pubDate>Sat, 06 Apr 2024 21:14:24 +0800</pubDate><description><![CDATA[DFS搜索从起点到终点的每一条路径，如果终点时靶子刚好打完，就是合法答案，这道题的特点是回溯属性较多，判重/记录路径/打靶，使用vector来存路径是因为删除很方便。此时你自信满满的写好了代码，就会发现超时了！]]></description><category></category></item><item><title><![CDATA[十四届蓝桥杯C++B组题解]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/136996419</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/136996419</guid><author>m0_73870617</author><pubDate>Sat, 06 Apr 2024 14:22:19 +0800</pubDate><description><![CDATA[第二次：从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]，不用操作，删除该值。]]></description><category></category></item><item><title><![CDATA[蓝桥杯备赛-暴力枚举专题]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/136632516</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/136632516</guid><author>m0_73870617</author><pubDate>Mon, 11 Mar 2024 20:36:36 +0800</pubDate><description><![CDATA[蓝桥杯又名暴力杯，懂的都懂；主要是一些二进制枚举，在数据范围不大的时候可以用到，也可以骗分，当前不写二进制枚举，写暴搜更好(因为本人暴搜搜不明白）]]></description><category></category></item><item><title><![CDATA[蓝桥杯备赛-二分专题]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/135501318</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/135501318</guid><author>m0_73870617</author><pubDate>Fri, 16 Feb 2024 13:31:45 +0800</pubDate><description><![CDATA[二分可以说是蓝桥杯的必考点,是基础算法,是蓝桥杯的送分题先是二分一般的模板，忘了自己推一推，实在不行就一个一个试。]]></description><category></category></item><item><title><![CDATA[蓝桥杯备赛-模拟专题]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/135265910</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/135265910</guid><author>m0_73870617</author><pubDate>Sun, 31 Dec 2023 20:47:46 +0800</pubDate><description><![CDATA[先考虑直接暴力枚举,O(n^3)明显过不去,我们尝试优化，可以看出连号区间的一个性质区间的长度 = 区间最大值 - 区间最小值，于是我们只要枚举区间的起点和终点，不断更新区间内的最大值和最小值满足是否等于区间长度即可,时间复杂度为o(n^2)足以通过该题。]]></description><category></category></item><item><title><![CDATA[蓝桥杯备赛-排序专题]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/135304569</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/135304569</guid><author>m0_73870617</author><pubDate>Sat, 30 Dec 2023 19:47:43 +0800</pubDate><description><![CDATA[首先在蓝桥杯中一般情况下的排序都是可以直接用c++sort来解决的看，其他的情况也就可能考归并排序或者快速排序，其他的什么桶排序，计数排序一般都用不到。]]></description><category></category></item><item><title><![CDATA[蓝桥杯备赛-日期问题专题]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/135287473</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/135287473</guid><author>m0_73870617</author><pubDate>Fri, 29 Dec 2023 20:50:18 +0800</pubDate><description><![CDATA[直接暴力枚举19600101 ~ 20591231，先判断是不是合法日期,在判断是不是满足题目要求，这样枚举同时也满足了从小到大输出的要求，然后我发现用printf里的%02d真得很香，直接可以添加前导0。我们枚举20203年的所有日期，再判断是否在数组中出现，2023年不是闰年，2月就是只有28天，时间复杂度o(365*100）3e5的时间复杂度，完全可行！如果这样写，m = 2但是d = 0的情况就会被忽略!将判断月份的上下界，日的下界判断写到一起，日的下界判断需要分闰年和非闰年！]]></description><category></category></item><item><title><![CDATA[树状数组的经典应用-----逆序对问题]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/133133523</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/133133523</guid><author>m0_73870617</author><pubDate>Thu, 21 Sep 2023 15:19:36 +0800</pubDate><description><![CDATA[树状数组求逆序对]]></description><category></category></item><item><title><![CDATA[洛谷P1972 [SDOI2009] HH的项链+树状数组]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/132941174</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/132941174</guid><author>m0_73870617</author><pubDate>Sun, 17 Sep 2023 15:57:49 +0800</pubDate><description><![CDATA[然后我们看第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(嘿嘿)]]></description><category></category></item><item><title><![CDATA[洛谷p1197星球大战 :并查集+逆向思考]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/132887199</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/132887199</guid><author>m0_73870617</author><pubDate>Thu, 14 Sep 2023 22:19:49 +0800</pubDate><description><![CDATA[2>我们可以在求已删图的并查集的过程中求连通块个数,最开始每个点的根结点节点都是自己,相当于每一个点都是一个连通块,每合并两个点,连通块的数量就要减一.对于该题有n个星球,减去k个要修复(删除)的星球就是n-k,然后我们进行合并操作,当合并两个根结点不同的星球时就cnt--,最后合并完成也得到了连通块的个数,代码就可以这样写。2.我们先用邻接表保存原本的无向图,由于我们先要得到已删图,所以我们只需要先将那些不会被删掉的星球合并到一起,定义一个vis数组标记要被删除的星球即可.3.注意对逆向思考的理解。]]></description><category></category></item><item><title><![CDATA[二进制枚举！]]></title><link>https://blog.youkuaiyun.com/m0_73870617/article/details/132104168</link><guid>https://blog.youkuaiyun.com/m0_73870617/article/details/132104168</guid><author>m0_73870617</author><pubDate>Fri, 04 Aug 2023 15:30:58 +0800</pubDate><description><![CDATA[那么当前选择的状态就可以用二进制10101来表示，也就是十进制中的21。例如上面我们在{1,2,3,4,5}中取了1,3,4，二进制为10101,我们枚举的是二进制的十进制形式，也就是21，我们可以把21转化为2、二进制后取出为1的元素，但这很麻烦。很容易看出，我们只需要（1]]></description><category></category></item></channel></rss>