当前位置: 首页 > news >正文

周口网站建设专家网站制作及管理教程

周口网站建设专家,网站制作及管理教程,培训网站排名,设置字体颜色的网站正题 题目链接:https://www.luogu.com.cn/problem/P4173 题目大意 给出两个字符串S,TS,TS,T#xff0c;其中包含小写字母和一些???#xff0c;???可以匹配任何字符。 求有多少个ppp使得T0∼∣t∣−1Sp∼p∣t∣−1T_{0\sim |t|-1}S_{p\sim p|t|-1}T0∼∣t∣−1​Sp∼…正题 题目链接:https://www.luogu.com.cn/problem/P4173 题目大意 给出两个字符串S,TS,TS,T其中包含小写字母和一些??????可以匹配任何字符。 求有多少个ppp使得T0∼∣t∣−1Sp∼p∣t∣−1T_{0\sim |t|-1}S_{p\sim p|t|-1}T0∼∣t∣−1​Sp∼p∣t∣−1​ 解题思路 如果不考虑???我们可以用做差法来匹配两个字符构造匹配函数 f(x)∑i0m(Ti−Sxi)2f(x)\sum_{i0}^{m}(T_i-S_{xi})^2f(x)i0∑m​(Ti​−Sxi​)2 这样若f(x)0f(x)0f(x)0证明它们在位置xxx处匹配。 但是现在有???也就是要跳过有???的位置定义???的值为000然后改一下匹配函数f(x)∑i0m(Ti−Sxi)2TiSxif(x)\sum_{i0}^{m}(T_i-S_{xi})^2T_iS_{xi}f(x)i0∑m​(Ti​−Sxi​)2Ti​Sxi​ 展开二次项f(x)∑i0mTi3Sxi−2Ti2Sxi2TiSxi3f(x)\sum_{i0}^{m}T_i^3S_{xi}-2T_{i}^2S_{xi}^2T_iS_{xi}^3f(x)i0∑m​Ti3​Sxi​−2Ti2​Sxi2​Ti​Sxi3​ 把TTT反过来就是∑i0mTm−i−13Sxi−2Tm−i−12Sxi2Tm−i−1Sxi3\sum_{i0}^{m}T_{m-i-1}^3S_{xi}-2T_{m-i-1}^2S_{xi}^2T_{m-i-1}S_{xi}^3∑i0m​Tm−i−13​Sxi​−2Tm−i−12​Sxi2​Tm−i−1​Sxi3​ 然后有三个式子卷积之后加起来就好了。 常数极大开-O2\text{-O2}-O2才能过。时间复杂度O(nlog⁡n)O(n\log n)O(nlogn) code #includecstdio #includecstring #includealgorithm #includecmath #includequeue #define int long long using namespace std; const int N1e62e5; const double Piacos(-1); struct complex{double x,y;complex(double xx0,double yy0){xxx;yyy;return;} }; complex operator(complex a,complex b) {return complex(a.xb.x,a.yb.y);} complex operator-(complex a,complex b) {return complex(a.x-b.x,a.y-b.y);} complex operator*(complex a,complex b) {return complex(a.x*b.x-a.y*b.y,a.x*b.ya.y*b.x);} struct poly{complex a[N]; }F[3],G[3]; int n,m,r[N],k; char s[N],t[N]; queueint q; void FFT(complex *f,int op,int n){for(int i0;in;i)if(ir[i])swap(f[i],f[r[i]]);for(int p2;pn;p1){int lenp1;complex tmp(cos(Pi/len),sin(Pi/len)*op);for(int k0;kn;kp){complex buf(1,0);for(int ik;iklen;i){complex ttbuf*f[ilen];f[ilen]f[i]-tt;f[i]f[i]tt;bufbuf*tmp;}}}if(op-1)for(int i0;in;i)f[i].x/(double)n;return; } void mul(poly a,poly b){FFT(a.a,1,k);FFT(b.a,1,k);for(int i0;ik;i)a.a[i]a.a[i]*b.a[i];FFT(a.a,-1,k);return; } signed main() {scanf(%d%d,m,n);scanf(%s,t);scanf(%s,s);for(int i0;in;i){char cs[i];int zs[i]-a1;if(c*)z0;F[0].a[i]complex(z*z*z,0);F[1].a[i]complex(z*z,0);F[2].a[i]complex(z,0);}for(int i0;im;i){char ct[m-i-1];int zc-a1;if(c*)z0;G[0].a[i]complex(z,0);G[1].a[i]complex(z*z,0);G[2].a[i]complex(z*z*z,0);}k1;for(k1;k2*n;)k1;for(int i0;ik;i)r[i](r[i1]1)|((i1)?(k1):0);mul(F[0],G[0]);mul(F[1],G[1]);mul(F[2],G[2]);for(int i0;ik;i)F[0].a[i].xF[0].a[i].x-2.0*F[1].a[i].xF[2].a[i].x;k0;for(int i0;in-m;i)if(fabs(F[0].a[im-1].x)0.5)k,q.push(i);printf(%d\n,k);while(!q.empty())printf(%d ,q.front()1),q.pop();return 0; }
http://www.pierceye.com/news/64145/

相关文章:

  • 建网站 域名 空间wordpress查看全文
  • aspcms是网站什么漏洞重庆网站seo外包
  • 网站开发流程一般全包装修多少钱
  • 做云教育集群网站win10建站wordpress
  • 可信网站认证logo网站佣金怎么做分录
  • 建设银行乾县支行网站wordpress做网站容易吗
  • 网站运营是具体的搭建微信小程序
  • 做架构图的网站佛山建网站费用
  • 网站开发大作业报告电子商务网站体系结构有哪些?
  • php购物网站开发uml图在哪里找做网站的客户
  • 经典的企业网站有道云笔记 wordpress
  • 网站建设流程图片淘宝网站制作多少钱
  • 沧州海外网站建设炫酷网页html代码
  • 内江规划建设教育网站上海网站备案核验
  • 湖南网站建设哪里好四川成都现在可以去吗
  • 做刷票的网站中国核工业第五建设有限公司简介
  • 网站页面策划软件做课件最好的素材网站
  • 查网站域名备案上海广告网站建设
  • 温州网站建设培训学校wordpress如何下载
  • 长沙 网站优化在线设计平台的用户群分析
  • 网站开发 项目的招标文件纯色涂料网站建设
  • mvc4 做网站国家建设信息公示平台
  • 增城住房和城乡建设局网站百度广告安装入口
  • 网站接入商网店设计教程
  • 网站建设与网页设计实践报告hao123网址大全浏览器设为主页
  • 汽车销售服务东莞网站建设网站数据库建设方案
  • 网站备案的幕布尺寸免费制作网站app
  • 给个人建网站的公司网站建设怎么好
  • wordpress新闻视频站企业网站建设合同模板
  • 旌阳移动网站建设做电影网站如何买版权