1016C. Vasya And The Mushrooms
可以知道有两种走法 一种是蛇形上下移动 另一种是直接移动到底再转回来
那么可以先处理三种走法(走到底的情况分为从上开始和从下开始)在每个点的值,再加起来找出最大值
很有趣的是:走到底的情况要走的相对顺序是一样的,所以只要补充前面蛇形运动多出来几步的部分就可以了
//cyc
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization ("unroll-loops")
#include<bits/stdc++.h>
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define mst(a) memset(a,0,sizeof a)
#define int long long
using namespace std;
typedef pair<int,int> pii;
const int maxn=3e5+5;
int a[maxn];
int b[maxn];
int fixx[maxn];//补充
int dct1[maxn];//上
int dct0[maxn];//下
int snake[maxn];//蛇形运动
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int n;cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)cin>>b[i];for(int i=n;i>=1;i--){fixx[i]=fixx[i+1]+a[i]+b[i];}int j=n;for(int i=n;i>=1;i--){dct1[i]=dct1[i+1]+a[i]*(i-1);dct1[i]+=b[i]*j;j++;}j=n;for(int i=n;i>=2;i--){dct0[i]=dct0[i+1]+i*b[i]+(j+1)*a[i];j++;}dct0[1]=dct0[2]+b[1];for(int i=1;i<=n;i++){int num=(i-1)*2;if(i&1) snake[i]=snake[i-1]+num*a[i]+(num+1)*b[i];else snake[i]=snake[i-1]+num*b[i]+(num+1)*a[i];}int ans=0;for(int i=0;i<=n;i++){if(i&1){ans=max(ans,snake[i]+dct0[i+1]+(i-1)*fixx[i+1]);}else{ans=max(ans,snake[i]+dct1[i+1]+i*fixx[i+1]);}}cout<<ans<<endl;
}
1016C. Vasya And The Mushrooms相关推荐
- codeforces 1016C - Vasya And The Mushrooms 【构造 + 思维】
题目链接:戳这里 题意:从(1,1)出发,一遍把格子走完,每个格子只能走一次.问怎么走总和最大. 解题思路:画图可知,总共就3种走法的混合. dw: 样例1的走法 up: 样例1反过来的走法 lp: ...
- CodeForces-1016C Vasya And The Mushrooms(模拟+思维+前缀和的前缀和) 解题报告 Apare_xzc
CodeForces-1016C Vasya And The Mushrooms(模拟+思维+二重前缀和 ) 解题报告 xzc 2019/4/7 这周周赛的C题:wyt学姐的恶意 这道题周赛的时候 ...
- cf Educational Codeforces Round 48 C. Vasya And The Mushrooms
原题: C. Vasya And The Mushrooms time limit per test2 seconds memory limit per test256 megabytes input ...
- CF1016C Vasya And The Mushrooms 题解
这道题一眼就是一个DP(大雾),但题目中有一句很有趣的话 "He wants to visit all the cells exactly once and maximize the tot ...
- Educational Codeforces Round 48
Educational Codeforces Round 48 C.Vasya And The Mushrooms 思路很简单,走法有一个统一形式就是先上下走,然后到某个位置左右一个来回.然后就推一下 ...
- 动态规划 —— 线性 DP
[概述] 线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题.区间DP等有固定的模板. 线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式 ...
- cf Educational Codeforces Round 133 C. Robot in a Hallway
原题: There is a grid, consisting of 2 rows and m columns. The rows are numbered from 1 to 2 from top ...
- Codewars Vasya - Clerk--6 kyu--Python解法
Codewars Vasya - Clerk–6 kyu–Python解法 Codewars 是一个跟LeetCode类似的结题网站. Codewars题解专栏:Codewars题解 题目地址:Tra ...
- ML之LoRDTRF:基于LoRDT(CART)RF算法对mushrooms蘑菇数据集(22+1,6513+1611)训练来预测蘑菇是否毒性(二分类预测)
ML之LoR&DT&RF:基于LoR&DT(CART)&RF算法对mushrooms蘑菇数据集(22+1,6513+1611)训练来预测蘑菇是否毒性(二分类预测) 目录 ...
最新文章
- 极大似然估计_干货|一文理解极大似然估计
- AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'
- 中科大量子计算机重大突破,中国科大在量子计算研究中获重大突破
- Eclipse中新建SpringBoot项目完成对json、pojo、map、list的请求
- c语言ascii码表_新手小白整理C语言笔记备忘,带你十分钟理解C语言
- java获取实体类的属性和值
- 前端学习(1679):前端系列实战课程之为蛇创建食物对象
- Facebook 游戏开发更新文档 API 参考文档 v6.0
- 清华大学张文增教授110页PPT讲专利申请、检索与解读
- 自检代码中trustmanager漏洞_Windows内核漏洞利用教程
- 智云通CRM:销售就是讲故事?
- 《动手学深度学习》(PyTorch版)代码注释 - 56 【Machine_translation】
- Am3358增加Uboot的logo显示 增加Uboot自定义命令控制LCD
- 输入法规则(V模式输入)
- 福建中医药大学数字化校园应用及数据容灾系统181万
- 【vue2】axios请求与axios拦截器的使用详解
- Hive之Order,Sort,Cluster and Distribute By
- Unity Android通过拍照和相册上传头像(图片)
- PS工作区拖动乱了如何复位?
- python匹配ip地址
热门文章
- 为Exynos4412移植U-Boot-2017.11的步骤(一)——让U-Boot跑起来
- 如何写出一篇好文章——不动笔就能学会写文章的训练法
- 【基础】一叶知秋,从背包问题到动态规划
- 使用 Let's Encrypt 的免费HTTPS服务
- 【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part5-完结):信息检索与结果组装
- ERR_NAME_NOT_RESOLVED错误的解决方法
- 计算机图文报告病理是什么,病理图文报告系统、病理图文工作站、病理报告软件...
- cms概述 。比较shopex和ecshop区别 。smarty模板引擎的入门
- 前端异步请求async/await,axios的错误用法
- c语言统计行数单词数字符数,C语言统计字数行数单词数的程序