摘要: 二分图匹配 我们都能够想到让每个装备和它的属性去连边. 首先提供一种初步想法: 如果我们闭着眼去跑二分图匹配的最大匹配,那么我们得到的答案很显然是错误的.因为我们在得到最大匹配的时候没有考虑从$1$到$n$的连续性。 那我们该怎么办呢?~~睁开眼再去跑二分图匹配的最大匹配~~ 我们可以二分一个答案, 阅读全文
posted @ 2019-09-10 20:14 wljss 阅读(99) 评论(0) 推荐(1) 编辑
摘要: 分治 首先感谢lrj的透彻讲解。 开始的时候我们可以用map来求出一个数的上一次出现的位置和下一次出现的位置,然后能判断一个数在$l$到$r$中这个数是否只出现了一次。 既然任意连续子序列都至少有一个元素唯一,那么我们可以找到这个序列中一个唯一存在的数,我们姑且认为ta的下标是k,进而我们发现任何包 阅读全文
posted @ 2019-09-10 18:04 wljss 阅读(181) 评论(0) 推荐(1) 编辑
摘要: 贪心 对于每一项的交换,设交换前内存为a,交换后内存为b,那么就有a b或$a \le b$。 我们分开处理,将a b的分为一类,a \le≤ b分为另一类,显然,我们将第一类按照a从小到大排序更优,这样我们就可以用较少的空间换取更大的空间。 将第二类按b从大到小排序,这样我们能花费较少的空间来换取 阅读全文
posted @ 2019-09-10 12:01 wljss 阅读(120) 评论(0) 推荐(1) 编辑
摘要: 矩阵加速递推 n的范围比较小,k的范围很大,我们可以考虑从n入手。 1.首先我们知道任何矩阵 单位矩阵都不会改变. 所以对于交换操作,我们可以造出一个这样的矩阵: 除了第s、m行,其他每一行都是f[i][i]=1; 第s行:f[s][m]=1;第m行:f[m][s]=1; 这样我们就完成了交换操作。 阅读全文
posted @ 2019-09-10 11:56 wljss 阅读(187) 评论(0) 推荐(1) 编辑
摘要: 数位DP|记忆化搜索 ~~听隔壁巨佬说DP和记搜可以互相转换~~ 显然这个题是可以用记忆化搜索过的,那我们应传哪几个参数? 首先就是记搜最基本的位置标记。 然后就是枚举的数字各位之和,以及取模之后的余数(判断能否整除某个数)。 最后就是判边界的参数。 当我们搜到最后一位时如果余数为0,并且各位之和= 阅读全文
posted @ 2019-09-10 11:44 wljss 阅读(153) 评论(0) 推荐(1) 编辑