不懂hash的话:https://www.cnblogs.com/ALINGMAOMAO/p/10345850.html 思路:对于一个大矩阵的每一个子矩阵都对应着一个hash值k, 当k出现2次以上时就满足要求 只是对长度进行二分就可以了. 收获:学会了hash算法 #include<iostream> #include<map> using namespace std; #define ll long long #define ull unsigned long long ;…
Tr A Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4166 Accepted Submission(s): 3109 Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973. Input 数据的第一行是一个T,表示有T组数据.每组数据的第一行有…
1: UVa 10887 - Concatenation of Languages map 可以做 ,但是输入实在恶心,有空串之类的HASH模板: int Hash(char *s){ int seed=131,sum=0; while (*s) sum=sum*seed+(*s++); return (sum&0x7FFFFFFF)%N;} void hash_insert(int s){ int h=Hash(c[s]); int u=head[h]; while…