两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:acm_life_from_zero:8.8-8.14 [2020/08/13 14:41] lak [姜维翰] |
2020-2021:teams:acm_life_from_zero:8.8-8.14 [2020/08/14 18:12] (当前版本) lak [姜维翰] |
||
---|---|---|---|
行 12: | 行 12: | ||
====== 姜维翰 ====== | ====== 姜维翰 ====== | ||
- | ===== 比赛 ===== | + | 小学期咕咕咕 |
- | atcoder abc 174 | + | |
====== 袁熙 ====== | ====== 袁熙 ====== | ||
+ | =====比赛===== | ||
+ | [[https://codeforces.com/contest/1395|Codeforces Round #664 (Div. 2)]] \\ | ||
+ | |||
+ | [[https://codeforces.com/contest/1391|Codeforces Round #663 (Div. 2)]] | ||
- | ===== 比赛 ===== | ||
- | cf round 661 | ||
- | |||
- | |||
====== 本周推荐 ====== | ====== 本周推荐 ====== | ||
====== 李元恺 ====== | ====== 李元恺 ====== | ||
+ | [[https://codeforces.com/contest/1394/problem/B|CF1394B]] | ||
+ | tag:图论、搜索 | ||
+ | |||
+ | 题意:一张n点m边有向由边权图(n,m~1e5),每个点最多k条边($k \leq 9$),对于一个长度为k的数组{$c_k$},满足$c_i \leq i$,定义图对其的转移:一个点,若出度为x,则走边权第$c_x$小的出边。求有多少个${c_k}$满足任意一个点出发经过有限步可以返回出发点。 | ||
+ | |||
+ | 思路:对于一个合法转移,每个点都在一个简单环内,即每个点的入度都必须为1,于是对于每个点的任意两个入边,可以得到一个四元组$(c_i,c_j,v_i,v_j)$表示$c_i = v_i,c_j = v_j$不能同时发生。预处理一下所有的四元组,然后O(k!k)暴搜所有解判断是否合法即可。 | ||
+ | |||
+ | comment:一道解法众多的题,上面只是一种可以通过的解法。 | ||
====== 袁熙 ====== | ====== 袁熙 ====== | ||
+ | [[https://codeforces.com/contest/1393/problem/E1|cf1393E Twilight and Ancient Scroll]] | ||
+ | |||
+ | tag:hash,dp | ||
+ | |||
+ | 题意:给n个词构成的串,词之间按字典序不降,可以选择对每个词进行一次操作:在某个字母后添加一个字母之后选择某个词。之后,选择一个词,撤销此操作。问操作后可能产生的串的不同版本数量 | ||
+ | |||
+ | 思路:考虑dp时,对相邻的两个词$S_1,S_2$,在题意的操作下分别产生$|S_1|+1,|S_2|+1$个子串。如果对子串排序后,对$S_2$的每个子串,可以二分找到合法的$S_1$的子串数量,完成转移。为了在转移时找到合法子串的数量,还需要对每个词hash一下。 | ||
+ | comment:补之前的题( 大概是常规的dp | ||
====== 姜维翰 ====== | ====== 姜维翰 ====== | ||