11.13日闲话

推歌

《红昭愿》
手中雕刻生花
刀锋千转蜿蜒成画
盛名功德塔
是桥畔某处人家
春风绕过发梢红纱
刺绣赠他
眉目刚烈拟作妆嫁
轰烈流沙枕上白发
杯中酒比划
年少风雅鲜衣怒马
也不过一刹那
难免疏漏儿时檐下
莫测变化
隔却山海
转身从容煎茶
一生长
重寄一段过往
将希冀都流放
可曾添些荒唐
才记得你的模样
一身霜
谁提笔只两行
换一隅你安康
便销得这沧桑
你还在我的心上
手中雕刻生花
刀锋千转蜿蜒成画
盛名功德塔
是桥畔某处人家
春风绕过发梢红纱
刺绣赠他
眉目刚烈拟作妆嫁
轰烈流沙枕上白发
杯中酒比划
年少风雅鲜衣怒马
也不过一刹那
难免疏漏儿时檐下
莫测变化
隔却山海
转身从容煎茶
一生长
重寄一段过往
将希冀都流放
可曾添些荒唐
才记得你的模样
一身霜
谁提笔只两行
换一隅你安康
便销得这沧桑
你还在我的心上
一生长
重寄一段过往
将希冀都流放
可曾添些荒唐
才记得你的模样
一身霜
谁提笔只两行
换一隅你安康
便销得这沧桑
你还在我的心上

乱搞bitset

常见的成员函数什么的去看oi-wiki吧,这里直说两个一般没人用的。

  1. _Find_first():返回第一个为true的位置,若没有返回size()
  2. _Find_next():返回下一个为true的位置,若没有返回size()

莫队+bitset

模板题:[Ynoi2017] 由乃的玉米田

详见我的题解

bitset乱搞字符串匹配

就是统计模式串t在文本串s中出现的位置。

具体做法就是,对于每一个字符开一个|s|的bitsetBc,用于记录cs中出现的位置。

初始化一个|s|的bitset M,表示所有为1的位置表示可能为结束位置。

遍历t的每一个字符ti,将Bc左移|t|i位,然后与M按位与即可。

最后所有的为1的点就是结束位置。

模板:Substrings in a String

套上面的板子即可,时间复杂度O(n2w)

点此查看代码
#include<bits/stdc++.h>
using namespace std;
#define rep(i,s,t,p) for(int i = s;i <= t; i += p)
#define drep(i,s,t,p) for(int i = s;i >= t; i -= p)
#ifdef LOCAL
FILE *InFile = freopen("in.in","r",stdin),*OutFile = freopen("out.out","w",stdout);
#else
FILE *InFile = stdin,*OutFile = stdout;
#endif
using ll=long long;using ull=unsigned long long;
using db = double;using ldb = long double;
const int N = 1e5 + 1;
char s[N],t[N];int q,n;
bitset<N> pd[27],ans;
inline int get(char x){return x-'a'+1;}
inline void solve(){
cin>>(s+1);n = strlen(s+1);
rep(i,1,n,1) pd[get(s[i])].set(i);
cin>>q;
rep(i,1,q,1){
int op;cin>>op;
if(op ^ 2){
int pos;char x;cin>>pos>>x;
pd[get(s[pos])].reset(pos);
s[pos] = x;
pd[get(s[pos])].set(pos);
}
else{
int l,r;cin>>l>>r>>(t+1);ans.set();
n = strlen(t+1);
rep(i,1,n,1) ans &= pd[get(t[i])]<<(n-i);
// cerr<<ans._Find_first()<<'\n';
cout<<max((int)((ans>>(l+n-1)).count()-(ans>>(r+1)).count()),0)<<'\n';
}
}
}
signed main(){
cin.tie(nullptr)->sync_with_stdio(false);
solve();
}
p

image

posted @   CuFeO4  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示