bzoj5107: [CodePlus2017]找爸爸
Description
Input
Output
#include<bits/stdc++.h>
const int M=,inf=0x3f3f3f3f;
char s1[M],s2[M];
int f[M][M][],d[][],A,B;
int id[];
int max(int a,int b){return a>b?a:b;}
int max(int a,int b,int c){return max(a,max(b,c));}
int main(){
for(int i=;i<;++i)id["ATGC"[i]]=i;
scanf("%s%s",s1+,s2+);
for(int i=;i<;++i)
for(int j=;j<;++j)scanf("%d",d[i]+j);
scanf("%d%d",&A,&B);
int l1=strlen(s1+);
int l2=strlen(s2+);
for(int i=;i<=l1;++i)s1[i]=id[s1[i]];
for(int i=;i<=l2;++i)s2[i]=id[s2[i]];
for(int i=;i<=l1;++i){
for(int j=;j<=l2;++j){
int*F=f[i][j];
int*F1=f[i-][j];
int*F2=f[i][j-];
int*G=f[i-][j-];
F[]=i&&j?max(G[],G[],G[])+d[s1[i]][s2[j]]:i||j?-inf:;
F[]=i?max(max(F1[],F1[])-A,F1[]-B):-inf;
F[]=j?max(max(F2[],F2[])-A,F2[]-B):-inf;
}
}
int*F=f[l1][l2];
printf("%d\n",max(F[],F[],F[]));
return ;
}
bzoj5107: [CodePlus2017]找爸爸的更多相关文章
- 【bzoj5107】[CodePlus2017]找爸爸 dp
题目描述 给出两个基因串,你需要在其中插入任意个空格,使得两个串长度相同.如果两个串的某同一位置都是字母则获得某给定收益,对于每个串的每个长度为k的连续空格段要付出a(k-1)+b的损失.求最大净收益 ...
- loj #6250. 「CodePlus 2017 11 月赛」找爸爸
#6250. 「CodePlus 2017 11 月赛」找爸爸 题目描述 小 A 最近一直在找自己的爸爸,用什么办法呢,就是 DNA 比对. 小 A 有一套自己的 DNA 序列比较方法,其最终目标是最 ...
- luogu 4059 [Code+#1]找爸爸 动态规划
Description 小A最近一直在找自己的爸爸,用什么办法呢,就是DNA比对.小A有一套自己的DNA序列比较方法,其最终目标是最 大化两个DNA序列的相似程度,具体步骤如下:1.给出两个DNA序列 ...
- 洛谷4059找爸爸(Code+第一次月赛)
题目:https://www.luogu.org/problemnew/show/P4059 dp. 1.看出-A-B(k-1)可以理解成连续空格的第一个 -A,其余 -B: 2.把会干扰的“上一步右 ...
- fork子进程僵尸问题及解决方案
额,原来用 c 写 cgi 的时候用过 fork .那时候 cgi 的生命很短,所以遇到的问题压根没出现过.这次也是更加深入的对 fork 机制进行了一下了解. 参考这里的文档:http://ju.o ...
- Robot Framework自动化测试(二)---元素定位
说明: 不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了seleni ...
- 关押罪犯(2010年NOIP全国联赛提高组)
题目描述 Description S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N.他们之间的关系自然也极 不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突.我们用&qu ...
- jQuery 遍历用法
jQuery 遍历 DOM 树 parent() 方法返回被选元素的直接父元素(找爸爸). parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (找长辈). parents ...
- hdu 1269
强连通分量题,用tarjin算法: 这是一道很简单的tarjin算法题,基本上就是套模板: 贴代码: #include<cstdio> #include<vector> #in ...
随机推荐
- 2018-计算机系机试(第二批)-E-绝对值排序
单点时限: 2.0 sec 内存限制: 256 MB 输入 n 个整数,按照绝对值从大到小排序.绝对值相等的整数按照整数值从小到大排序. 例如:3 个整数 -2,2 和 -6 的排序结果为 -6, - ...
- canvas 添加线和删除线 及获取相关位置信息源码
其他相关链接: https://github.com/lusase/lineDrawer.git https://www.jb51.net/css/359062.html https://www.jb ...
- Nginx+Tomcat配置负载均衡(一)
关于负载均衡原理方面的知识点不在本文讨论范畴,本文主要就负载均衡配置过程中的细节部分配置做详细说明. 本次负载均衡大致的配置如下: 环境 : WIN7 + VM虚拟机3台(centos6.5) Ngi ...
- DatePickerAndroid用法
一.代码/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import ...
- 09_java基础——this
多次调用同一个对象的某个方法: package com.huawei.test.java04; /** * This is Description * * @author 王明飞 * @date 20 ...
- java求最大值以及定义方法调用
class ArrayDome { public static void main(String[] args) { int[] arr = {-12,-51,-12,-11}; int max = ...
- .NET Framework 4.0/4.5离线版下载
/******************************************************************************* * .NET Framework 4. ...
- scrapy获取页面信息
本例子用命令行调试的方式,演示如何获取页面的特定信息: 0) 示例页面 1) 使用scrapy shell获取目标页面: scrapy shell http://bj.lianjia.com/ersh ...
- Github Page搜索工具更新 - 探索功能
探索功能提供了一种快速访问有意思的Github Page的途径,每周探索功能会更新有趣的搜索词条,你可以点击感兴趣的词条来获取该词条对应的Github Page. 首批Github Page探索词条包 ...
- socks5代理转http代理
Convert-Shadowsocks-into-an-HTTP-proxy apt-get install polipo service polipo stop polipo socksParent ...