摘要:
状压$DP$+打表,要命的题目。。。。。 具体思路请参考 "这位巨佬的博客" ,本蒟蒻对这道题感到心力交瘁,决定不再作出补充。。 关键的要学习的是:对于排列问题,从左到右处理比较困难的话,考虑从小到大把数插入来处理。据说是套路?本蒟蒻以前不知道,学习了%%%%% 阅读全文
摘要:
"题目链接 Click Here" 这个题好像大多数人用的都是左偏树啊?这里我来贡献一发主席树的解法。 把题目中的问题抽象出来,其实就是询问每一个点的子树中,工资前$tot_i$大的点,使它们的和满足$\sum cost_i using namespace std; define int long 阅读全文
摘要:
一道二合一的题目。两部分思维难度都不太高,但是也都很巧妙。尤其是主席树的$50$分,由于本人初学主席树,所以没有见过主席树上二分的套路,就被小小的卡了一下。。 $n using namespace std; int n, m, t; void subtask_2 () { const int N = 阅读全文
摘要:
"模板链接 $Click$ $Here$" 终于又打开了一个天坑。。。。点分治真的是好东西呢$QwQ$ 点分治的核心思想在于把问题划分为每一个点可以统计的形式,然后对树上的点进行分治。为了保证复杂度为$log$,需要每次都找询问子树的重心。 可以很好的解决关于 所有链信息 的询问。通常离线。 cpp 阅读全文
摘要:
"题目链接 $Click$ $Here$" 期望神题。最开始一直尝试推朴素一点的,逻辑上的$DP$式子,后来发现一直出锅,可能是我的式子没容斥对。。。 题解中给出的想法是这样的: 首先,如果直接一轮一轮地进行期望推导,会发现前面有冲突的情况。枚举第 $i$轮第 $j$张卡时既要保证 前 $i 1$轮 阅读全文
摘要:
"题目链接 $Click$ $Here$" $DP$神题。以后要多学习一个,练一练智商。 关键点在于把“有$a_i$个人分数比我高,$b_i$个人分数比我低”这句话转换成“排名为$a_i+1$,且有$n a_i b_i$个人和我分数相同“。解决了这一点,问题就解决了一大半,接下来就变成了最大不相交区 阅读全文
摘要:
"题目链接 $Click$ $Here$" 本来想调剂心情没想到写了那么久,还被$dreagonm$神仙嘲讽不会传纸条,我真是太弱了$QAQ$(原因:最开始写最大费用最大流一直想消圈,最后发现自己完全是$zz$了) 这个题是最大费用最大流,避免正环的关键在于只从西向东连边。还有要注意题目中并没有说能 阅读全文
摘要:
"题目链接 $Click$ $Here$" 关键在于转换成阶梯$Nim$的模型。最开始把题目看错了,理解正确后发现棋子可以向后跳不止一位,那么就比较简单了。 这里把空格看做阶梯,棋子看做硬币,这样整个模型就满足阶梯$Nim$的性质了。阶梯$Nim$的证明我不会,请自己$yy$。 cpp includ 阅读全文
摘要:
"题目链接 $Click$ $Here$" 这个题目其实就是一个$Nim$游戏的简单模型。对于单个的$Nim$游戏(单独一堆的情况),数学归纳可证其$SG$函数值等于其石子个数。所以对于组合起来的整个游戏,其$SG$函数值等于所有子游戏的异或和。如果这个值为$0$那么就是$lose$,反之则有必胜策 阅读全文
摘要:
"题目链接 $Click$ $Here$" 蒟蒻的人生第一道博弈论。真吉尔难啊。。。。 通常的博弈论写法似乎都是$SG$函数打表猜规律。本蒻其实本来想学一下博弈论的证明的,但后来发现果然还是打表快速又好用。 这个题中的模型可以拆分成$n/2$个游戏。对每个游戏的每堆石子单独打表,求其$SG$函数,可 阅读全文