上一页 1 2 3 4 5 6 7 8 ··· 18 下一页
题目链接 思路:将字符串扩大两倍然后再用后缀数组排序后得出的sa数组判断得出答案 #include <iostream> #include <stdio.h> #include <cstring> #include <algorithm> using namespace std; #define M Read More
posted @ 2020-10-11 15:15 Ldler Views(52) Comments(0) Diggs(0) Edit
题目链接 题意: 思路:由于n和mod很小,因此可以直接枚举a - [0,10000],然后因为f[3]-a2*f[1]=b*(a+1)用扩展欧几里得求a+1关于MOD的逆元的然后求出b,再去确认ab是否符合。 #include <bits/stdc++.h> using namespace std Read More
posted @ 2020-10-10 13:22 Ldler Views(116) Comments(0) Diggs(0) Edit
题目链接 题意: 思路:对原式化简得(c*f-d*e) / (d*f) = a/b。将a/b进行最简式化简得a1/b1 由此可知 c*f-d*e=a1 d*f=b1 分情况考虑,如果b1!=b 则可以令d=b1 f=1 c=a1+b1 e=1。 反之,因为b=c*f,要求c*f-d*e=a1,这很明 Read More
posted @ 2020-10-09 15:56 Ldler Views(62) Comments(0) Diggs(0) Edit
题目链接 题意:求两个串的最长公共子串长度 思路:对a串建sam,b串跑 #include <bits/stdc++.h> using namespace std; #define ll long long const int maxn=250010; char s[maxn]; struct Su Read More
posted @ 2020-10-08 17:00 Ldler Views(78) Comments(0) Diggs(0) Edit
题目链接 题意:求n个字符串的公共子串(n<=10,len(s[i])<=100000) 思路:将第一个字符串建立sam,把其他字符串跑到sam的每个节点的最长匹配长度记录下来。然后对于每个结点取最小,用dp数组记录。但对于每个fa[i],应该dp[fa[i]]=max(dp[fa[i]],dp[i Read More
posted @ 2020-10-08 16:31 Ldler Views(103) Comments(0) Diggs(0) Edit
题目链接 题意:一个n*m的格子里全是灯。每次选出一个矩形,改变四个角灯的状态,而且右下角的灯初始必须是开的。 思路:Nim积模板题。 #include<iostream> #include<cstdio> #include<cstring> #define N 2000000 using name Read More
posted @ 2020-10-08 09:26 Ldler Views(103) Comments(0) Diggs(0) Edit
题目链接 题意:一个三维平面里全是灯。每次选出一个正方体,改变八个角灯的状态,而且右下角的灯初始必须是开的。 思路:类似于三维翻硬币游戏。要用到三维Nim积。 学习Nim积的论文:http://www.doc88.com/p-5098170314707.html #include<iostream> Read More
posted @ 2020-10-08 09:22 Ldler Views(104) Comments(0) Diggs(0) Edit
题目链接 题意:两人轮流取石子,总共三堆石子数量分别为n,m,p,每次取石子只能取斐波拉契数字数量,在最优状态下谁先取完。 思路:很明显可以将每堆石子看成一个节点,因此答案为sg[n]^sg[m]^sg[m]的值如果为0,后手获胜,反之先手获胜。 因为大小只有1000,可以直接去推sg函数求解。 可 Read More
posted @ 2020-10-06 21:46 Ldler Views(104) Comments(0) Diggs(0) Edit
思路:杜教筛模板题。 #include <algorithm> #include <cstdio> #include <cstring> #include <map> using namespace std; const int maxn = 2000010; typedef long long l Read More
posted @ 2020-10-06 19:22 Ldler Views(96) Comments(0) Diggs(0) Edit
题目链接 题意: 其中d(n)代表n的约数个数 思路: #include <bits/stdc++.h> using namespace std; #define int long long const int N = 5e4 + 5; int n, m, T, pr[N], mu[N], d[N] Read More
posted @ 2020-10-05 20:28 Ldler Views(92) Comments(0) Diggs(0) Edit
上一页 1 2 3 4 5 6 7 8 ··· 18 下一页