======= 2020/07/25-2020/07/31周报 ======= ====== 团队训练 ====== ====== 李元恺 ====== =====题目===== =====比赛===== [[https://atcoder.jp/contests/aising2020|M-SOLUTIONS Programming Contest 2020]](atcoder) ''pros:5/6/6 rk:249'' ====== 姜维翰 ====== ===== 比赛 ===== cf edu 92(码农专场.jpg) ====== 袁熙 ====== ===== 专题 ===== 没有专题 ===== 比赛 ===== 没有比赛 ===== 题目 ===== 补题(板子) 牛客第五场B \\ [[https://​ac.nowcoder.com/​acm/​contest/​5670|链接]] \\ 题意;给边带权的树,可以连边或删边,要求始终连通且形成的环异或和=0,求最后图的最小权值和\\ 思路:对原图的树,可以把边权用所连点的权值异或和来表示,转化成异或最小生成树\\ 类似的模板题:[[http://​codeforces.com/​problemset/​problem/​888/​G|链接]] ====== 本周推荐 ====== ====== 李元恺 ====== [[https://codeforces.com/contest/1383/problem/C|Codeforces Round 659 1C]] 标签:图论、状压dp 题意:两个字符串S、T,字符集大小20,每次可以从S中选任意多个相同字符,将他们变成另一个字符,问最小多少次可以将S变成T。 思路:将每个字符作为一个点,如果存在字符$s_i = a$ 且$t_i = b$ 建立一条a->b的有向边,计这个图为$G_1$。 1、观察可以发现,如果一个弱联通图的最优解不是链状(若所有操作都满足上一次操作选择的边的终点等于下一次操作的起点,则是链状),则一定存在一个操作数相同的链状方案。 证明:显然每个点都至少要被一条边覆盖,如果不是链状,则一定有两条边指向相同点,此时可以把先操作的边的目标改为后操作的边的起点,重复这样调整,最终会得到一个操作数相同的链状解。 2、现在我们可以用一个序列{$a_n$}来表示答案,$a_1,a_2,...,a_n$表示依次执行$a_1$->$a_2$,$a_2$->$a_3$,...,$a_{n-1}$->$a_n$, 序列$a_1,a_2,...,a_n$合法 iff 任意$G_1$中的边u->v,存在i,j满足$i