poj1080 dp
2024-08-25 15:03:58
//Accepted 200 KB 0 ms //dp //dp[i][j]表示s1用前i个,s2用前j个字符能得到的最大分数 //dp[i][j]=max(dp[i-1][j]+score[s1[i-1]]['-'], // dp[i][j-1]+score[['-'][s2[j-1]], // dp[i-1][j-1]+score[s1[i-1]][s2[j-1]]) //注意初始化 //dp[0][0]=0; //dp[0][i]=dp[0][i-1]+score['-'][s2[i-1]] //dp[i][0]=dp[i-1][0]+score[s1[i-1]]['-'] //还要初始化dp[i][j]=-inf; #include <cstdio> #include <cstring> #include <iostream> using namespace std; ; ; int dp[imax_n][imax_n]; int n1,n2; char s1[imax_n]; char s2[imax_n]; int getScore(char ch1,char ch2) { ; ; ; ; ; if (ch1=='C') { ; ; ; ; } if (ch1=='G') { ; ; ; ; } if (ch1=='T') { ; ; ; ; } if (ch1=='-') { ; ; ; ; } } void Dp() { //memset(dp,0,sizeof(dp)); dp[][]=; ;i<=n1;i++) dp[i][]=dp[i-][]+getScore(s1[i-],'-'); ;i<=n2;i++) dp[][i]=dp[][i-]+getScore(]); ;i<=n1;i++) { ;j<=n2;j++) { dp[i][j]=inf; ]+getScore(])>dp[i][j]) dp[i][j]=dp[i][j-]+getScore(]); ][j]+getScore(s1[i-],'-')) dp[i][j]=dp[i-][j]+getScore(s1[i-],'-'); ][j-]+getScore(s1[i-],s2[j-])) dp[i][j]=dp[i-][j-]+getScore(s1[i-],s2[j-]); } } printf("%d\n",dp[n1][n2]); } int main() { int T; scanf("%d",&T); while (T--) { scanf("%d",&n1); scanf("%s",s1); scanf("%d",&n2); scanf("%s",s2); Dp(); } ; }
最新文章
- 把Tomcat注册为windows服务
- MVC 使用 Ueditor富文本编辑器
- loading.gif
- CCS5 建立SYS/BIOS工程时报错“cannot find file ";./configPkg/linker.cmd"; bios”的解决方法
- linux命令 common 文件比较
- uc浏览器qq浏览器广告过滤
- linux平台MongoDB数据库安装
- XmlDocument,XDocument相互转换
- python1 tkinter
- Windows下安装Nodejs步骤
- vivo7.0以上系统如何无需Root激活Xposed框架的方法
- CentOS Linux搭建SVN服务器
- 程序执行流程/布尔类型与布尔:运算猜数字游戏;库的使用:turtle
- day19 python之re模块正则练习
- ubuntu16.04在GTX1070环境下安装 cuda9.1
- cf860E Arkady and A Nobody-men (树剖)
- 销售vs技术岗,做技术的方法思考
- C++对象模型 多重继承与虚函数表
- 浅谈Android选项卡(二)
- Eigen库矩阵运算使用方法
热门文章
- RemoteWebDriver管理
- as的Enter_Frame与Timer
- OI中的代码调试
- Link Collecting
- mouseover,mouseenter,mouseleave,mouseout
- 《javascript高级程序设计》 第24章 最佳实践 Best Practices
- Scala学习之: Hello Word!
- js——<;script>;标签的加载顺序
- Mysql执行Update操作时会锁住表
- UESTC 2016 Summer Training #6 Div.2