摘要:
题目链接:https://www.luogu.com.cn/problem/P1036 void dfs(int n,int k,int cnt,int i,int res) { if(cnt==k){ bool ok=true; for(int i=2;i*i<=res;i++){ if(res% 阅读全文
posted @ 2025-03-09 19:59
Marinaco
阅读(42)
评论(0)
推荐(0)
摘要:
生成子集 将是否选取记为0/1,那么组合的方案可以转化为一个二进制数 共有2^n个方案数 for(int i=0;i<(1<<n);i++){//i代表选取的方案 //初始化 for(int k=0;k<n;k++){//(1<<k从右往左匹配) if(i&(1<<k)){//选到第n-k个数,(从 阅读全文
posted @ 2025-03-09 19:31
Marinaco
阅读(11)
评论(0)
推荐(0)
摘要:
题目链接:https://www.luogu.com.cn/problem/P2234 题意:略 思路: 可以用set二分来做,在线插入元素,对set进行lower_bound查找插入的元素 如果没找到说明插入的元素比之前的都大,直接abs(x-big) 如果找到,要看看两侧的哪个差值与插入的元素小 阅读全文
posted @ 2025-03-09 18:40
Marinaco
阅读(13)
评论(0)
推荐(0)
摘要:
int a[maxn],b[maxn]; int res; void merge(int l,int r){ if(l==r)return; int mid=l+r>>1; merge(l,mid);merge(mid+1,r); int i=l,j=mid+1,p=l; while(i<=mid& 阅读全文
posted @ 2025-03-09 15:51
Marinaco
阅读(8)
评论(0)
推荐(0)
摘要:
pi数组存储着以i位置为结尾的最长匹配真前后缀的长度 模式串:s2 主串:s1 str = s2 + "#" + s1 kmp算法能够快速找到模式串在主串中的位置(当pi的大小与模式串长度一致时,说明匹配。匹配位置:i-2*m(因为还要减去模式串在str中的长度))和数量! 时间复杂度O(n) 这个 阅读全文
posted @ 2025-03-09 09:56
Marinaco
阅读(45)
评论(0)
推荐(0)
摘要:
字符串哈希重点在于将字符串映射成一个P进制数字 P通常取131 ull p[maxn],h[maxn]; const int P=131; void init(){ p[0]=1,h[0]=0; for(int i=1;i<=n;i++){ p[i]=p[i-1]*P;// p[i] -> p^i 阅读全文
posted @ 2025-03-09 09:18
Marinaco
阅读(26)
评论(0)
推荐(0)

浙公网安备 33010602011771号