
其它-STL
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 3991 [SDOI2015]寻宝游戏
set+dfs序+LCA题解:http://blog.youkuaiyun.com/regina8023/article/details/45502279显然(也就是说我不会严谨证明),最终答案一定是所有有宝物的点之间相连形成的树的边权和的两倍。而且不论从哪个点出发,最短路长度都一样,都是边权的两倍(因为无论从起点往哪里走,总是要回来的)。那我们就钦定DFS序最小的点为起点,然后发现只要沿着DFS递增的顺序走,原创 2016-10-21 23:37:40 · 586 阅读 · 0 评论 -
BZOJ 3473 字符串
广义后缀树+set子串问题就考虑后缀数据结构。考虑一棵后缀树,一个树上的串合法,当且仅当这个串在至少k个串的后缀树链的并上。那就用SAM做出后缀树,用set维护一个点的链并,即哪些串经过了这个点。然后枚举每一个串跑SAM,对于一个位置i,暴力跳fail直到链并不小于k为止。广义SAM和单串SAM的差别就是刚开始extend的时候要判断是否有一个状态已经包含了当前要增加的状态并且判断这个状态的len和原创 2017-03-29 22:08:17 · 485 阅读 · 0 评论 -
BZOJ 3616 War
KD树+bitset对于一个联盟s,设会打它的个数为t,那它对答案的贡献就是 (n−tn)m(\frac{n-t}{n})^m考虑怎么得到t。对于一个点,我们希望在它能打到的所有点上面打上这个点的标记。直接打标记不行,考虑用KD树即可。然后联盟里的所有点用bitset或起来即可得到所有能打到这个联盟的点。题目保证了坐标随机,因此KD树的复杂度是期望 n‾√\sqrt n 的。#include<cma原创 2017-04-27 23:25:33 · 329 阅读 · 0 评论 -
BZOJ 5109 [CodePlus 2017]大吉大利,晚上吃鸡!
最短路+bitset+DP个人觉得这题的思路非常高妙。首先肯定是要建出最短路DAG,这个图上任意一条路径都对应一条原图的最短路。如果一个点a在S到T的必经之路上,那就会有S到a的方案数 * a到T的方案数 = S到T的方案数这个东西显然是充要的,这是一个巧妙的转化。套用这个想法,这题要求选出两个点,那就只需S到a的方案数 * a到T的方案数 + S到b的方案数 * b到T的...原创 2018-08-19 00:22:49 · 344 阅读 · 0 评论