做题记录:
注意到每次相当于 \(0\) 后面加 \(1\),\(1\) 后面加 \(0\),因此每次可以合并 01 和 10 然后将问题规模减半。
黑白染色,白格子=lcm+1,黑格子=prime相乘。发现横着竖着有六个质数,斜着只用四个质数。调整一下顺序即可。
状压DP。考虑S作为前缀max时S与U-S的排列方案数。S每一个真后缀都非负,U-S的每一个前缀都为负。然后f[S]表示S从后往前加数的合法方案数,g[S]表示从前往后加数的合法方案数,DP即可。再注意真后缀非负sum[S]可以为负,处理f[S,0/1]表示sum[S]<0或sum[S]$\ge$0。
喵喵题。相当于求出一个导出子图使得度数最小的点deg尽可能大;再求一个尽可能大的独立集。
第一问很好做,从小到大枚举答案然后删点即可;第二问有随机化做法,也可以按度数从小到大贪心取点,可以证明这样满足条件。
喵喵题。当空栈被用的时候,假设用空栈的元素是u。下一个出现的不是栈顶的元素为v。
- 当u=v时,u放在空栈和v消掉;
- 当v是栈底元素时,其栈顶设为w,
- 若w出现奇数次,u放在空栈,奇数次之后w消掉,v消掉,产生新的空栈;
- 若w出现偶数次,u放在w上,w放在空栈消掉,之后v通过栈底消掉。
往前推就完事了。
一眼题,能买就买,买不了替换前面的去。
题解都很垃圾。枚举次大值然后用可持久化Trie。用链表搞,按值从小到大删元素,即可得到左右边比他大的第二个数。或者用线段树维护次大值也可以做的。很容易假,尤其是使用单调栈。
标签:空栈,20231124,线段,元素,消掉,即可,从小到大,刷题 From: https://www.cnblogs.com/Mars-LG/p/17854702.html