摘要: 传送门 分析 首先我们发现$k$位数实际就是一位的情况的$k$次方 考虑一开始的总方案数是$2^{nm}$ 我们每一次枚举其中有$i$行$j$列 对于这种情况的容斥系数为$(-1)^{i+j}$ 方案数为$C_n^i*C_m^j*2^{(n-i)(m-j)}$ 表示$n$行选$i$行,$m$列选$j 阅读全文
posted @ 2018-11-03 20:40 水题收割者 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 每次拿a中最大的去匹配b中最小的 至于原因画个图感性思考一下就可以啦 代码 阅读全文
posted @ 2018-11-03 20:28 水题收割者 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 经典的树型DP 我们记录dp[i][0/1]表示i的子树中到i的长度分别为偶数和奇数的长度和 dp2[i][0/1]则表示不在i的子树中的点到i的长度分别为偶数和奇数的长度和 然后根据边的长度情况转移一下就可以了 代码 阅读全文
posted @ 2018-11-03 20:20 水题收割者 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 在经过若干次操作之后一定会产生一堆环 而我们又发现从一个点到另一个点实际可以经过所有环 于是问题就转换成了$k_1s_1 + k_2s_2 + ... + len = t$ 其中$s_i$为每个环的长度,$len$为两点间距离 于是每次gcd求一下就行了 注意两点间距离不用求LCA,用 阅读全文
posted @ 2018-11-03 20:14 水题收割者 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 传送门 分析 先用AC自动机将所有字符串存起来,之后我们从根节点跑一遍dfs 判断时我们只需要判断这个环有没有任意一个字符串的结尾就可以判断是否安全了 注意一个节点的信息需要累加上它fail指针所指位置的信息 代码 阅读全文
posted @ 2018-11-03 19:52 水题收割者 阅读(241) 评论(0) 推荐(0) 编辑