JZOJ 4812 【NOIP2016提高A组五校联考2】string
来源:互联网 发布:怎么往云镜上下载软件 编辑:程序博客网 时间:2024/05/22 00:07
string
题目大意
给出一个长度为
由于答案可能很大,模
数据范围
对于
题解
问题转化,求有多少个字符串的字典序小于
我们先枚举第一位,若第一位比
若第一位等于
有两种情况,第一种:第二位比
第二种第二位等于
Code(Pascal)
const mo=1000000007;var f25,jc,ny:array[0..100000] of int64; n,m,j,k,l,i:longint; ch:char; ans,kk,ff:int64; s,t:ansistring;function ksm(o,k:int64):int64; begin ksm:=1; while k>0 do begin if k mod 2=1 then ksm:=ksm*o mod mo; k:=k div 2; o:=o*o mod mo; end; end;begin readln(n,k); readln(s); readln(t); f25[0]:=1; for i:=1 to n do f25[i]:=(f25[i-1]*25) mod mo; jc[0]:=1; ny[0]:=1; jc[1]:=1; ny[1]:=1; for i:=2 to n do begin jc[i]:=(jc[i-1]*i) mod mo; ny[i]:=ksm(jc[i],mo-2); end; l:=0; for i:=1 to n do begin for ch:='a' to chr(ord(t[i])-1) do begin kk:=l; if ch<>s[i] then inc(kk); kk:=k-kk; ff:=n-i; if (kk>=0) and (ff>=kk) then ans:=(ans+((jc[ff]*ny[ff-kk] mod mo)*ny[kk] mod mo)*f25[kk]) mod mo; end; if t[i]<>s[i] then inc(l); if l>k then break; end; writeln((ans+1) mod mo);end.
3 0
- JZOJ 4812 【NOIP2016提高A组五校联考2】string
- [jzoj 4812]【NOIP2016提高A组五校联考2】string
- 【NOIP2016提高A组五校联考2】string
- 【NOIP2016提高A组五校联考2】string
- 【NOIP2016提高A组五校联考2】string
- 【JZOJ 4812】【NOIP2016提高组 五校联考2】string
- jzoj 4812. 【NOIP2016提高A组五校联考2】string 排列组合+乘法逆元
- JZOJ 4813 【NOIP2016提高A组五校联考2】running
- JZOJ 4814. 【NOIP2016提高A组五校联考2】tree
- 【jzoj 4814】【NOIP2016提高A组五校联考2】tree
- JZOJ 4814 【NOIP2016提高A组五校联考2】tree
- 【JZOJ4812】【NOIP2016提高A组五校联考2】string
- jzoj 4811. 【NOIP2016提高A组五校联考1】排队
- JZOJ 4809 【NOIP2016提高A组五校联考1】挖金矿
- JZOJ 4810 【NOIP2016提高A组五校联考1】道路规划
- JZOJ 4811 【NOIP2016提高A组五校联考1】排队
- [JZOJ 4815]【NOIP2016提高A组五校联考4】ksum
- JZOJ 4815 【NOIP2016提高A组五校联考4】ksum
- Thread和Runnable实现多线程的区别
- NOIP提高组【JZOJ4814】tree
- java 剪切板 clipboard.js 与 ZeroClipboard.swf
- HDU 4185 Oil Skimming 【离散化二分匹配 黑白染色】
- 新版caffe添加自己的层(目前只学会添加,我想要添加的loss还没能实现)
- JZOJ 4812 【NOIP2016提高A组五校联考2】string
- 线程中断
- V7 Actionbar 仿微信首页的头部效果
- 守护线程与阻塞线程的四种情况
- Asia Hong Kong Online Preliminary A (FFT)
- synchronized
- Hdu-5412 CRB and Queries(整体二分)
- 链接
- [CodeForce375]E图论