<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2301_80353190的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2301_80353190</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2301_80353190]]></copyright><item><title><![CDATA[SMU寒假集训周报4]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145793111</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145793111</guid><author>2301_80353190</author><pubDate>Sun, 23 Feb 2025 14:13:17 +0800</pubDate><description><![CDATA[本周是寒假集训的最后一周，主要围绕蓝桥杯和天梯赛的训练为主。天梯赛的训练有所成效，基本上可以做到200分左右的发挥，寒假的训练和补题还是有效果的。蓝桥杯的情况就比较惨烈了，因为是OI赛制不能实时反馈分数，导致有一场赛后出分时惨不忍睹，虽然自己也有所检查，但是还是可能会漏掉一些小细节，导致简单题直接就是0分 ，说明自己在OI赛制方面的训练还需要加强，以备战过段时间的蓝桥杯，争取拿到国二。同时也感觉，蓝桥杯还是有很多数学、规律方面的题，而自己在这块还是比较薄弱的，开学之后的时间应该也多刷刷蓝桥杯的题来补弱。]]></description><category></category></item><item><title><![CDATA[SMU寒假集训周报3]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145590200</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145590200</guid><author>2301_80353190</author><pubDate>Sat, 15 Feb 2025 18:20:56 +0800</pubDate><description><![CDATA[本周打的比赛还是比较多的，有三场cf，一场牛客，两场PTA天梯赛。总体来说较上周有了些许进步，有一场天梯赛的分数上了227，不过这一场确实较之前简单了一些。牛客还是比较遗憾没能突破，都是在能力范围之内但是差一点，说白了还是掌握得不够到位。比较有进步的是补题的积极性，基本上都能做到打完就补或者第二天补，能补的题差不多都补了，之前是打完比赛就很累，一直拖着，再到后面补的效果也比较差了，所以这一点还是要坚持的。]]></description><category></category></item><item><title><![CDATA[SMU寒假集训周报2]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145532356</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145532356</guid><author>2301_80353190</author><pubDate>Sun, 09 Feb 2025 15:40:52 +0800</pubDate><description><![CDATA[PTA的分数反而有些下滑，反思了一下，还是模拟题做得太慢太久了，卡了将近两个小时一直在那死磕，拿不满分数，也看不出到底是哪里出错，甚至赛后补题也改不出来，大动刀斧地改了大部分代码才拿满，明明思路看起来一样，以后模拟题还是要画出流程图吧。牛客的表现不好体现在中后期的开题上，基本上都有两三题可以写，但是又写不出来，以前擅长的一些技巧如打表、贪心等也有些生疏了，此外在家训练比赛，心态也有所变化，碰到难题就很折磨，不愿意冷静思考，这个心态需要改变。心态也要更端正些，沉的住心，才能写得出来题。]]></description><category></category></item><item><title><![CDATA[2025牛客寒假算法基础集训营5（补题）]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145531631</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145531631</guid><author>2301_80353190</author><pubDate>Sun, 09 Feb 2025 14:44:02 +0800</pubDate><description><![CDATA[反之，由于交换一定低于两次反置，我们尽可能用交换来消去不正确的位置。不正确的位置类型只有00，01，10，11，我们发现，交换任意两个不同类型的某一位，一定可以使得这两个位置正确。那么我们要做的就是尽量使其两两配对，循环O（n）的时间复杂度就能解决。显然，如果两次反置的价格小于等于交换的价格，那么直接全部反置就好了。]]></description><category></category></item><item><title><![CDATA[2025牛客寒假算法基础集训营4（补题）]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145512984</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145512984</guid><author>2301_80353190</author><pubDate>Sat, 08 Feb 2025 20:42:32 +0800</pubDate><description><![CDATA[假设s首尾相同，那么由上面的规律，我们可以将所有情况简单分为11，00，101，10101，010，01010等情况（无非是11，00，101···循环和010···循环）。'，我们可以先将两个'?'改成不同的，能修改的就只有首尾2个位置，将不同改成相同。赛时以为是难的算法题，就没去碰了，实际上把几种情况列出来后可能就会发现，只有首尾相同的字符串才是平衡的。首先我们容易发现，连续的1或者0是多余的，因为他们对01和10的数量是没有影响的，我们可以将连续的1或者0合并成1个就可以了。]]></description><category></category></item><item><title><![CDATA[2025寒假天梯赛训练3（补题）]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145498487</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145498487</guid><author>2301_80353190</author><pubDate>Fri, 07 Feb 2025 18:12:05 +0800</pubDate><description><![CDATA[题意大概就是：先从盒子里拿。如果盒子为空或者不满足要求再从推送器拿，如果推送器还不满足就考虑放入盒子，如果盒子已满或者推送器为空，就输出，反之就放入盒子。如果盒子满足要求，则直接从盒子拿就行。（PTA的模拟真是大分）显然，我们要走的路径在贪心的情况下是唯一的，答案不同的情况就是走的顺序，如果我们把最深的那个点最后走，其他点需要来回走，那么实际上答案就是所有路径之和减去最深的路径。]]></description><category></category></item><item><title><![CDATA[SMU寒假集训周报1]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145365564</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145365564</guid><author>2301_80353190</author><pubDate>Sun, 26 Jan 2025 11:24:23 +0800</pubDate><description><![CDATA[总体来说本周表现还不是特别让人满意，可能是比较长时间没有训练，写代码的能力和速度都有所下滑，在一些比较自由的时间段可能会想要偷懒，或者被家里人打断等。由本周的训练可以看出，算法竞赛的学习是一个持久的过程，一旦某个时期放松懈怠，实力就会下滑，接下去又是比较长时间的春节假期，希望自己能保持初心，还是要适当的加训的，争取在冬训让自己的水平得到提升，在开春取得更好的成绩。2025寒假天梯赛训练1（补题）2025牛客寒假算法基础集训营12025牛客寒假算法基础集训营2。]]></description><category></category></item><item><title><![CDATA[2025牛客寒假算法基础集训营2]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145357626</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145357626</guid><author>2301_80353190</author><pubDate>Sat, 25 Jan 2025 22:06:19 +0800</pubDate><description><![CDATA[原本我是想着b到z循环m-1次，然后放两个aa，构造出m可爱值的前缀串，后面再接n-m-1个不同的字符就好了。于是我发现了n-m>m时构造会不一样，这种情况的具体构造可以变成回文串，前n-m个和后n-m个对称，中间n-2m个相等的就好了。首先我们找k的下界，通过D题我们可以知道，k与两个相同字母之间的间隔距离有关，那么想要最小化相隔距离，我们就要尽量地填充不一样的字母，但是每26个字母之后必定会出现相同的字母，那么不难推出来下界就是max(0,n-26)，上界很容易知道是n-1。]]></description><category></category></item><item><title><![CDATA[2025牛客寒假算法基础集训营1]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145357078</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145357078</guid><author>2301_80353190</author><pubDate>Sat, 25 Jan 2025 17:38:03 +0800</pubDate><description><![CDATA[对于题解的这一种写法，有一种情况是a[i+1]的值已经在扩张区间内，此时会取到错误的最小值，我的理解是，即使 [i+1]这个值提前在拓展后的区间内，此时可能会导致被减数{min(a[0].first*2,a[i+1].first)}偏小而res偏大，但是在后续的遍历中会访问到[i+1]这个值在拓展后的区间内情况，这时候的被减数就会是正确的值，至于ma，因为l和r没有被拓展，所以ma是正确的，res也会是正确的值。刚好是一个比较小的排列，那么要找到大于等于左端点的第一个没被用过的点，可以用一个set记录。]]></description><category></category></item><item><title><![CDATA[2025寒假天梯赛训练1（补题）]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/145340828</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/145340828</guid><author>2301_80353190</author><pubDate>Fri, 24 Jan 2025 16:03:55 +0800</pubDate><description><![CDATA[四个数字全排列一共有24种可能性，四个符号选三个一共有16种可能性，符号全排列一共有4种可能性。对于括号，我们枚举所有可能性后发现两个括号的情况一定包括了一个括号的情况，并且只有五种有效的组合方式。所以总的复杂度是不到1e5的，直接所有情况暴力跑一遍。犹豫有除法运算，所以要用浮点数。题意很简单，只要会实现就好了。（前序遍历中序遍历还原二叉树没学好）。get到一个小技巧：要实现镜面翻转只需要在还原二叉树的时候把左子树的序号变成2*num+2。]]></description><category></category></item><item><title><![CDATA[SMU Summer 2024 暑期训练周报4]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/141094995</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/141094995</guid><author>2301_80353190</author><pubDate>Sat, 10 Aug 2024 19:30:10 +0800</pubDate><description><![CDATA[这周学了一些简单的线段树板子和应用，利用线段树求区间和、区间最大值以及点修。感觉线段树的思想还是比较容易理解的，但是容易出现各种bug，一定要弄清楚各种边界问题，以及上下的传递更新，对很多区间类的问题很有帮助，当然了也不能一看到区间就马上想线段树，而是想到思路了才考虑能不能用线段树辅助。本周的补题不算好，打的比赛比较少，要补的题又比较难都是一些新算法，补了一道树形dp的问题，以前很畏惧树和图的题目，现在也可以尝试去写了。]]></description><category></category></item><item><title><![CDATA[SMU Summer 2024 Team Round 1]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140813755</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140813755</guid><author>2301_80353190</author><pubDate>Sat, 10 Aug 2024 19:08:42 +0800</pubDate><description><![CDATA[仔细思考之后我们会发现，若某些时刻打开的大门类型是一样的，那么他们的花费其实就是一样的，并且这个大门的种类数最多不超过30，单独的算出来每一种类型需要多少花费的时间复杂度其实是O（n）的。然后我们只需要遍历map和n，找出当前节点到当前打开的大门中最小的花费，那么这种类型的最小花费就算出来了，将map中的值修改。n个节点m条边的无向图中，有k个节点是大门，这些大门都有特定的开放时间，一个点到大门的花费为点的权值加上路径上的边权之和，求出1到T每一时刻所有节点到大门的最小花费之和。]]></description><category></category></item><item><title><![CDATA[SMU Summer 2024 Team Round 2]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140957050</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140957050</guid><author>2301_80353190</author><pubDate>Tue, 06 Aug 2024 16:37:09 +0800</pubDate><description><![CDATA[我们将每个节点的花费初始都设为INT_MAX，代表这个点有可能走不到被标记带点，然后把被标记点的花费设为0.通过dfs遍历树的每个节点，如果当前节点不是被标记点并且不是叶子结点，那么遍历它的子节点，如果它的子节点是被标记点，并且它们之间有候选词可以选择，那么对当前节点的花费和子节点的花费+1取min，最后得到根节点的花费，如果它的花费大于等于INT_MAX那么代表它有可能走不到被标记点，反之就是可以。显然，如果它有可能走不到被标记点，它一定会通过上面的操作更新为比INT_MAX大的数。]]></description><category></category></item><item><title><![CDATA[SMU Summer 2024 暑期训练周报3]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140895232</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140895232</guid><author>2301_80353190</author><pubDate>Sun, 04 Aug 2024 12:52:09 +0800</pubDate><description><![CDATA[本周打了四场比赛，一场是组队赛，组队赛的那场打得不是很满意，罚时太多了，其他的个人赛打得也比较差，这周的比赛状态都不是很好，周五下午的比赛还因为生病没有打。可能是训练得太疲惫了，身体也有点吃不消。这周学了一些关于图论的算法，最短路比如SPFA可以用来找带负权的最短路，还有最小生成树算法，以及判断也没有环可以用并查集。通过这一周的组队赛来看，队伍的磨合程度还需要再提升，可能是很久没有打组队赛，配合这方面做得不是很好，需要再注重一下配合，不然就会出现1+1+1小于3。武汉工程大学2020GPLT选拔赛。]]></description><category></category></item><item><title><![CDATA[2024 暑假友谊赛 3]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140890157</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140890157</guid><author>2301_80353190</author><pubDate>Sat, 03 Aug 2024 16:15:38 +0800</pubDate><description><![CDATA[对于这个操作，我们发现如果对1和j（j>=2）进行操作是最有价值的（因为i=1时能对任意值进行加减），所以我们考虑能不能把所有数都加到a1上。我们发现ai是严格大于等于1的，那么我们从左往右遍历，总和必然大于等于i，也就是说，我们可以通过先把a1借给ai，再将ai全部还给a1，这样一次操作数就是2，最后我们只需要将平均数分给每个ai（i>=2）就可以了，操作数为3*(n-1)。反之A就要占前面放最小的。换位思考会发现，到A操作时，如果B剩余的字母全小于等于A的，那么A就要占最后放手中最大的。]]></description><category></category></item><item><title><![CDATA[河南萌新联赛2024第（三）场：河南大学]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140830943</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140830943</guid><author>2301_80353190</author><pubDate>Thu, 01 Aug 2024 13:28:25 +0800</pubDate><description><![CDATA[小白在一个n*m的迷宫中，起点为1.1，只能向右或者向下走，每个位置都有一个权值，走到该位置需要扣除这个权值的生命值，若走到n*m的位置生命值小于等于0就是失败，期间可以使用任意次魔法使得本次移动不扣除生命值，问最少使用多少次魔法能胜利走到n*m。从x变为x+y的结果，实际上等于1-y的结果减去1-x的结果，O2e6预处理出前缀和，O1查询即可。按位拆分，单独对每一个二进制位考虑，假设在这一位上发生了进位，那么他的贡献就是其位置。考虑一个三维dp，走到i，j这个位置使用k次魔法扣除的最少生命值。]]></description><category></category></item><item><title><![CDATA[武汉工程大学2020GPLT选拔赛]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140774922</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140774922</guid><author>2301_80353190</author><pubDate>Mon, 29 Jul 2024 17:01:17 +0800</pubDate><description><![CDATA[【代码】武汉工程大学2020GPLT选拔赛。]]></description><category></category></item><item><title><![CDATA[SMU Summer 2024 暑期训练周报2]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140739236</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140739236</guid><author>2301_80353190</author><pubDate>Sat, 27 Jul 2024 18:57:00 +0800</pubDate><description><![CDATA[本周打了四场比赛，总体成绩中规中矩吧，就是有一种模拟题特别多的打得不是很好，看来模拟题还是一个弱的地方。然后补题这块做得也还不错，还算比较积极。跟着本周的题单刷了很多DP题，因为比较看重DP吧，之前一直都没有学这块的算法，学到了挺多知识，背包dp、线性dp还有区间DP，现在比赛中也可以写出来比较简单的DP题了。还打了一场hdu多校，依旧是被难坐牢的一场，有一道思维题做不出来，其他都是比较难的题，最后只做了两题，还是有待进步。]]></description><category></category></item><item><title><![CDATA[SMU Summer 2024 Contest Round 7]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140722818</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140722818</guid><author>2301_80353190</author><pubDate>Sat, 27 Jul 2024 15:23:09 +0800</pubDate><description><![CDATA[可以选择任意一个数（不小于2），让数组中的数换成对这个数取模的结果。要让这个数组中的数相等，可以看出如果数组中0和1同时存在那么这两个数不可能操作后相等，那么考虑对其他数操作，假设全变成0，那么需要每次对最大数取模，如果全部变成1，需要每次对最大数-1取模。首先是对字符串进行排序，让a+b<b+a，具体证明不会...有点类似于下面的。如果对字符串正着遍历，则不能保证高位尽量小，所以我们从后面倒着遍历。要让字符串最小，则在保证低位最小的情况下，高位尽量小。一开始没看到只能买一个，还以为是什么贪心的题。]]></description><category></category></item><item><title><![CDATA[SMU Summer 2024 Contest Round 8]]></title><link>https://blog.youkuaiyun.com/2301_80353190/article/details/140733380</link><guid>https://blog.youkuaiyun.com/2301_80353190/article/details/140733380</guid><author>2301_80353190</author><pubDate>Sat, 27 Jul 2024 13:33:13 +0800</pubDate><description><![CDATA[显然，一个数只能由他的因子相乘得到，一个数的因子不会很多，所以每组我们只放入因子，每个因子只放入一次并记录个数，最后暴力搜索一下就出来了。每次只对前两个数操作然后插入一个数，并且插入的那个数在0到9之间，那么我们可以定义一个dp为前i个数剩下j的方案数。容斥定理，有0有9的序列=所有序列−没有0的序列−没有9的序列+既没有0也没有9的序列。dp[i][(a[i]+j)%10]+=dp[i-1][j] 是不是很奇妙~.~那么对一个位置，要么被第一个操作覆盖，要么被第二个操作覆盖，要么没有被覆盖。]]></description><category></category></item></channel></rss>