摘要:
题意 题目描述 袋子里有 \(n\) 个球。每次依次取出两个,把第二个球涂成第一个球的颜色,然后放回袋里搅匀。你的任务是算出让所有球的颜色相同所需要的取球次数期望。 输入格式 输入仅一行,包含一个长度小于 \(25\) 的字符串,每个字符为一个大写英文字母,代表一个球的颜色。 输出格式 输出仅一行, 阅读全文
摘要:
题意 题解 可以考虑转化到 KMP 相关问题。 KMP 的常规匹配是看当前字符位是否相同,而本题可以改为当前字符和前一个相同字符的距离是否相同,因为这样的字符串经过反转之后一定能变成相同的。 当前字符到前一个相同字符的距离 \(pre_i\) 数组可以预处理。 注意:当与前一个相同字符的距离大于当前 阅读全文
摘要:
KMP 的灵活运用 阅读全文
摘要:
题意 题解 很水的题啊。 不难想到对于每一个人当作点连边,如果一个人第一次出现就新建一个点。 然后求出每两个点之间的最短路,取最大值,特判是否不连通。 判断一个人是否出现过可以用 Hash,但是感觉 Hash 之后还要开 map 记录数值,干脆直接开map<string,int>. 所以为什么有这篇 阅读全文
摘要:
题意 根据一个递推式不断求出元素,判断这个数出没出现过。 题解 以前只写过邻接表的哈希表,没写过链前的哈希表,贴一下代码。 代码 #include<bits/stdc++.h> using namespace std; #define ll long long const int INF = 0x3 阅读全文