题目背景

曾经幻想过未来的风景

或许有着另外一片天

小镇的远方

有着深远的回忆

也有着富有深情的诗篇

题目描述

Chino非常注重自己的成绩

Chino有 m 种方式给自己增加 rp 以增加成绩,她的每种增加 rp 的方式都有 n 个阶段,第 iii 种的第 j 个阶段增加的 rp 表示为 Aij ,表示连续进行了 j 天第 i 种增加 rp 的方式

Chino连续进行同一种方式,效果可能更好也可能更差,她想要知道在 n 天里能获得的最大 rp ,你能帮帮可爱的Chino吗?

输入输出格式

输入格式:

第一行,两个正整数 n , m

接下来 m 行,第 i+1 行为 n 个整数( Ai1 - Ain​ )

输出格式:

一行一个数,最大的 rp

思路:

这道题一眼DP

但是n和m都不小

标准的nm^2过不了

于是我们就开始优化

我们可以开一个dp[i][j][k]数组

表示当前在i位,当前数字为j,j的长度为k

转移可以简化为两种:前面不是j的,前面是j的

分别转移即可

这样复杂度降到了n*n*m

还差不多,能过

但空间也是...所以我们要滚动数组

OK

代码:

// luogu-judger-enable-o2
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#include<iostream>
#include<cstdio>
#define rii register int i
#define rij register int j
#define rik register int k
//#define int long long
using namespace std;
int x[][],n,m;
long long dpa[][];
long long dpb[][];
long long zd,cd,wz,lzd,lcd,lwz;
inline int rd() {
char ch = getchar(); int x = , f = ;
while(ch < '' || ch > '') {
if(ch == '-') f = -;
ch = getchar();
} while('' <= ch && ch <= '') {
x = x * + ch - '';
ch = getchar();
} return x * f;
}
signed main()
{
// scanf("%d%d",&n,&m);
n=rd();
m=rd();
for(rii=;i<=m;i++)
{
for(rij=;j<=n;j++)
{
x[i][j]=rd();
// scanf("%d",&x[i][j]);
// qzh[i][j]+=qzh[i-1][j];
}
}
for(rii=;i<=n;i++)
{
cd=lcd,zd=lzd,wz=lwz;
for(rij=;j<=m;j++)
{
for(rik=;k<=i-;k++)
{
dpa[j][k+]=dpb[j][k]+x[j][k+];
if(dpa[j][k+]>=lzd)
{
if(lwz!=j)
{
lcd=lzd;
}
lzd=dpa[j][k+];
lwz=j;
}
}
if(wz==j)
{
dpa[j][]=cd+x[j][];
}
else
{
dpa[j][]=zd+x[j][];
}
if(dpa[j][]>=lzd)
{
if(lwz!=j)
{
lcd=lzd;
}
lzd=dpa[j][];
lwz=j;
}
}
if(i==n)
{
cout<<lzd;
return ;
}
for(rij=;j<=m;j++)
{
for(rik=;k<=i;k++)
{
dpb[j][k]=dpa[j][k];
}
}
} }

Chino的成绩(chino的公开赛T3)的更多相关文章

  1. ETO的公开赛T3《寻星》 题解(BY 超級·考場WA怪 )

    题解 寻星 题意:给定一个有向带权图,定义从一点到另一点的某条路径长为路径上所有边权的最大值,并给定四个点编号w,t1,t2,t3. 求出一个点s,使它在到t1,t2,t3三点最短路径最大值最大或者根 ...

  2. luogu T40984Chino的成绩

    Chino的成绩 题目描述 Chino非常注重自己的成绩 Chino有m种方式给自己增加rp以增加成绩,她的每种增加rp的方式都有n个阶段,第i种的第j个阶段增加的rp表示为Aij​,表示连续进行了j ...

  3. 「CSA72」MST

    「CSA72」MST 题目大意:有一个大小为 \(n\) 的无向完全图,\(x, y\) 之间的边权值为 \(a[\min(x,y)][\max(x,y)]\) ,初始为0,进行 \(m\) 次修改, ...

  4. msql 综合练习

    8.统计列印各科成绩,各分数段人数:  课程ID,课程名称,[100-85],[85-70],[70-60],[<60] 尽管表面看上去不那么容易,其实用 CASE 可以很容易地实现: SELE ...

  5. 2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛) Chino with Equation(组合公式)

    链接:https://ac.nowcoder.com/acm/contest/553/D来源:牛客网 题目描述 Chino的数学很差,因此Cocoa非常担心.今天,Cocoa要教Chino解不定方程. ...

  6. Chino 操作系统开发日志 (1) - 为 IoT 而生

    引言 很多人都听说过 IoT (物联网)这个词,越来越多的人在装修时开始选择智能家居,很多人也购买智能音箱做智能家居控制,想必未来一定是 AI + 物联网的时代. 一种技术要发展并走向成熟必须要降低门 ...

  7. 【luoguP5550】Chino的数列

    题目背景 没有背景 我写不出来了qwq 题目描述 Chino给定了nn个数a_1...a_na1​...an​,给定常数s,m,她会轮流对这nn个数做k组操作,每组操作包含以下几步: 1.swap(a ...

  8. 结题报告--P5551洛谷--Chino的树学

    题目:点此 题目描述 Chino树是一棵具有某种性质的满二叉树,具体来说,对于这棵树的每一个非叶子节点,它的左子节点(A)(A)(A)的右子节点(C)(C)(C)与它的右子节点(B)(B)(B)的左子 ...

  9. 体育成绩统计——20180801模拟赛T3

    体育成绩统计 / Score 题目描述 正所谓“无体育,不清华”.为了更好地督促同学们进行体育锻炼,更加科学地对同学们进行评价,五道口体校的老师们在体育成绩的考核上可谓是煞费苦心.然而每到学期期末时, ...

随机推荐

  1. XHR的应用场景

    一.简史 IE5.5最早实现XHR,需要通过ActiveXObject创建xhr实例,直到IE7才定义了XMLHttpRequest对象.IE5.5实现XHR之后,其他浏览器紧随其后实现了XHR,直接 ...

  2. Python基础 数据类型 (字符串、列表、字典、元组、集合、堆、栈、树)

    数据类型有整型.布尔.字符串.列表.字典.元组.集合.堆.栈和树. 1.整型: 整型就是数字 数字表示 python2 64位机器,范围-2^63~2^63-1 超出上述范围,python自动转化为l ...

  3. Drupal Module Hooks

    Drupal is a Content Management System. Drupal is also deeply, deeply weird. While systems like Magen ...

  4. Visual Studio Code 设置中文语言版本

    设置方法有两种: 方法一1.选择扩展 搜索“Language”,在下列选项选择 Chinese (Simplified) Language Pack for Visual Studio Code安装, ...

  5. ArcGIS图框工具5.2发布,支持ArcGIS10.0,10.110.2,支持国家2000坐标系

    ArcGIS图框工具5.2发布,支持ArcGIS10.0,10.110.2,支持国家2000坐标系 下载地址http://files.cnblogs.com/gisoracle/atktoolnew. ...

  6. javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误解决办法

    今天不用eclipse.myeclipse等开发工具,纯手写JSP页面(有点作死)时突然出现以前从来没遇到过的问题,报错如下: HTTP Status 500 - java.lang.NoClassD ...

  7. 初学jboss

    1.简单安装-环境变量配置-创建控制台用户并访问控制台.   下载了windows版的jboss服务器(jboss-as-7.1.1.Final)     依赖JDK1.6以上版本,jdk环境变量等就 ...

  8. Git学习1:Git起步

    本系列文章部分原理和命令相关内容是从 https://git-scm.com/book/zh/v2 摘录,软件实际使用是总结自己的实践经验成文. 1. 关于版本控制 版本控制是一种记录一个或若干文件内 ...

  9. 微软技术大会直播倒计时7天 | 地球上的IT咖们,正在慢慢向北京聚集

    去年,一句歌词火了:“我在北方的寒夜里,四季如春.”足以见得,北京的冬天,是可以把人冻蒙圈儿的. 然而有一群人,却正在慢慢靠近这样寒冷的北京,7 天后,他们将齐聚在北京. 他们来这里干什么?又是来见谁 ...

  10. Sql根据经纬度算出距离

    SELECT  ISNULL((2 * 6378.137 * ASIN(SQRT(POWER(SIN((117.223372- ISNULL(Latitude,0) )*PI()/360),2)+CO ...