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

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

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

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

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

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

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

模仿:

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. using namespace std;
  6. typedef long long ll;
  7. int const maxn=3e5+;
  8. int n,g[][maxn];
  9. ll s[][maxn],f[][maxn][],ans;
  10. int main()
  11. {
  12. scanf("%d",&n);
  13. for(int i=;i<n;i++)scanf("%d",&g[][i]);
  14. for(int i=;i<n;i++)scanf("%d",&g[][i]);
  15. for(int j=;j<=;j++)
  16. for(int i=n-;i>=;i--)
  17. {
  18. f[j][i][]=f[j][i+][]+(ll)(n-i-)*g[j][i];//<-
  19. f[j][i][]=f[j][i+][]+(ll)i*g[j][i];//-> //走过来一定在 i 时间或以后
  20. s[j][i]=s[j][i+]+g[j][i];
  21. }
  22. ll w=,add=;
  23. for(int x=,y=;x<n;x++,y^=)
  24. {
  25. add=x*s[y][x]+f[y][x][]+(x+n)*s[!y][x]+f[!y][x][];
  26. ans=max(ans,w+add);
  27. w+=(ll)g[y][x]**x+(ll)g[!y][x]*(*x+);
  28. }
  29. printf("%I64d\n",ans);
  30. return ;
  31. }

代码如下:

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. using namespace std;
  6. typedef long long ll;
  7. int const maxn=3e5+;
  8. int n,g[][maxn];
  9. ll s[][maxn],f[][maxn][],ans;
  10. void dfs(int x,int y,ll w)
  11. {
  12. if(x==n)return;
  13. ll t=*x,tt=t+n-x;
  14. ans=max(ans,w+t*s[y][x+]+f[y][x+][]+tt*s[!y][x+]+f[!y][x+][]);
  15. dfs(x+,y^,w+(ll)(t+)*(g[][x+]+g[][x+])+g[!y][x+]);
  16. }
  17. int main()
  18. {
  19. cin>>n;
  20. for(int i=;i<=n;i++)cin>>g[][i];
  21. for(int i=;i<=n;i++)cin>>g[][i];
  22. for(int j=;j<=;j++)
  23. {
  24. for(int i=n,k=;i;i--,k++)
  25. {
  26. f[j][i][]=f[j][i+][]+(ll)k*g[j][i];//<-
  27. s[j][i]=s[j][i+]+g[j][i];
  28. }
  29. for(int i=n;i;i--)
  30. {
  31. f[j][i][]=f[j][i+][]+s[j][i];//->
  32. }
  33. }
  34. dfs(,,);
  35. cout<<ans-s[][]-s[][];
  36. return ;
  37. }

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. Python Web开发

    参考原文 Python廖雪峰 WSGI接口 WSGI(Web Server Gateway Interface)是一个接口,用来屏蔽底部的细节(如TCP的建立连接,HTTP原始请求和响应格式等).WS ...

  2. [Luogu] P3225 [HNOI2012]矿场搭建

    题目描述 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之 ...

  3. 魂酥的LNOI2019滚粗记

    $Day -???$ 高一下终于开始了 在开学文化课考试的水题之下混了个(成绩)前排 于是我便油然而生一种自信 我!要!进!省!队! 讲句真话我这么想的时候连自己都觉得自己是个十足的沙雕 我又不是zw ...

  4. pxc增量恢复

    解流 xbstream -x < fullbackup2.xbstream -C /data/fullbackup xbstream -x < fullbackup2.xbstream - ...

  5. 【Codeforces 711C】Coloring Trees

    [链接] 我是链接,点我呀:) [题意] 连续相同的数字分为一段 你可以改变其中0为1~m中的某个数字(改变成不同数字需要不同花费) 问你最后如果要求分成恰好k段的话,最少需要多少花费 [题解] dp ...

  6. 数据库中间件MyCat学习总结(1)——MyCat入门简介

    为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代.如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷. MyCat的目标就是:低成本 ...

  7. HDU 1573 解同余模线性方程组

    题目意思很直接就是一道裸的解线性同余模方程组的题目 #include <cstdio> #include <cstring> using namespace std; #def ...

  8. ACM数论常用知识完全解读

    此版本纯属扯淡....... 一个一个来起.

  9. C++标准库:bitset 用法整理&&zoj 3812

    转载: http://happyboy200032.blog.163.com/blog/static/46903113201291252033712/ 头文件:#include <bits/st ...

  10. PatentTips – GPU Saving and Restoring Thread Group Operating State

    BACKGROUND OF THE INVENTION The present invention relates generally to single-instruction, multiple- ...