n<=250个大写字母和m<=250个小写字母,给p<=200个合法相邻字母,求用这些合法相邻字母的规则和n+m个字母能合成多少合法串,答案mod 97654321.

什么鬼膜数。。

f(i,j,k)--i个大写字母,j个小写字母,最后一个字母是k,,其中k是小写字母,p是能接在k前面的任意字母,k是大写字母的话同理。

这样复杂度是n*m*26*26?假的!i,j确定后只有p种合法转移,所以就n*m*p。

trick:记得算i=0和j=0的情况!!!

 #include<cstring>
#include<cstdlib>
#include<cstdio>
//#include<assert.h>
//#include<time.h>
#include<math.h>
#include<algorithm>
//#include<iostream>
using namespace std; bool isdigit(char c) {return c>='' && c<='';}
int qread()
{
char c;int s=,f=;while (!isdigit(c=getchar())) f=(c=='-'?-:);
do s=s*+c-''; while (isdigit(c=getchar())); return s*f;
} const int mod=;
int da,xiao,m;
int f[][][];
int id(char c) {return (c>='a' && c<='z')?c-'a':c-'A'+;}
bool isalpha(char c) {return (c>='a' && c<='z') || (c>='A' && c<='Z');}
struct Edge{int to,next;}edge[];int first[],le=;
void in(int x,int y) {Edge &e=edge[le];e.to=y;e.next=first[x];first[x]=le++;}
int main()
{
da=qread(),xiao=qread(),m=qread();
memset(first,,sizeof(first));
for (int i=;i<=m;i++)
{
char c1,c2;
while (!isalpha(c1=getchar()));
c2=getchar();
in(id(c2),id(c1));
}
for (int i=;i<;i++) f[][][i]=,f[][][i]=;
for (int i=;i<;i++) f[][][i]=,f[][][i]=;
for (int i=;i<=da;i++)
for (int j=;j<=xiao;j++) if (i+j>=)
{
if (j) for (int now=;now<;now++)
{
f[i][j][now]=;
for (int k=first[now];k;k=edge[k].next)
{
const Edge &e=edge[k];
f[i][j][now]+=f[i][j-][e.to],
f[i][j][now]-=f[i][j][now]>=mod?mod:;
}
}
if (i) for (int now=;now<;now++)
{
f[i][j][now]=;
for (int k=first[now];k;k=edge[k].next)
{
const Edge &e=edge[k];
f[i][j][now]+=f[i-][j][e.to],
f[i][j][now]-=f[i][j][now]>=mod?mod:;
}
}
}
int ans=;
for (int i=;i<;i++) ans+=f[da][xiao][i],ans-=ans>=mod?mod:;
printf("%d\n",ans);
return ;
}

BZOJ2272: [Usaco2011 Feb]Cowlphabet 奶牛文字的更多相关文章

  1. 2272: [Usaco2011 Feb]Cowlphabet 奶牛文字

    2272: [Usaco2011 Feb]Cowlphabet 奶牛文字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 138  Solved: 97 ...

  2. 【bzoj2272】[Usaco2011 Feb]Cowlphabet 奶牛文字 dp

    题目描述 Like all bovines, Farmer John's cows speak the peculiar 'Cow'language. Like so many languages, ...

  3. 【BZOJ】【3301】【USACO2011 Feb】Cow Line

    康托展开 裸的康托展开&逆康托展开 康托展开就是一种特殊的hash,且是可逆的…… 康托展开计算的是有多少种排列的字典序比这个小,所以编号应该+1:逆运算同理(-1). 序列->序号:( ...

  4. BZOJ2274: [Usaco2011 Feb]Generic Cow Protests

    2274: [Usaco2011 Feb]Generic Cow Protests Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 196  Solve ...

  5. BZOJ3301: [USACO2011 Feb] Cow Line

    3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 67  Solved: 39[Submit ...

  6. BZOJ3300: [USACO2011 Feb]Best Parenthesis

    3300: [USACO2011 Feb]Best Parenthesis Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 89  Solved: 42 ...

  7. 3301: [USACO2011 Feb] Cow Line

    3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 82  Solved: 49[Submit ...

  8. 【USACO2002 Feb】奶牛自行车队

    [USACO2002 Feb]奶牛自行车队 Time Limit: 1000 ms Memory Limit: 131072 KBytes Description N 头奶牛组队参加自行车赛.车队在比 ...

  9. BZOJ3300: [USACO2011 Feb]Best Parenthesis 模拟

    Description Recently, the cows have been competing with strings of balanced  parentheses and compari ...

随机推荐

  1. 移动端UI自动化Appium测试——DesiredCapabilities参数配置及含义

    一.DesiredCapabilities的作用: 负责启动服务端时的参数设置,启动session的时候是必须提供的. Desired Capabilities本质上是key value的对象,它告诉 ...

  2. android开发学习——Mina框架

    Apache Mina Server 是一个网络通信应用框架,对socket进行了封装. http://www.cnblogs.com/moonandstar08/p/5475766.html htt ...

  3. vue学习之遇见的问题

    1.本地图片加载不出来 错误原因:图片放置位置不对: 解决方法:需要将图片放在static文件夹里

  4. EL表达式、JSTL

    EL表达式 一.简介 > JSP表达式 <%= %> 用于向页面中输出一个对象.        > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段.   ...

  5. 获取请求服务器传输协议http or https

    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PO ...

  6. JAVA——不简单的fianl关键字

    protected用来修饰 域,代表域的访问权限是:包权限 或者 不同包,但是是子类 : final 修饰常量只要是该常量代入的计算式,在编译时期,就会被执行计算,以减轻运行时的负担.(只对基本数据类 ...

  7. 用数据集跑一个模型遇到bug如何解决

    自己在用fast rcnn和ssd跑自己数据集过程中都遇到了bug,fast rcnn中是loss下降但值较高,并且测试出来结果一直不对,ssd是loss从一开始到后面loss都一直为0. 遇到这种情 ...

  8. 模板—trie图

    做了某题之后发现trie的AC自动机太垃圾了,动不动就TLE,然后我就去学了trie图. #include<iostream> #include<cstdio> using n ...

  9. 怎样让Oracle的存储过程返回结果集

    Oracle存储过程: CREATE OR REPLACE PROCEDURE getcity ( citycode IN VARCHAR2, ref_cursor OUT sys_refcursor ...

  10. SpringBoot中部署Swagger2和Swagger-UI

    1 Gradle配置在dependencies中添加以下依赖: implementation("io.springfox:springfox-swagger2:2.7.0") im ...