摘要: 用队列维护一下即可#include#include#include#includeusing namespace std;const int maxn=500000+10;int n,k;int a[maxn];int tot[1000000+10];struct Node{ int id; ... 阅读全文
posted @ 2016-01-14 14:57 Fighting_Heart 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 先预处理出所有连通块,对于每一个*,看他四周的连通块即可#include#include#include#includeusing namespace std;const int maxn=1000+10;char s[maxn][maxn];int Map[maxn][maxn];int n,m;... 阅读全文
posted @ 2016-01-14 14:57 Fighting_Heart 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 水题#include#include#includeusing namespace std;const int maxn=1000000+10;char s1[maxn],s2[maxn];int a[maxn],b[maxn];int lena,lenb;int c;int main(){ ... 阅读全文
posted @ 2016-01-14 14:55 Fighting_Heart 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 水题#include#include#includeusing namespace std;const int maxn=100+10;int a[maxn][maxn];int n,m;int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;... 阅读全文
posted @ 2016-01-14 14:55 Fighting_Heart 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 树状数组+离散化。把所有数字离散化到1--n,设离散化之后的数组为m[a[i]],对于主元,只有m[a[i]]==i的m[a[i]]才可能。然后要算m[a[i]]之前比m[a[i]]小的个数是否为m[a[i]]-1,如果是的,那么就是主元,利用树状数组可以在log(n)效率内运算前缀和或者更新单点。... 阅读全文
posted @ 2016-01-14 08:28 Fighting_Heart 阅读(720) 评论(0) 推荐(0) 编辑