题目:http://codeforces.com/contest/1016/problem/C

一定是先蛇形走在回形走,所以预处理、暴力即可;

自己一开始写了一个,总是WA,又看了看TJ写法;

模仿一下,还是WA,发现中间的一些地方 int 相乘要加 (ll)!

然后把我原来那个改一下就A了...

20分钟写,60分钟调...

不过模仿的那个写法比我原来的快多了(虽然做法一样)。

模仿:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int const maxn=3e5+;
int n,g[][maxn];
ll s[][maxn],f[][maxn][],ans;
int main()
{
scanf("%d",&n);
for(int i=;i<n;i++)scanf("%d",&g[][i]);
for(int i=;i<n;i++)scanf("%d",&g[][i]);
for(int j=;j<=;j++)
for(int i=n-;i>=;i--)
{
f[j][i][]=f[j][i+][]+(ll)(n-i-)*g[j][i];//<-
f[j][i][]=f[j][i+][]+(ll)i*g[j][i];//-> //走过来一定在 i 时间或以后
s[j][i]=s[j][i+]+g[j][i];
}
ll w=,add=;
for(int x=,y=;x<n;x++,y^=)
{
add=x*s[y][x]+f[y][x][]+(x+n)*s[!y][x]+f[!y][x][];
ans=max(ans,w+add);
w+=(ll)g[y][x]**x+(ll)g[!y][x]*(*x+);
}
printf("%I64d\n",ans);
return ;
}

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int const maxn=3e5+;
int n,g[][maxn];
ll s[][maxn],f[][maxn][],ans;
void dfs(int x,int y,ll w)
{
if(x==n)return;
ll t=*x,tt=t+n-x;
ans=max(ans,w+t*s[y][x+]+f[y][x+][]+tt*s[!y][x+]+f[!y][x+][]);
dfs(x+,y^,w+(ll)(t+)*(g[][x+]+g[][x+])+g[!y][x+]);
}
int main()
{
cin>>n;
for(int i=;i<=n;i++)cin>>g[][i];
for(int i=;i<=n;i++)cin>>g[][i];
for(int j=;j<=;j++)
{
for(int i=n,k=;i;i--,k++)
{
f[j][i][]=f[j][i+][]+(ll)k*g[j][i];//<-
s[j][i]=s[j][i+]+g[j][i];
}
for(int i=n;i;i--)
{
f[j][i][]=f[j][i+][]+s[j][i];//->
}
}
dfs(,,);
cout<<ans-s[][]-s[][];
return ;
}

CF 1016 C —— 思路的更多相关文章

  1. vijosP1016 北京2008的挂钟

    vijosP1016 北京2008的挂钟 题目链接:https://vijos.org/p/1016 [思路] Dfs. 对操作搜索更加优秀,所以采用搜索每一个操作的使用次数,因为操作数为4则相当于没 ...

  2. LeetCode:17. Letter Combinations of a Phone Number(Medium)

    1. 原题链接 https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/ 2. 题目要求 给定一 ...

  3. leetcode教程系列——Binary Tree

    tree是一种常用的数据结构用来模拟真实物理世界里树的层级结构.每个tree有一个根(root)节点和指向其他节点的叶子(leaf)节点.从graph的角度看,tree也可以看作是有N个节点和N-1个 ...

  4. CF 949D Curfew——贪心(思路!!!)

    题目:http://codeforces.com/contest/949/problem/D 有二分答案的思路. 如果二分了一个答案,首先可知越靠中间的应该大约越容易满足,因为方便把别的房间的人聚集过 ...

  5. CF Gym 100463B Music Mess (思路)

    好题,当时想了半个小时,我往图论方面去想了,把出现过的字符串当场点,然后相互连边,那么就构成了一个三角形,一个大于三个点的连通分量里有以下结论:度为二的点可能是track,度为大于二的点一定不是tra ...

  6. CF 1088(A , B , C , D)——思路

    http://codeforces.com/contest/1088 A:Ehab and another construction problem 输出 2 和 n(偶数的话)或者 2 和 n-1( ...

  7. CF 949C Data Center Maintenance——思路+SCC

    题目:http://codeforces.com/contest/949/problem/C 可以想到可能是每组c有连边的可能. 但别直接给c1.c2连边,那样之后会变得很不好做. 可以把一些限制放在 ...

  8. CF 1036B Diagonal Walking v.2——思路

    题目:http://codeforces.com/contest/1036/problem/B 比赛时只能想出不合法的情况还有走到终点附近的方式. 设n<m,不合法就是m<k.走到终点方式 ...

  9. CF Gym 100187A Potion of Immortality (思路,最坏情况的最小损失)

    根据兔子试药情况可以缩小范围,如果死了,不在试过的药里面,如果活着,在试过的药里. 最糟的情况: 两个原则 1.能确定魔药所在的范围的尽量大,2.死得兔子尽量多. 如果当前不知道情况的药n为k的二倍以 ...

随机推荐

  1. Java基础(二)--this关键字及初始化

    构造器: 构造器的名称必须和类名完全相同,所以一般方法的"首字母小写"命名规则并不适合构造器 默认构造器: 也叫无参构造器,作用就是创建一个默认对象,如果你不是手写出来,编译器默认 ...

  2. Redis系列(四)--持久化

    持久化就是将数据的更新异步的保存到磁盘中 持久化方式: 1.快照:某个时间点数据的备份 MySQL dump.Redis RDB 2.写日志:MySQL BinLog.HBASE Hlog.Redis ...

  3. ThinkPHP---TP功能类之分页

    (1)核心 数据分页通过limit语法实现 (2)分页类 ThinkPHP里系统封装好了分页类:Page.class.php (3)代码分析 位置:Think/Page.class.php, ①查看相 ...

  4. MS SQL Server查询 本日、本周、本月、本季度、本年起始时间

    参数声明 declare @beginTime datetime, --查询开始时间 @endTime datetime, --查询结束时间 @queryTimeType tinyint; --查询时 ...

  5. 02JavaScript基础语法及数据类型

    JavaScript基础语法及数据类型 2.1数据类型 2.1.1字符串(String) 用单引号或双引号括起来的零个或多个单一的字符所组成. 2.1.2数值(Number) 包含整数或浮点数. 2. ...

  6. session--保持登录20分钟,常用与用户登录状态

    思路:request  与 session 两个作对比 1. . . 2. 3.

  7. radis入门

    redis介绍 是远程的,有客户端.服务端 存内存,吃内存 应用场景 缓存 队列 list操作 push pop 数据存储[根据redis硬盘持久化的机制,这里不展开] 5种数据类型 string 字 ...

  8. average column data from multiple files

    example in file a, data is [1 , 2, 3; 4,5,6] file b, data is  [4,5, 6; 7,8,9] average=0.5 (a+b) matl ...

  9. BZOJ 1565 Luogu P2805 [NOI2009]植物大战僵尸 (Tarjan判环、最小割)

    我: "立个flag 14点之前调完这题" 洛谷AC时间: 2019-06-24 14:00:16 实力打脸... 网络流板子从来写不对系列 题目链接: (BZOJ) https: ...

  10. 建立DJANGO的自定义TAG

    DJANGO的TAG分为三类: • simple_tag : Processes the data and returns a string• inclusion_tag : Processes th ...