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. [转]Php MySql Class

    本文转自:http://www.cnblogs.com/noevil/archive/2010/11/06/1870864.html <?php /**  * 数据库操作类  *  * @aut ...

  2. ABP教程(三)- 开始一个简单的任务管理系统 – 后端编码

    上一篇 我们介绍了什么是ABP,这一篇我们通过原作者的”简单任务系统”例子,演示如何运用ABP开发项目 创建实体 一般来说任务是需要分配给人来做的,所以我们创建两个实体模型类:Task和Persion ...

  3. 12. binary search Trees

    12. binary search Trees    The search tree data structure supports many dynamic-set operations,inclu ...

  4. jboss中JVM监控

    1)打开 http://server-name-or-ip/jmx-console/HtmlAdaptor2)在 jboss.system 节点找到 type=ServerInfo ,点击进入3)找到 ...

  5. Node.js——重定向

  6. asterisk-java ami 入门篇,连接与关闭服务器

    我选择的是通过AsteriskServer 来生成连接,因为后面要通过AsteriskServer来进行监听通话属性的改变. demo: AsteriskServer asteriskServer=n ...

  7. SweetAlert如何实现点击Confirm之后自动关闭

    swal({ title: "Are you sure?", text: "You will not be able to recover this imaginary ...

  8. Html 内联元素、外联元素 和 可变元素

    块元素(block element)一般是其他元素的容器元素 块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P".“form"这个块元素比较特殊,它 ...

  9. Java IO(四--字符流基本使用

    在上一节,介绍了字节流的基本使用,本节介绍一下字符流的使用 Reader: public abstract class Reader implements Readable, Closeable { ...

  10. 使用github作为maven仓库

    本文介绍的这种使用 github 作为 maven 仓库的思路主要为: github的项目上创建mvn-repo分支,使用mvn-repo分支作为maven仓库 配 置 pom.xml 使用 targ ...