![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
摆渡过江
球可以不打,游戏可以不打,然题不能不刷
展开
-
zcmu 1603 卡斯丁狗的战舰帝国(并查集+模拟)
思路:看到题目我只知道,普通的暴力模拟是不行的,但是不知道用什么办法优化,然后看到网上的大佬们用了并查集恍然大悟;用并查集维护每条船攻击后的根节点,最后输出查询位置的根节点就行,如果在期间存在该位置的根节点的下个位置的根节点也已经沉了,说明所有的船都已经沉了,退出循环;代码如下:#include <iostream>#include <cstdio>#in...原创 2018-07-24 11:40:51 · 170 阅读 · 0 评论 -
zcmu 1598 TomCat的环(快速幂取模)
思路如下:一共个方案数是:(m-1)^n+(m-1)*(-1)^n;所以答案最多就是3^100000,正常算幂肯定是要超时的,所以要用快速幂取模,详见百度;代码如下:#include <bits/stdc++.h>using namespace std;long long quick(long long a, long long b, long long c){...原创 2018-07-26 10:44:26 · 177 阅读 · 0 评论 -
hdu 2594(扩展kmp算法+kmp算法的两种解法)
思路:题目意思很好懂,就是求s1的前缀和s2的后缀的最长公共长度;下面两种解法1.把s1当成字串,s2当成母串,问题就变成了典型的扩展kmp算法问题,只不过要注意,扩展kmp求的ex[i]代表s2[i...len-1]和s1 最长的公共前缀的长度 ,也就是说ex[i]只是s2后缀的前缀字串,而题目要求的是s2的后缀,所以只有当ex[i]+i==s2_len的时候才是正确的答案; 2.把两个...原创 2018-08-30 15:39:59 · 1874 阅读 · 0 评论 -
迷宫问题(bfs+路径记录)
思路:正常bfs搜索,然后记录每个点的父节点,最后找父节点,最后输出路径;代码如下:#include <iostream>#include <string>#include <vector>#include <set>#include <cstring>#include <climits>#include...原创 2018-09-14 13:56:36 · 4334 阅读 · 0 评论 -
关于莫队算法时间复杂度的分析
这两天看了莫队,对于莫队算法感觉实现还是很简单的,但是时间复杂度的理解好像网上的文章都没有讲的太明白(也可能是我理解能力有问题Orz);莫队的时间复杂度的贡献主要来自于L,R指针的移动:L跨块转移的次数O(sqrt(n)),跨块转移的总距离为O(n);即不跨块转移的次数为O(n-sqrt(n)),每次的查询的复杂度是O(sqrt(n));所以L的时间复杂度为O(n)+O(n-sqrt(n...原创 2019-05-20 16:19:33 · 2503 阅读 · 1 评论