UESTC 2017 Summer Training #11~15补题

UESTC 2017 Summer Training #11 Div.1

E (AC)自动机+(dp)

  • 比较常规的(AC)自动机计数。加了几个限制条件。首先必须包含一个大写字母一个小写字母一个数字,这个条件可以用状压表现在状态中。然后有些数字可以当作字母,在转移中直接当作字母处理即可。
  • 在转移中:大写字母当作小写字母转移,小写字母正常转移,(0)(1)(3)(5)(7)转移成小写字母,至于(2)(4)(6)(8)(9)因为在(AC)自动机里没法匹配(只有小写字母),所以直接都转移到(0)节点上。

H 一般(dfs)+记忆化搜索

  • 题目给了提示,既是求(x_1+x_2+...+x_D=H-1)的解(varphi_i),然后求这些解对应的(pascal)值。
  • 求值中用了记忆化,而且题目又提醒你一个解(varphi_i)的不同排列的(pascal)值是相同的,故搜索的时候排序后再搜索。

UESTC 2017 Summer Training #12 Div.1

B(暂时不用补)0

D(暂时不用补)1

E 数论题,首先((0,1,k))是满足题中等式的,其次,可以发现如果((a,b,c))是一组满足条件的解的话,那么 ((k*(a+b)-a,b,c))也满足条件。那么可以从((0,1,k)) bfs 求得其他解,而出现过的数则存入set中。

[Megumin的代码] (代码什么的,当然是不存在的呀

H 图论

G(暂时不用补)0

I(暂时不用补)0

J

L(暂时不用补)1

UESTC 2017 Summer Training #13 Div.1

E 贪心,首先,我们应优先选择结束时间早的节目,那么先对节目按结束时间升序排序,其次,当我们要放入一个节目时,应贪心选取比这个节目开始时间早的,且结束时间最迟的节目进行替代。

[Megumin的代码] (代码什么的,当然是不存在的呀)

H DP(暂时不用补)1

I 数学(暂时不用补)0

J Trie | DP

UESTC 2017 Summer Training #14 Div.1

I题 随机化算法 本题肯定有解,解的数量很多,传统的寻找方法复杂度会很高,因而考虑随机化

WQF代码

UESTC 2017 Summer Training #15 Div.1

A 二分+dfs

B (暂时不用补)0

C 字符串(KMP)

  • 一道利用(KMP)原理的题。其中为了快速得到出现的个数可以开个数组递推,否则T。
  • 一个坑点是会重复加入一样的字符串到集合里,用(vis[])数组判断即可。

E (暂时不用补)1

J 模拟+想法

K 字符串(hash)

  • 枚举第二个字符串的分割点,对这三个字符串计算(hash)值。怎样判断能组成第一个字符串呢?注意到只分成了三个字符串,那么我们可以枚举三个字符串的组合顺序!!!对每种顺序计算第一个字符串的三个(hash)值,再与第二个字符串的(hash)值比较。
  • 有一步思想转换:很难对第一个字符串再做操作=>枚举第二个字符串的三个分解字符串的组合顺序。
原文地址:https://www.cnblogs.com/ACGO/p/7218817.html