摘要:
这题有个技巧就是保留前缀和后缀级,然后利用公式 a*b MOD c = ( a MOD c * b MOD c ) MOD c。代码如下:#include <cstdlib>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define MOD 1000000007using namespace std;int N;long long a[100005], l[100005], r[100005];int main(){ while (sca 阅读全文
摘要:
先生成蛇型矩阵,然后再筛选出素数进行标记,最后bfs。这里要注意题目要求的1-10000的之间的数路径,但是并不代表我们只要打印到这个范围的素数,因为很可能边沿的点需要走到外面的图形来完成对短路,外围的也不要打印太多,毕竟素数的个数越到外面是越稀疏的,所以打印到40000足矣。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>#include <map>#define MAXN 40000using namespace std;i 阅读全文
摘要:
首先将7种方块拆成19种方块,然后在进行dfs组合,当然如果给定的N*M不是4的倍数的时候记得直接输出0。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;int N, M, ans, END, G[35][35], many[20];int mp[20] = {1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7};char ss[50][6][6] = { { "####" 阅读全文