摘要:
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 对m个串建立一棵字典树。 然后对主串。 尝试从第一个位置开始.在字典树中尝试匹配 如果匹配到了位置i 就再从位置i+1开始尝试匹配 (这时又重新从根节点开始重新匹配 每次匹配最多只要往下走50步。 写个递归的过程就好。 【代码】 阅读全文
摘要:
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举序列的头两个数字是什么 O(N^2) 然后头两个数字确定之后。 f[3],f[4]..就确定了 只需查看f[3],f[4]..是不是存在就好了。 但是这样复杂度看起来是O(N^3)的了。 其实不然,a[n] = a[n 1] 阅读全文
摘要:
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 1 2 3 ... n中末尾0的个数 只会由素因子2和5的个数决定且等于 Min{cnt[2],cnt[5]} 且素因子2的个数一定会比5多; 所以n!的末尾0的个数 等于for (int i = 1;i 【代码】 cpp in 阅读全文
摘要:
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 先求出c b x的所有可能 存在map里面 然后枚举y看看a y在不在map里面 在的话就有解。 这样复杂度是$O(N log_2N)$的 比直接两层循环枚举的$O(N^2)$复杂度要来的好 这种方法也叫"中途相遇法" 【代码】 阅读全文
摘要:
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 会发现每个环可以操作的次数是固定的。 (环的大小 1 也就是说一旦环确定了。其实结果就已经确定了。 则直接看操作总数的奇偶性就可以了。 【代码】 cpp include define long long using namesp 阅读全文
摘要:
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 模拟。 【代码】 cpp include using namespace std; int main(){ ifdef LOCAL_DEFINE freopen("rush_in.txt", "r", stdin); endif 阅读全文