好题,这道题体现了换一个角度计数的思想

a1^2+a2^2+……ak^2=(变成第1种输出序列的操作序列数目)^2+(变成第2种输出序列的操作序列数目)^2……

脑洞大一点,这就相当于两个操作序列变成相同输出序列的对数(包括自己和自己)

于是dp即可……dp[i,j,k]表示输出到第i个,第一个操作序列在上面取了j个,第二个操作序列在上面取了k个,怎么弄大家都会……

 const mo=;

 var s1,s2:array[..] of char;
p,m,n,i,j,k,j1,k1:longint;
f:array[..,..,..] of longint; procedure reverse;
var s:ansistring;
begin
readln(s);
for i:= to n do
s1[n-i+]:=s[i];
s1[n+]:='$';
readln(s);
for i:= to m do
s2[m-i+]:=s[i];
s2[m+]:='#';
end; begin
readln(n,m);
reverse;
f[,,]:=;
for i:= to m+n do
begin
p:=-p;
fillchar(f[p],sizeof(f[p]),);
for j:= to n do
for k:= to n do
if f[-p,j,k]>=mo then f[-p,j,k]:=f[-p,j,k] mod mo;
for j:= to n do
for k:= to n do
begin
j1:=i--j;
k1:=i--k;
if (j1>=) and (k1>=) and (j1<=m) and (k1<=m) then
begin
if s1[j+]=s1[k+] then inc(f[p,j+,k+],f[-p,j,k]);
if s1[j+]=s2[k1+] then inc(f[p,j+,k],f[-p,j,k]);
if s2[j1+]=s1[k+] then inc(f[p,j,k+],f[-p,j,k]);
if s2[j1+]=s2[k1+] then inc(f[p,j,k],f[-p,j,k]);
end;
end;
end;
writeln(f[p,n,n] mod mo);
end.

bzoj1566的更多相关文章

  1. 【BZOJ1566】【NOI2009】管道取珠(动态规划)

    [BZOJ1566][NOI2009]管道取珠(动态规划) 题面 BZOJ 题解 蛤?只有两档部分分.一脸不爽.jpg 第一档?爆搜,这么显然,爆搜+状压最后统计一下就好了 #include<i ...

  2. [bzoj1566][NOI2009]管道取珠

    来自FallDream的博客,未经允许,请勿转载,谢谢. n<=500 神题...... 发现这个平方可以看作两个序列相同的对数  然后就可以表示状态了. f[i][j][k]表示两个序列各选了 ...

  3. bzoj1566: [NOI2009]管道取珠 DP

    题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1566 思路 n个球,第i个球颜色为ai,对于颜色j,对答案的贡献为颜色为j的球的个数的平 ...

  4. BZOJ1566:[NOI2009]管道取珠——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=1566 https://www.luogu.org/problemnew/show/P1758 题目 ...

  5. 【bzoj1566】【管道取珠】竟然是dp题(浅尝ACM-E)

    [pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61891436 向大(hei)佬(e)势力学(di ...

  6. BZOJ1566 [NOI2009]管道取珠 【dp】

    题目 输入格式 第一行包含两个整数n, m,分别表示上下两个管道中球的数目. 第二行为一个AB字符串,长度为n,表示上管道中从左到右球的类型.其中A表示浅色球,B表示深色球. 第三行为一个AB字符串, ...

  7. bzoj1566【Noi2009】管道取珠

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1566 两个栈不断pop,共C(n+m,n)种,ai表示每个相同序列的方案数,求∑(ai^2) ...

  8. BZOJ1566 【NOI2009】管道取珠

    题面 这是一道DP神题,直到我写下这句题解时也没有想明白…… 首先,这道题要我们求所有(不同输出序列的方案数)的平方和,于是我们当然就想到求所有不同输出序列的方案数……(大雾) .这道题一个巧妙的地方 ...

  9. bzoj1566 [NOI2009]管道取珠——DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1566 一眼看上去很懵... 但是答案可以转化成有两个人在同时取珠子,他们取出来一样的方案数: ...

随机推荐

  1. struts2传map到前台出现的问题

    后台打印出的错: 2016-08-16 13:42:52.652 WARN  org.apache.struts2.json.JSONWriter     - JavaScript doesn't s ...

  2. SQL SERVER开窗函数

    作为一名开发人员来讲,我感觉在职场白混了好多年,可能是自己真的没有进取的精神吧,看了<程序员的SQL金典>这本电子书,真的让我学到了不少知识,真心喜欢这本电子书,书中讲解的内容比较好懂,也 ...

  3. div+css的前端工程师的价值体现在哪些方面?

    个人认为前端工程师正慢慢演变为产品工程师.wap app, 响应性UI等以html5技术为基础的开发将成为前端工程师的主要工作内容,解决产品跨平台跨设备的实现问题.Javascript, HTML, ...

  4. android控件---spinner

    spinner下拉列表框的列表项有两种配置方式: 1.通过资源文件配置,通过在values种的xml,比如strings.xml中使用<string-array>元素添加制定列表项内容,然 ...

  5. [luogu 1880]石子合并

    题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  6. [转载]DirectoryEntry配置IIS7出现ADSI Error:未知错误(0x80005000)

    一.错误情况 环境:win7+iis7.0 DirectoryEntry配置IIS7出现如下错误 或者是 下面一段代码在IIS6.0下运转正常,但IIS7.0下运转会出错: System.Direct ...

  7. LA 4384

    扩展欧几里得 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  8. uva 11375

    思路是刘书上的 但是个高精度  java 大数 ~~ import java.util.*; import java.io.*; import java.math.BigInteger; public ...

  9. Unity3d - 初学篇 Event Functions 的 继承 机制

    我们知道Start() Update() 等之类的 事件函数 在Unity 主线程中是依次调用的.至于调用的顺序可以查手册. 由此继承机制也会发生一些改变. 测试一: public class MyT ...

  10. jquery加入收藏代码

    <html> <head> <script type="text/javascript" src="jquery-1.9.1.js" ...