bzoj1556 (DP)
bzoj 1556 点这里打开题目
题目是求 a^2 求和;
原问题可以转化为:两个人在玩这个东西,问这两个人弄出来的序列相同的有多少种情况,操作方式不同即为一种不同的情况。
就这个问题,参考大佬的DP思想。
DP[t][i][j] 分别表示 两人同时第t次取小球,第一人在上面管道取了i个,第二个人在上面管道取了j个所出现相同情况的个数:
我们假设:某一个状态为 DP[t][i][j] 。当第一人取得球和第二个人取得球颜色相同时,那么下一个状态就可以从当前状态转过去;
所以很容易得到状态转移为:每个人都可以取上面和下面的;组合一样四个情况,判断球颜色是否一样:转移。
注意:自己写的时候看清下标。
This is code
#include <iostream> #include <string.h> #include <string> #include <algorithm> #include <math.h> #include <queue> #include <stdlib.h> #include <stdio.h>using namespace std; typedef long long int LL; const int maxn=510; char a[maxn],b[maxn]; int dp[2][maxn][maxn]; const int MOD=1024523; int main() {int n,m;scanf("%d%d",&n,&m);scanf("%s%s",a,b);dp[0][0][0]=1;for(int t=0;t<n+m;t++){int gd=t%2;for(int i=0;i<=n&&i<=t;i++)for(int j=0;j<=n&&j<=t;j++){if(t-i>m||t-j>m) continue;if(a[i]==a[j]) (dp[!gd][i+1][j+1]+=dp[gd][i][j])%=MOD;if(a[i]==b[t-j]) (dp[!gd][i+1][j]+=dp[gd][i][j])%=MOD;if(b[t-i]==a[j]) (dp[!gd][i][j+1]+=dp[gd][i][j])%=MOD;if(b[t-i]==b[t-j]) (dp[!gd][i][j]+=dp[gd][i][j])%=MOD;dp[gd][i][j]=0;}}printf("%d\n",dp[(m+n)%2][n][n]);return 0; }
转载于:https://www.cnblogs.com/coded-ream/p/7207914.html
bzoj1556 (DP)相关推荐
- dp,sp,px相互转化
方法一: public int sp2px(float sp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ...
- [JS][dp]题解 | #打家劫舍(一)#
题解 | #打家劫舍(一)# 题目链接 打家劫舍(一) 题目描述 描述 你是一个经验丰富的小偷,准备偷沿街的一排房间,每个房间都存有一定的现金,为了防止被发现,你不能偷相邻的两家,即,如果偷了第一家, ...
- HDU 2084 数塔(DP)(JAVA版)
数塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- dp cf 20190615
A. Timofey and a tree 这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的, 把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点, 如果 ...
- BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)
Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MB Submit ...
- [NOI2005]聪聪与可可(期望dp)
题意:给一张无向图,有一只猫和一只老鼠,猫每秒会向老鼠的方向移动两个单位,若它们的距离为一,那么只会移动一个单位,老鼠会等概率向周围移动一步或不动,求猫抓到老鼠的期望时间. Solution luog ...
- Codeforces 903F Clear The Matrix(状态压缩DP)
题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...
- 喵哈哈村的魔法考试 Round #1 (Div.2) 题解源码(A.水+暴力,B.dp+栈)
A.喵哈哈村的魔法石 发布时间: 2017年2月21日 20:05 最后更新: 2017年2月21日 20:06 时间限制: 1000ms 内存限制: 128M 描述 传说喵哈哈村有三种神 ...
- 尼克的任务 dp 洛谷1280
蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...
最新文章
- jupyter !wget 等系统命令使用技巧
- 比特币黄金(BTG)遭受51%双花攻击?——不亏
- 等概率随机函数的实现
- c语言从键盘输入千米数,第二章 C语言编程基础.ppt
- 几个比较实用的CSS
- ios 设备获取idfa_超4成用户选择升级iOS 14,35%苹果设备已无法获取IDFA
- SOAP消息机制简介
- TensorFlow:实战Google深度学习框架(五)图像识别与卷积神经网络
- linux ubuntu deepin apache2 rewrite
- 2015年总结2016展望
- 一天变成36小时[转]
- 钉钉直播html,钉钉直播功能介绍,钉钉直播步骤详情
- JavaScript模拟出一个input用于添加本地文件
- NVIDIA Jetson TX2:TX2平台介绍
- web.py中通过POST接收Json数据解析的bug
- 《西游降魔录》模块学习笔记
- 智能暖风机——6.利用TM1650实现显示功能
- 奥克兰oracle,IEM奥克兰前瞻: 顶级战队决战甲骨文中心
- C语言-密码2,输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)。
- 软件的可维护性与可复用性
热门文章
- python中if __name__ == ‘__main__‘:的简单理解
- mysql按加号没反应_请各位大哥给小老弟解疑答惑一下 为什么点击加号没有反应?感谢...
- setcellvalue 格式_POI对Excel单元格的格式的设置参数
- C语言与Java的对比,你想好选谁了吗?
- C语言的三种基本程序结构是什么
- C语言没有引用,只有指针
- C语言 | typedef
- 计算机网络技术教法改革方案,计算机网络技术专业教学模式改革探索
- oracle_sod,oracle geometry几何关系sdo_Geom.Relate介绍,
- 初学者选黑卡还是微单_明日之镜 十年索尼微单和他的镜头王国