bzoj1566
好题,这道题体现了换一个角度计数的思想
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的更多相关文章
- 【BZOJ1566】【NOI2009】管道取珠(动态规划)
[BZOJ1566][NOI2009]管道取珠(动态规划) 题面 BZOJ 题解 蛤?只有两档部分分.一脸不爽.jpg 第一档?爆搜,这么显然,爆搜+状压最后统计一下就好了 #include<i ...
- [bzoj1566][NOI2009]管道取珠
来自FallDream的博客,未经允许,请勿转载,谢谢. n<=500 神题...... 发现这个平方可以看作两个序列相同的对数 然后就可以表示状态了. f[i][j][k]表示两个序列各选了 ...
- bzoj1566: [NOI2009]管道取珠 DP
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1566 思路 n个球,第i个球颜色为ai,对于颜色j,对答案的贡献为颜色为j的球的个数的平 ...
- BZOJ1566:[NOI2009]管道取珠——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=1566 https://www.luogu.org/problemnew/show/P1758 题目 ...
- 【bzoj1566】【管道取珠】竟然是dp题(浅尝ACM-E)
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61891436 向大(hei)佬(e)势力学(di ...
- BZOJ1566 [NOI2009]管道取珠 【dp】
题目 输入格式 第一行包含两个整数n, m,分别表示上下两个管道中球的数目. 第二行为一个AB字符串,长度为n,表示上管道中从左到右球的类型.其中A表示浅色球,B表示深色球. 第三行为一个AB字符串, ...
- bzoj1566【Noi2009】管道取珠
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1566 两个栈不断pop,共C(n+m,n)种,ai表示每个相同序列的方案数,求∑(ai^2) ...
- BZOJ1566 【NOI2009】管道取珠
题面 这是一道DP神题,直到我写下这句题解时也没有想明白…… 首先,这道题要我们求所有(不同输出序列的方案数)的平方和,于是我们当然就想到求所有不同输出序列的方案数……(大雾) .这道题一个巧妙的地方 ...
- bzoj1566 [NOI2009]管道取珠——DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1566 一眼看上去很懵... 但是答案可以转化成有两个人在同时取珠子,他们取出来一样的方案数: ...
随机推荐
- DB天气app冲刺二阶段第九天
今天是第九天了 不管怎么样也要收尾了赶紧,毕竟不可能做到尽善尽美了,时间不够了所以要把该砍掉的砍点,然后应对下周的大二同学的面试.尽量做好界面的美化工作这是最基本的了.毕竟我一直崇尚的就是UI设计了. ...
- .net 自然排序方式
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- 阿旭的php开发环境
过了几年,php技术也日新月异,变化也挺多.哪么对于开发者,感觉有一些简单的方法,写下来,以备以后使用.我觉得吧,Linux写php不如windows写php,调试,查资料和各种功能比较全面,而lin ...
- 本地虚拟机中匿名ftp上传文件失败的问题
在10.10.50.230中新建了一个匿名的ftp服务器,结果在10.10.50.241中上传文件时提示: local: README.txt remote: /var/ftp/pub/upload ...
- HTML教程XHTML教程:HTML标记嵌套使用技巧
网页制作Webjx文章简介:WEB标准-HTML元素嵌套. 先来看以下这样一段代码: <ul> <li><h4><a href="" ...
- 【机器学习】BP神经网络实现手写数字识别
最近用python写了一个实现手写数字识别的BP神经网络,BP的推导到处都是,但是一动手才知道,会理论推导跟实现它是两回事.关于BP神经网络的实现网上有一些代码,可惜或多或少都有各种问题,在下手写了一 ...
- 汇编语言中"[]"的用法
"[]"的用法在"常见问题"已经有所说明,引用如下: 1.push dword ptr [024c1100] 压栈024c1100值的双字 2.cmp eax, ...
- Ubuntu 12.04下虚拟磁带库mhvtl的安装和使用
项目需要连接一下昆腾虚拟磁带库DXI 6701 ,这玩意太贵,不好得到,先弄个虚拟软件测试了, 网上了一下,有这个软件: mhvtl 主页: https://sites.google.com/ ...
- JsRender系列demo-对null 和boolen类型数据的探讨
废话不说了,直接上代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <he ...
- 2010年山东省第一届ACM大学生程序设计竞赛 Balloons (BFS)
题意 : 找联通块的个数,Saya定义两个相连是 |xa-xb| + |ya-yb| ≤ 1 ,但是Kudo定义的相连是 |xa-xb|≤1 并且 |ya-yb|≤1.输出按照两种方式数的联通块的各数 ...