摘要:
题意:从 1 走到 n,要求所走路径不能出现给定的路径,求最短路 思路:因为要求不能出现给定路径,那么我可以求助ac自动机完成判断。 我们可以在build的时候标记哪些路径不能出现,显然下面这种表示后缀不能出现,那么他也不能出现 然后再把图建完整。因为如果一个路径不在Trie中有两种情况,一种是他可 阅读全文
摘要:
题意:问你主串有几种模式串。但是所有串都是加密的,先解码。解码过程为:先把串按照他给的映射表变成6位数二进制数,然后首尾衔接变成二进制长串,再8位8位取变成新的数,不够的补0。因为最多可能到255,所以不能用char存,要用int。 思路:模拟乱搞一下,加个板子完事。 代码: 阅读全文
摘要:
题意:给出主串中每个模式串的个数 思路:毒瘤出题人多组数据没说给的是多组数据。 板子: 代码: 阅读全文
摘要:
题意:给出模式串,问你主串出现了几种模式串。 思1路:ac自动机模板题。参考q学姐:av6295004 ac自动机的基本原理就是在trie上建Fail值,这样我每次失配就去找当前的最长后缀去匹配,一直到完全失配为止,这样我就找遍了所有的模式串。 代码: 阅读全文
摘要:
题意:有2辆车运货,每次同时出发,n(<10),各自装货容量c1 c2,问最少运几次运完。 思路:n比较小,打表打出所有能运的组合方式,用背包求出是否能一次运走。然后状压DP运的顺序。 代码: 阅读全文
摘要:
题意:一个表达式,n + 1个数,n个操作,每个操作Oi和数Ai+1对应,给出每个操作Oi和数Ai+1消失的概率,给出最后表达式值得期望。只有| , ^,&三个位操作 思路:显然位操作只对当前位相关,那么我们可以一位一位求解,算出每一位的概率,然后算出这一位所给出的贡献的期望。 代码: 阅读全文
摘要:
题意:一个栈,每次可以选择和栈顶一样的数字,并且和栈顶距离小于6,然后同时消去他们,问能不能把所有的数消去 思路:一个数字最远能消去和他相距9的数,因为中间4个可以被他上面的消去。因为还要判断栈顶有没有被消去,所以10位dp。dp[i][j]表示第i个栈顶状态为j能否存在,用1表示某位被消去。那么直 阅读全文
摘要:
题意:一张图,F是起点,Y是必须要到的点,D不能走,G可以充电。可以往四个方向走,每走一步花费一个电,走到G可以选择充满电或者不充,每个G只能充一次。问你走遍Y的最小初始点亮。number(G) + number(Y) <= 15 思路:显然Y和G都只要用一次就行,那么状压YG状态。然后BFS出任意 阅读全文
摘要:
题意:2n个点,一个起点,开n枪,每枪必须打两个点,花费为起点到其中一点距离加上两点距离。问打完2n个点的最小花费。 思路:很显然应该dp状态,然后枚举i j两个空位置去填,那么复杂度$O(20 * 20 * n^{20})$,这个会超时。因为内存限制不能预处理每个状态的子状态。所以我们要想办法减少 阅读全文
摘要:
题意:m个城市,n个人,让这n个人按固定顺序走遍m个城市。每个城市有一个单人票价pi。每个人在每个城市能获得vij的价值。如果多个人在同一城市,那么会额外获得价值,给出一张n * n价值表,额外价值为任意两个组成队伍的价值和。每个人可以在中途退出,但是退出后不能再回来。问终点后最大价值。 思路:dp 阅读全文