题意:开始有个数k,有个数组和几个运算符。遍历数组的过程中花费一个运算符和数组当前元素运算。运算符必须按顺序花费,并且最后要花费完。问得到最大结果。

用maxv[x][y]记录到第x个元素,用完了第y个运算符时的最大值,minv[x][y]为最小。那么maxv[x][y]要么第y个运算符在x-1之前就用过了,即max[x-1][y],要么x-1之前用到了y-1,再在x的位置用运算符y;因此就是两者取大。还有如果当前遇到的是负数,那么要用最小的来乘,实际上是3者取大。

//#pragma comment(linker,"/STACK:1024000000,1024000000")
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<vector>
#include<cmath>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<algorithm>
#include <stack>
#include <list>
using namespace std;
typedef long long lon;
lon maxv[][],minv[][],arr[];
const lon SZ=,INF=0x7FFFFFFFFFFFFFFF; lon ope(lon a,lon b,char opr)
{
if(opr=='+')return a+b;
else if(opr=='-')return a-b;
else if(opr=='*')return a*b;
else return a/b;
} int main()
{
std::ios::sync_with_stdio();
//freopen("d:\\1.txt","r",stdin);
lon casenum;
cin>>casenum;
for(lon time=;time<=casenum;++time)
{
lon n,m,k;
cin>>n>>m>>k;
for(lon i=;i<=n;++i)cin>>arr[i];
string str;
cin>>str;
str=" "+str;
for(lon i=;i<=n;++i)
{
for(lon j=;j<=m;++j)
{
maxv[i][j]=-INF;
minv[i][j]=INF;
}
}
maxv[][]=minv[][]=ope(k,arr[],str[]);
for(lon i=;i<=n;++i)maxv[i][]=minv[i][]=k;
for(lon i=;i<=n;++i)
{
for(lon j=;j<=m;++j)
{
if(j>i)break;
else
{
maxv[i][j]=max(maxv[i-][j],ope(maxv[i-][j-],arr[i],str[j]));
maxv[i][j]=max(maxv[i][j],ope(minv[i-][j-],arr[i],str[j]));
//if(i==2&&j==1)cout<<"m: "<<minv[i-1][j-1]<<" "<<arr[i]<<endl;
minv[i][j]=min(minv[i-][j],ope(maxv[i-][j-],arr[i],str[j]));
minv[i][j]=min(minv[i][j],ope(minv[i-][j-],arr[i],str[j]));
}
}
}
// for(lon i=1;i<=n;++i)
// {
// for(lon j=1;j<=m;++j)
// {
// cout<<maxv[i][j]<<" ";
// }cout<<endl;
// }
lon resmax=-INF,resmin=INF;
for(lon i=;i<=n;++i)resmax=max(resmax,maxv[i][m]);
//for(lon i=1;i<=n;++i)resmin=max(resmin,maxv[i][m]);
cout<<resmax<<endl;
}
return ;
}

2018焦作网络赛Mathematical Curse的更多相关文章

  1. ACM-ICPC2018焦作网络赛 Mathematical Curse(dp)

    Mathematical Curse 22.25% 1000ms 65536K   A prince of the Science Continent was imprisoned in a cast ...

  2. 焦作网络赛B-Mathematical Curse【dp】

    A prince of the Science Continent was imprisoned in a castle because of his contempt for mathematics ...

  3. 2018焦作网络赛Give Candies

    一开始忽略了欧拉定理指数部分是modphi(n-1)没有memset,减法后面没加0:

  4. 2018焦作网络赛 - Poor God Water 一道水题的教训

    本题算是签到题,但由于赛中花费了过多的时间去滴吧格,造成了不必要的浪费以及智商掉线,所以有必要记录一下坑点 题意:方格从1到n,每一格mjl可以选择吃鱼/巧克力/鸡腿,求走到n格时满足 1.每三格不可 ...

  5. ACM-ICPC 2018 焦作网络赛

    题目顺序:A F G H I K L 做题链接 A. Magic Mirror 题意:判断 给出的 字符串 是否等于"jessie",需要判断大小写 题解:1.用stl库 tolo ...

  6. 2018 焦作网络赛 K Transport Ship ( 二进制优化 01 背包 )

    题目链接 题意 : 给出若干个物品的数量和单个的重量.问你能不能刚好组成总重 S 分析 : 由于物品过多.想到二进制优化 其实这篇博客就是存个二进制优化的写法 关于二进制优化的详情.百度一下有更多资料 ...

  7. 2018 焦作网络赛 G Give Candies ( 欧拉降幂 )

    题目链接 题意 : 给出 N 个糖果.老师按顺序给 1~N 编号的学生分配糖果.每个学生要么不分.要么最少分一个.且由于是按顺序发放.那么对于某个有分到糖果的编号为 i 的学生.则 1~(i-1) 这 ...

  8. 2018 焦作网络赛 L Poor God Water ( AC自动机构造矩阵、BM求线性递推、手动构造矩阵、矩阵快速幂 )

    题目链接 题意 : 实际上可以转化一下题意 要求求出用三个不同元素的字符集例如 { 'A' .'B' .'C' } 构造出长度为 n 且不包含 AAA.BBB CCC.ACB BCA.CAC CBC ...

  9. 2018焦作网络赛-E- Jiu Yuan Wants to Eat

    题目描述 You ye Jiu yuan is the daughter of the Great GOD Emancipator.  And when she becomes an adult, s ...

随机推荐

  1. Python: 正则表达式匹配多行,实现多行匹配模式

    1) 点 (.)去匹配任意字符的时候,不能匹配换行符 在这个模式中(?:.|\n)是指定了一个非捕获组(仅仅用来做匹配,部能通过单独捕获或者编号的组) 2) re.DOTALL re.compile( ...

  2. linux下如何进入单用户模式

    忘记密码时,我们可以通过进入单用户模式修改密码. 进入单用户模式的方式: 1. 启动服务器时,按 e 键进入引导选择界面.注意:可能需要多次按 e 键切换几个个界面后,才能进入选择界面. 2. 选择以 ...

  3. Linux服务器配置---ftp限制带宽

    限制带宽 ftp服务器可以设置每个用户的带宽,这样根据实际需求来分配,更加充分的利用系统资源.带宽通过参数“anon_max_rate“和”local_max_rate“来设置,这两个参数在配置文件中 ...

  4. troubleshooting-windows 在 CDH集群环境读取 Hive 表 KrbException: Cannot locate default realm

    KrbException: Cannot locate default realm 解决办法 1)拷贝需要组件的配置文件到项目中的 /resources/目录.如hadoop,目录/etc/hadoo ...

  5. Linux内核分析--系统调用【转】

    本文转载自:http://www.cnblogs.com/paperfish/p/5308505.html 前言:以下笔记除了一些讲解视频中的概念记录,图示.图示中的补充文字.总结.分析.小结部分均是 ...

  6. mbr看图

  7. linux下去掉pdf的密码(前提:知道密码)

    一.背景 Linux jello 4.16.3 SMP Thu Apr 19 07:32:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 二.去掉密码 2.1 先 ...

  8. Java自学入门新的体会0.2

    Java 基本数据类型 变量就是申请内存来存储值,也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来存储该类型数据. 因此,通过定义不 ...

  9. 返回json格式数据乱码

    本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody @RequestMapping(value = "getListByTime", ...

  10. Java ServletContext详解

    转载: ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletConte ...