摘要: 思路: 利用并查集/DFS都可以处理连通问题。 PS:注意Find()查找值和pre[]值的区别。 #includeusing namespace std;const int N=1e3+10;int val[N];int pre[N],n,m;vectorxs,ans;int Find(i... 阅读全文
posted @ 2017-03-08 23:23 see_you_later 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 思路: 在一个方向上走K步,基础BFS。 注意标记; 注意路径; PS:显著注释是记录路径。 #includeusing namespace std;const int N=5e2+10;char ma[N][N];bool vis[N][N];int dx[4]={0,0,-1,1};int ... 阅读全文
posted @ 2017-03-08 23:21 see_you_later 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 基础题。 PS:注意unsigned long long; 以及%llu #includeusing namespace std;typedef unsigned long long ULL;typedef long long LL; const int N=5e6+10;bool ispri... 阅读全文
posted @ 2017-03-08 21:43 see_you_later 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 思路: 连通快+二分图,每次+二分图大的元素个数。 #includeusing namespace std;typedef unsigned long long ULL;typedef long long LL;const int N=2e4+10;bool ex[N],vis[N];vecto... 阅读全文
posted @ 2017-03-08 21:41 see_you_later 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 思路: 根据案例的规律其实已经猜的差不多了,answer=n*m/2; 有一条边是1的情况,也很好判断,answer=n*m; 就是有一条边是2的时候比较隐秘:是连续2*2一块可以填,然后2*2不填,没想出总结的公式,就直接模拟了。 #includeusing namespace std;typ... 阅读全文
posted @ 2017-03-08 21:39 see_you_later 阅读(248) 评论(0) 推荐(0) 编辑