2017-Sp323-team2
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
== 流水账 ==
=== chenjb ===
=== oipotato ===
=== subconscious ===
== 题解 ==
* A:AC自动机求出每个位置作为后缀的最长串,之后随意扫一扫即可。
* B:从小到大枚举边权,问题转化为加边删边维护连通性,离线即可。
* C:long long压下来,每次找最高的一个0是怎么变成1的,爆搜。
* D:四种可能,盘子落地,狗追上的时候盘子高度符合,盘子高度符合的时候狗追上,狗一上来就跳。
* E:每次根节点对应集合当中最左下的点,然后每棵子树按极角序顺序分配,最后连根到子树根的边即可。
* F:
* G:暴力维护并查集,用线段树取出区间内还没有被修改过的点,集合保证复杂度。
* H:预处理后斯坦纳树。
* I:暴力枚举所有解。
* J:dp,做四次。
* K:
* L:当A=B或者M=min(A,B)时是公平的,sg值为x%(m+1),否则当A>B的时候A一定赢,因为即使sg值为0,也可以取走一个m+1且不改变sg值;反之如果sg=0则B必赢,不然当且仅当A可以通过一次操作把局面变成sg=0且没有人超过M。
流水账
chenjb
oipotato
subconscious
题解
- A:AC自动机求出每个位置作为后缀的最长串,之后随意扫一扫即可。
- B:从小到大枚举边权,问题转化为加边删边维护连通性,离线即可。
- C:long long压下来,每次找最高的一个0是怎么变成1的,爆搜。
- D:四种可能,盘子落地,狗追上的时候盘子高度符合,盘子高度符合的时候狗追上,狗一上来就跳。
- E:每次根节点对应集合当中最左下的点,然后每棵子树按极角序顺序分配,最后连根到子树根的边即可。
- F:
- G:暴力维护并查集,用线段树取出区间内还没有被修改过的点,集合保证复杂度。
- H:预处理后斯坦纳树。
- I:暴力枚举所有解。
- J:dp,做四次。
- K:
- L:当A=B或者M=min(A,B)时是公平的,sg值为x%(m+1),否则当A>B的时候A一定赢,因为即使sg值为0,也可以取走一个m+1且不改变sg值;反之如果sg=0则B必赢,不然当且仅当A可以通过一次操作把局面变成sg=0且没有人超过M。