摘要:
link 一道挺有价值的题,标的是数位DP但感觉不像呢,它感觉更像是一个递推和差分,DP倒真的说不上(毕竟它没有记忆化)。 首先第一列出现的元素是容易求的,但第二列似乎是麻烦的。但考虑一下发现,容易想到假如不考虑进位的话那么第二列的所有数应该都是回文数,而既然都是回文数了那么它的取值集合的大小就会大 阅读全文
摘要:
link 明显的最小割,但数据范围比较大(虽然据讨论可以水过但我没去试)。于是考虑使用正确复杂度的算法,想到对偶图。然后这就是一个对偶图的板子了,图都给你画出来了正常加边跑最短路即可。需要注意的是加边的时候要加无向边,在这个地方卡了一会。每日维生素B。 #include<bits/stdc++.h> 阅读全文
摘要:
link 由于相邻的两个数不能同时选择,于是考虑把相邻的两个元素连边。又由于整张图很明显可以进行黑白染色,于是连边之后的图会形成一张二分图。于是寻找最大的方案就变成了割掉最小的方案,跑最大流最小割即可。 #include<bits/stdc++.h> //#define feyn #define i 阅读全文
摘要:
link 其实感觉这玩意不应该叫什么自动机,这似乎就是一个个人yy出来的东西。。。 给定一个文本串和许多模式串,询问每个模式串是不是文本串的子序列。如果是询问字串的话直接上kmp即可,但子序列呢。考虑贪心,寻找文本中第一个和模式串第一个元素相同的元素位置,选择它相较于选择其它值相同的元素肯定不劣,毕 阅读全文
摘要:
link 排队那道题的数据加强版,那道题是动态逆序对,这道题是动态带权逆序对,实际是差不多的。直接上线段树套动态开点线段树的板子就可以了,取模方面比较严格导致我的int写法一直没过,开龙龙宝宝就可以了。空间卡得比较死,甚至我用241M过掉的这道题(空间限制是250M,请叫我空间带师)。写法上注意两个 阅读全文