<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[summ1ts的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/summ1ts</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; summ1ts]]></copyright><item><title><![CDATA[P1390 公约数的和]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/144121191</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/144121191</guid><author>summ1ts</author><pubDate>Thu, 28 Nov 2024 21:36:34 +0800</pubDate><description><![CDATA[的，不需要任何高深知识，只要会线性欧拉筛法即可的做法。，求互质的数，然后将求和式子变化变化就行了。求一下欧拉函数的前缀和，就可以。自己推出式子的感觉真好。简单而言就是套路的将求。]]></description><category></category></item><item><title><![CDATA[c++ 简单分数实现]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143762975</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143762975</guid><author>summ1ts</author><pubDate>Thu, 14 Nov 2024 11:17:43 +0800</pubDate><description><![CDATA[结构体实现，仅有一些简单功能。]]></description><category></category></item><item><title><![CDATA[P4265 [USACO18FEB] Snow Boots S]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143635494</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143635494</guid><author>summ1ts</author><pubDate>Fri, 08 Nov 2024 21:46:51 +0800</pubDate><description><![CDATA[号鞋子的最小丢弃次数，然后枚举从哪个格子，哪双鞋子的状态到达，注意判断能否走到这个格子。]]></description><category></category></item><item><title><![CDATA[AtCoder DP Contest 题目全讲（下）]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143351381</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143351381</guid><author>summ1ts</author><pubDate>Thu, 31 Oct 2024 11:10:43 +0800</pubDate><description><![CDATA[前言：
洛谷题单（非本人整理）
本篇文章为下期（收录题目 O–&gt;Z\text{O--&gt;Z}O–&gt;Z），题目比较有思维难度，值得一做。

O题
观察题目数据范围，允许状态压缩。
设 fi,sf_{i,s}fi,s​ 表示右部中的点，与左部中 iii 个点构成匹配的集合为 sss 的方案数，答案为 fn,(1&lt;&lt;n)−1f_{n,(1&lt;&lt;n)-1}fn,(1&lt;&lt;n)−1​。
考虑如何转移，当构成匹配集合为 sss 时，我们发现二进制表示下 111 的数量（即]]></description><category></category></item><item><title><![CDATA[2023 春季测试题解]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143364717</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143364717</guid><author>summ1ts</author><pubDate>Wed, 30 Oct 2024 16:31:02 +0800</pubDate><description><![CDATA[但是这是错的，不过只要随机若干次，一定能得到正确的操作序列。因为答案也是对原来的密码锁进行若干次操作，所以随机化是对的。直接开二维数组记录是不可行的，由于每一次操作会覆盖整行整列，所以开两个数组，分别存储行、列的颜色。，考虑一个简单的贪心，把全局最大值和全局最小值分别放在不同行，然后每一行的贡献就可以直接算了。再思考正解，我们走的路径是不是也有某些特殊性质，来简化运算？时的最小路程，输出方案，记录从哪个状态转移过来即可。的情况时顺便判断即可，最后答案减去这些数。，还不知道，是给暴搜加剪枝的分？]]></description><category></category></item><item><title><![CDATA[AtCoder DP Contest 题目全讲（上）]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143329871</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143329871</guid><author>summ1ts</author><pubDate>Tue, 29 Oct 2024 21:33:10 +0800</pubDate><description><![CDATA[洛谷题单（非本人整理）有一些好写的题就不贴代码了，细节较多的再放上。本篇文章为上期（收录题目A–>NA–>N），题目较为基础，进阶题目放在下期讲解（目前还在咕咕咕）。A题非常简单的方程。fimin⁡fi−1∣hi−hi−1∣fi−2∣hi−hi−2∣fi​minfi−1​∣hi​−hi−1​∣fi−2​∣hi​−hi−2​∣，递推一下就行了。B题。]]></description><category></category></item><item><title><![CDATA[NOIP 2022 题解]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143315433</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143315433</guid><author>summ1ts</author><pubDate>Tue, 29 Oct 2024 14:52:52 +0800</pubDate><description><![CDATA[答案是可以的，因为只有出现所有非特殊栈放满后，才会去找，而下一次再出现这种情况的位置，一定不会和之前重合，所以最多只会循环。再想，C、F 一定是由竖着的线段和横着的线段组成，把它们找到然后计算即可，计算的式子很好推。线段树查询，标记与信息的合并是好做的，关键是标记与标记的合并。左边第一个大于它的数之后，这是一段后缀，我们会进行区间赋值操作，然后将。节点是否建造军营的方案数，发现很难转移，所含的状态太多了。个数放完了，还有一个多出来的数，考虑这个数的归宿。，我们找到在它之后的最先出现在某个栈的底部的数。]]></description><category></category></item><item><title><![CDATA[P2560 [AHOI2002] Kitty猫基因突变]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143304863</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143304863</guid><author>summ1ts</author><pubDate>Mon, 28 Oct 2024 15:57:13 +0800</pubDate><description><![CDATA[蛮冷门的一道题，虽然题面很长，但只要认真读完，你就会发现这个题的做法直接都明摆着给你了。初始化和转移及其简单，如果还不会就见代码。观察数据范围，很容易想到转为二叉树上 dp，设。进行突变，最终得到类型为。dfs 一遍子树，然后合并。号节点代表的区间，有。混合区间）的最小价值。]]></description><category></category></item><item><title><![CDATA[CSP-J 2024 题解]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143272713</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143272713</guid><author>summ1ts</author><pubDate>Mon, 28 Oct 2024 12:02:08 +0800</pubDate><description><![CDATA[没参加，作为场外选手也来浅做一下。]]></description><category></category></item><item><title><![CDATA[CSP-S 2024 题解]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143271649</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143271649</guid><author>summ1ts</author><pubDate>Mon, 28 Oct 2024 08:56:29 +0800</pubDate><description><![CDATA[所给代码只过了民间数据，可能与实际成绩略有出入。]]></description><category></category></item><item><title><![CDATA[P2048 [NOI2010] 超级钢琴]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143216904</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143216904</guid><author>summ1ts</author><pubDate>Thu, 24 Oct 2024 19:09:11 +0800</pubDate><description><![CDATA[首先算区间和肯定要用前缀和，但是暴力找出所有区间然后排序求解是不可行的，考虑优化。，如果我们令它为所选区间左端点，那么右端点所属区间应为。间的区间，使选出的区间总和最大，输出最大值。然后我们就可以用优先队列维护形如。右端点区间的新的贡献，注意特判。为某个右端点，则区间和为。，用 st 表可以快速维护。]]></description><category></category></item><item><title><![CDATA[[ABC304Ex] Constrained Topological Sort]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143199225</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143199225</guid><author>summ1ts</author><pubDate>Thu, 24 Oct 2024 08:58:52 +0800</pubDate><description><![CDATA[范围太广了，我们还要进一步缩小范围，考虑如何缩小。因为给你的是有向图，所以对于一条边。从小到大排序，然后尽可能让一个点在拓扑序中更早出现，这可以用 set 维护。然后就会发现 WA 掉了。，据此可以在拓扑排序时缩小范围，然后再按上述做法。然后比较显然的贪心是按。先判环，有环自然无解。]]></description><category></category></item><item><title><![CDATA[10.20梦熊十三连测第十三场]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143099038</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143099038</guid><author>summ1ts</author><pubDate>Mon, 21 Oct 2024 09:30:14 +0800</pubDate><description><![CDATA[开始往左扫，把此时扫到的和加在桶里，然后从右扫，查找当前和的负数的出现次数，然后计算贡献。对于这样的题，一般考虑枚举中位数，计算它所产生的贡献。对于此题，设此时中位数为。的同理，只会变的更小。这说明原序列的单调性是不变的，就允许我们进行二分。所以先把原序列升序排序，然后两次二分分别求出第一个大于等于。对此如何计算，我们可以枚举一棵树中的边。边，这两个可以一起算。的位置，这道题就做完了。的数，经过变化后只会变的更大，，若这四点均不相同，则概率为。边，考虑一棵树中一边。，所以考虑换一种思路。]]></description><category></category></item><item><title><![CDATA[NOIP2023题解]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/143020717</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/143020717</guid><author>summ1ts</author><pubDate>Thu, 17 Oct 2024 17:45:53 +0800</pubDate><description><![CDATA[若最小字符等于最大字符，由于字符串长度相同，且字符串两两不同，所以次小的一定大于另一个次大的，依然不可行，由此得证。暴力的 dp 做法似乎没有什么优化的余地了，对正解也没什么启发，但我们将其抽象为一个网格图，发现了什么？这样的转化看似影响不大，但我们再去看 Subtask 8~14，由于其特殊性质，发现只要。其中红格都是我们能到的地方，如果不理解的话一定要手动画图去体会一下，这是最关键的部分。的情况，注意处理数组越界的情况，就可以了。的数据范围很小，所以真正有用的位置并不多，只有一个区间的。]]></description><category></category></item><item><title><![CDATA[P7453 [THUSCH2017] 大魔法师]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/142980127</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/142980127</guid><author>summ1ts</author><pubDate>Wed, 16 Oct 2024 15:14:16 +0800</pubDate><description><![CDATA[首先矩阵乘法中的循环要展开，然后 pushdown 操作时判断 tag 是否为单位矩阵，若是单位矩阵直接 return，取模时用减法取模，不要全开 long long，这四个是最关键的。首先看见题目就知道这是道数据结构题，但发现元素之间会有影响，如果直接维护的话无法维护，那么这时矩阵就排上用场了。线段树套矩阵，可以方便地维护一些元素之间有影响的问题。种操作，我们推出各自对应的矩阵，然后线段树维护区间矩阵乘，维护乘法标记和区间和。注意标记初始化为单位矩阵，矩阵乘法没有交换律，注意顺序。接下来还有卡常部分。]]></description><category></category></item><item><title><![CDATA[矩阵基础运算]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/142969032</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/142969032</guid><author>summ1ts</author><pubDate>Wed, 16 Oct 2024 10:02:17 +0800</pubDate><description><![CDATA[而矩阵乘法的运用很多，最常用的便是加速递推，可以用其优化 dp（例如动态 dp）等等。最经典的便是斐波那契数列的应用，首先把原线性递推式转化为矩阵，然后用矩阵快速幂即可解决。为了方便进行运算，我们会把矩阵设为二维数组，放在结构体里面，并重载运算符。由于矩阵也有乘法，那自然也有矩阵的快速幂，写法与普通快速幂同理。矩阵的加减法和数乘为线性运算，均为逐个元素进行运算。矩阵乘法要求两个矩阵的行数和列数相等，设。然后套个矩阵加速幂就可以了。这是我的矩阵加减乘法的模版。]]></description><category></category></item><item><title><![CDATA[计数杂题选做（1）]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/142941921</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/142941921</guid><author>summ1ts</author><pubDate>Tue, 15 Oct 2024 12:01:54 +0800</pubDate><description><![CDATA[为 CSP-S 和 NOIP 做准备，所以做的题难度并不是非常大，通常以绿蓝题为主。]]></description><category></category></item><item><title><![CDATA[NOIP模拟赛题解]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/142833488</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/142833488</guid><author>summ1ts</author><pubDate>Mon, 14 Oct 2024 18:50:40 +0800</pubDate><description><![CDATA[①：本题的反悔贪心可以再细讲一下，首先比较简单的贪心策略是我们想每次都选一个最大子段和，然后把这段删去，然后再去找一段，而这也显然是错的。对此我们考虑反悔自动机，此题的策略即为上述所说，我们通过巧妙的构造差值，使得最终得以达到反悔的目的，而这个操作需要我们用线段树来维护，最终此题的解法就出来了。若有交集，那么它们相交的部分在之前加了一次，在这一次又减掉，说明它不是最优的，被我们反悔掉了，并且此时两区间仍然不相交，依旧符合题意。个数组分别维护，由于我们枚举的位置的单调性，这个复杂度是做到可以线性的。]]></description><category></category></item><item><title><![CDATA[线段树合并基础]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/142867388</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/142867388</guid><author>summ1ts</author><pubDate>Sat, 12 Oct 2024 16:17:01 +0800</pubDate><description><![CDATA[这个时候就可以考虑线段树合并了，我们对每个节点都开一颗以颜色为下标的线段树，维护颜色出现的最大次数及出现最多的颜色，而这两个操作非常简便。线段树合并是指建立一棵新的线段树，这棵线段树的每个节点都是两棵原线段树对应节点合并后的结果。由此，它多被用于维护树上或图上的信息，只要灵活选好每个点上线段树的下标含义，维护的信息，可以帮助你切掉许多困难的题。题目过水，代码就不贴了。，有用树上启发式合并来做的，但你发现，这道题线段树合并直接切掉了，甚至都没几十行代码。的所有儿子的线段树合并到它的线段树上，这道题就解决了。]]></description><category></category></item><item><title><![CDATA[[ARC154E] Reverse and Inversion]]></title><link>https://blog.youkuaiyun.com/summ1ts/article/details/142829793</link><guid>https://blog.youkuaiyun.com/summ1ts/article/details/142829793</guid><author>summ1ts</author><pubDate>Thu, 10 Oct 2024 19:43:58 +0800</pubDate><description><![CDATA[等类似逆序对，顺序对的信息，我们考虑用上述方法简化此条件。②:一些让我们计算最终位置的题型中，从对称等概率的关系去考虑，可能会挖掘出意想不到的性质。对于这样的题，先不要绕到具体操作里出不来。在每一次翻转后的具体位置是不可直接计算的，所以我们只需要算出。再将其代入上式即可得到答案，代码并不长，注意取模即可。在所有操作中都没被翻转的情况，它最终期望位置为。它的含义是剔除掉所有区间翻转方案中翻转到。于是式子变的可求，此时再考虑区间翻转。对于题中式子，先不考虑翻转，设。，那么翻转的中心显然是。]]></description><category></category></item></channel></rss>