摘要:
补了一发轮廓线DP,发现完全没有必要从右往左设置状态,自然一点: 5 6 7 8 91 2 3 4如此设置轮廓线标号,转移的时候直接把当前j位改成0或者1就行了。注意多记录些信息对简化代码是很有帮助的,尤其对于我这种代码经常错的一塌糊涂的人来说。。呆马:POJ 3254 Corn Field... 阅读全文
摘要:
树上的区间第k小数,以前写的主席树是一直MLE的,后来看到一种在初始化的时候的优化:直接DFS这颗树,得到每个点的主席树,然后更新的时候另外对DFS序建主席树,答案加上初始每个点的主席树,这样在初始化每个点的时候就不需要用BIT维护了,省去的空间正好AC了这个题。呆马: 1 #include ... 阅读全文
摘要:
给两颗标号从1...n的树,保证标号小的点一定在上面。每次询问A树上的x点,和B树上的y点同时向上走,最近的相遇点和x,y到这个点的距离。比赛的时候想用倍增LCA做,但写渣了。。。。后来看到题解是主席树就写了一发呆马: 1 #include 2 #include 3 #include ... 阅读全文
摘要:
带跨越式的LCS,同样是在朴素的LCS上加入一种跨越一段的转移,这样我们要预处理出跨越一段给定串的转移函数。这个题同样可以正反两边LCS做呆马: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define inf 0x3... 阅读全文
摘要:
跳跃式LIS(nlogn),在普通的转移基础上增加一种可以跨越一段距离的转移,用一颗新的树状数组维护,同时,我们还要维护跨越完一次后面的转移,所以我用了3颗树状数组。。比赛的时候一句话位置写错了,然后就。。。雪崩呆马: 1 #include 2 #include 3 #include 4 #i... 阅读全文
摘要:
在线求第k大,第一次用二分+树状数组写。。。比赛的时候分治啊,splay啊,主席树啊换来换去,然而以前为什么不知道可以这么写。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include ... 阅读全文
摘要:
五维偏序。。一开始被吓到了,后来知道了一种BITSET分块的方法,感觉非常不错。呆马: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define inf 10000000... 阅读全文
摘要:
状压dp,由于枚举两维状态会GG,所以只枚举当前位置前m个的状态,就是这个样子大概= =;呆马: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #define... 阅读全文