自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ha

hi

  • 博客(9)
  • 收藏
  • 关注

原创 【YBTOJ】最长异或路径

思路:我们可以先预处理出1~i的异或路径是多少,然后在他们中选两个异或最大的这样就转化成了最大异或对codecodecode#include<iostream>#include<cstdio>using namespace std;int n, head[100010], tot, a[100010];int trie[3000010][2];struct node{ int to, next, w;}b[200010];void add(int..

2021-03-27 08:17:02 84

原创 【YBTOJ】最大异或对

思路:首先异或是相同则0,不同则1,那我们考虑已经选了一个数,那么要使异或值尽可能大就要使最高位尽可能不等那么直接triecodecodecode#include<iostream>#include<cstdio>using namespace std;int n, m, tot=1;int a[1010010];int trie[1001000][2];void insert_n(int x){ int p=1; for(int i=31; i..

2021-03-26 21:25:51 96

原创 【YBTOJ】前缀统计

思路:直接一个trie树codecodecode#include<iostream>#include<cstdio>using namespace std;int n, m, tot=1;int trie[1001000][110];int e[100010];void insert_t(string s){ int lon=s.size(); int p=1; for(int i=0; i<lon; i++) { int c=s[i..

2021-03-26 20:06:01 86

原创 【YBTOJ】子串拆分

思路:我们可以直接枚举左端点,然后用一遍KMP寻找以这个左端点有多少个如题的字符串,至于具体怎么查找kmp本身的原理和它就是相同的。codecodecode#include<iostream>#include<cstring>#include<cstdio>using namespace std;int l;char s[1001000], ss[1001000];int next[1000100];int main(){ scanf(..

2021-03-26 19:20:23 95

原创 【YBTOJ】周期长度和

思路:我们可以把周期理解为一个字符串复制一次可以包含另一个字符串那么我们考虑对于abababa的周期显然是ababab既然ababa是它的最长前缀,那么我们可以考虑继续在里面寻找是否有更小的剩余长度aba,很显然再找,发现是a那么我们就求出了答案codecodecode#include<iostream>#include<cstdio>using namespace std;int n;char s[1000100];int next[10010..

2021-03-24 17:12:45 75

原创 【YBTOJ】重复子串

思路:首先我们知道,1到i和n-i+1到n匹配的话,那么这被分出来的三段都是相等的那么我们就好求了codecodecode#include<iostream>#include<cstring>#include<cstdio>using namespace std;string s;int next[1000100];int main(){ cin>>s; while(s!=".") { memset(next, 0,..

2021-03-24 17:08:33 101

原创 【YBTOJ】子串查找

思路:直接一个KMP,每找完一个就初始化为当前的next,就不会超时了codecodecode#include<iostream>#include<cstdio>using namespace std;string s, ss;int next[100100], num;void ss_next(string ss, int sslen){ next[0]=-1; int k=-1; for(int i=1; i<ss.size(); i++..

2021-03-16 16:36:29 100

原创 【YBTOJ】子正方形

思路:直接四重循环枚举右下角,然后二分长度hash判断codecodecode#include<iostream>#include<cstdio>using namespace std;unsigned long long mod1=1000000007ull, mod2=1000000009ull;int n;unsigned long long hasha[100][100], hashb[100][100];unsigned long long p1..

2021-03-06 11:07:37 104

原创 【YBTOJ】单词背诵

思路:我们先把要背诵的单词存下hash,然后在去第二个单词数列里去寻找然后我们考虑一段区间,将这段区间里的单词背下来,如果发现背多了,那么就从左一次减少区间长度最后找到最短的就行了codecodecode#include<iostream>#include<cstdio>#include<algorithm>using namespace std;unsigned long long mod=131;int n, m;struct node..

2021-03-05 21:30:51 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除