题目:https://www.luogu.org/problemnew/show/P4059

dp。

1.看出-A-B(k-1)可以理解成连续空格的第一个 -A,其余 -B;

2.把会干扰的“上一步右端是不是空格”加进参数里;

3.初始化!!!!!!!

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char ch;
int a[],b[],n,m,c[][],d[][][][],A,B;
int num(char chh)//A=65 T=84 G=71 C=67
{
if(chh=='A')return ;
if(chh=='T')return ;
if(chh=='G')return ;
if(chh=='C')return ;
}
int main()
{
while()
{
scanf("%c",&ch);
if(ch==' ')continue;
if(ch=='\n')break;
a[++n]=num(ch);
}
while()
{
scanf("%c",&ch);
if(ch==' ')continue;
if(ch=='\n')break;
b[++m]=num(ch);
}
for(int i=;i<=;i++)
for(int j=;j<=;j++)
scanf("%d",&c[i][j]);
scanf("%d%d",&A,&B);
memset(d,-,sizeof d);
d[][][][]=-A;
for(int i=;i<=m;i++)
d[][i][][]=d[][i-][][]-B;
d[][][][]=-A;
for(int i=;i<=n;i++)
d[i][][][]=d[i-][][][]-B;
d[][][][]=;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
d[i][j][][]=max(d[i-][j-][][],max(d[i-][j-][][],d[i-][j-][][]))+c[a[i]][b[j]];
d[i][j][][]=max(d[i][j-][][]-B,max(d[i][j-][][]-A,d[i][j-][][]-A));
d[i][j][][]=max(d[i-][j][][]-B,max(d[i-][j][][]-A,d[i-][j][][]-A));
}
int ans=max(d[n][m][][],max(d[n][m][][],d[n][m][][]));
printf("%d",ans);
return ;
}

洛谷4059找爸爸(Code+第一次月赛)的更多相关文章

  1. 洛谷 P1509 找啊找啊找GF(复习二维费用背包)

    传送门 题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sq ...

  2. 洛谷——P2083 找人

    P2083 找人 题目背景 无 题目描述 小明要到他的同学家玩,可他只知道他住在某一单元,却不知住在哪个房间.那个单元有N层(1,2……N),每层有M(1,2……M)个房间. 小明会从第一层的某个房间 ...

  3. 洛谷 P1509 找啊找啊找GF

    题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这 ...

  4. 洛谷——P1469 找筷子

    P1469 找筷子 题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘 ...

  5. 洛谷P1469找筷子

    题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX ...

  6. 洛谷 P1469 找筷子

    题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX ...

  7. 洛谷 P2083 找人

    P2083 找人 题目背景 无 题目描述 小明要到他的同学家玩,可他只知道他住在某一单元,却不知住在哪个房间.那个单元有N层(1,2……N),每层有M(1,2……M)个房间. 小明会从第一层的某个房间 ...

  8. 洛谷P1938 找工就业

    传送门啦 这个题本质就是跑一边最长路,重点就是在怎么建图上. 我们可以把点权放到边权上面,即将每一个边的终点点权当做这个边的边权,这个题里就是将工钱 $ d $ 当做边权. 如果这一条边需要坐飞机才能 ...

  9. 洛谷 P1469 找筷子 题解

    题目传送门 先排序一遍,再一个一个判断是否有偶数个.注意for循环要i+=2. #include<bits/stdc++.h> using namespace std; ]; int ma ...

随机推荐

  1. Elasticsearch单机下多实例配置

    ##################### Elasticsearch Configuration Example ##################### index.cache.field.ty ...

  2. pyspark使用ipython

    在Ubuntu下,安装ipython很简单: $sudo apt-get install ipython 在bash env中添加变量: export IPYTHON=1 export IPYTHON ...

  3. 转载:移动端+微信小程序实现,手机端滑动分页代码思路(ajax)

    //一般在PC上我们要分页都是通过上一页和下一页来实现的,手机通过当下滑到一定程度的时候自动加载下一页面//实现思路:首先加载部分数据,当下滑到某个元素可见的时候,如果还有数据,则新发送请求,然后追加 ...

  4. SQL Server 调优系列基础篇 - 性能调优介绍

    前言 关于SQL Server调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL 调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优. 通过 ...

  5. 前端:jQuery笔记

    前端:jQuery笔记 此系列文章乃是学习jQuery的学习笔记. Asp.net MVC Comet推送 摘要: 一.简介 在Asp.net MVC实现的Comet推送的原理很简单. 服务器端:接收 ...

  6. python自动化运维之路04

    装饰器 装饰器(decorator)是一种高级Python语法.装饰器可以对一个函数.方法或者类进行加工.在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象 ...

  7. bzoj1600

    题解: 简单dp 显然不能超过一半 代码: #include<bits/stdc++.h> using namespace std; ][]; int main() { f[][]=; s ...

  8. Android Studio 常用快捷键大全

    鉴于使用AndroidStudio进行Android 开发的人越来越多,笔者整理了一些常用的快捷键.方便读者查阅,提高开发效率.

  9. NetworkManager 命令配置nmcli注意

    1.使用nmcli connection modify对connection进行修改的时候,ipv4.addresses的输入格式为"ip/mask空格gateway",例如172 ...

  10. spring的orm模块

    spring整合hibernate 1.hibernate使用注解. daoImpl需要继承HibernateDaoSupport对象,针对给对象的getHibernateTemplate()进行hi ...