dp,参考了http://www.cppblog.com/hanfei19910905/archive/2012/06/30/180831.html;

定义两组状态 L1[i] 表示在 0-i 内的最大得分,L2[i] 表示从 i 出发回到 i 的最大得分,不难得到状态转移方程,最后枚举 i 组合求出最大值;

# include <cstdio>
# include <algorithm># define N 100005using namespace std;typedef long long int LL;int n, num[N];
LL L1[N], L2[N], R1[N], R2[N], ans;void init(void)
{int i;scanf("%d", &n);for (i = 1; i < n; ++i)scanf("%d", &num[i]);
}void solve(void)
{int i;L1[0] = L2[0] = 0;for (i = 1; i < n; ++i){L2[i] = (num[i]>1 ?  L2[i-1]+num[i]/2*2:0);if (num[i] & 0x1) L1[i] = L1[i-1] + num[i];else L1[i] = max(L2[i], L1[i-1]+num[i]-1);}R2[n-1] = R1[n-1] = 0;for (i = n-2; i >= 0; --i){R2[i] = (num[i+1]>1 ? R2[i+1]+num[i+1]/2*2:0);if (num[i+1] & 0x1) R1[i] = R1[i+1] + num[i+1];else R1[i] = max(R2[i], R1[i+1]+num[i+1]-1);}ans = 0;for (i = 0; i < n; ++i){ans = max(ans, max(max(L1[i], R1[i]), max(L1[i]+R2[i], L2[i]+R1[i])));}printf("%I64d\n", ans);
}int main()
{//freopen("in.txt", "r", stdin);
init();solve();return 0;
}

转载于:https://www.cnblogs.com/JMDWQ/archive/2012/07/13/2590845.html

201C Fragile Bridges相关推荐

  1. codeforces 201C Fragile Bridges

    wa代码 #include<iostream> #include<math.h> #include<stdio.h> #include<algorithm&g ...

  2. HDU 4738 Caocao‘s Bridges(桥、任何位运算一定都要加括号、因为有重边所以用前向星)

    HDU 4738 Caocao's Bridges(桥.任何位运算一定都要加括号.因为有重边所以用前向星) Caocao was defeated by Zhuge Liang and Zhou Yu ...

  3. Hdu 4738 Caocao's Bridges (连通图+桥)

    题目链接: Hdu 4738 Caocao's Bridges 题目描述: 有n个岛屿,m个桥,问是否可以去掉一个花费最小的桥,使得岛屿边的不连通? 解题思路: 去掉一个边使得岛屿不连通,那么去掉的这 ...

  4. 2019 ICPC World Finals Problem B. Beautiful Bridges

    2019 ICPC World Finals Problem B. Beautiful Bridges Solution 太菜了,sbsbsb题调了一个下午. 首先有一个显然的O(n3)O(n^3)O ...

  5. 数据结构之线段树Ⅴ——(李超线段树)Robot,Product Sum,Building Bridges,Jump mission

    文章目录 Robot Product Sum Building Bridges Jump mission Robot BZOJ3938 机器人每次一旦改变速度,直到下一次改变速度为止 这一时间段内机器 ...

  6. bzoj2095 [Poi2010]Bridges

    bzoj [Poi2010]Bridges Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到 ...

  7. BZOJ2095[Poi2010] Bridges

    BZOJ2095[Poi2010] Bridges Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小 ...

  8. BZOJ 2095: [Poi2010]Bridges 混合图欧拉回路

    YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛.现在YYD想骑单车从小岛1出发,骑过每一座桥,到达 ...

  9. BZOJ2095 POI2010 Bridges 【二分+混合图欧拉回路】

    BZOJ2095 POI2010 Bridges Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛 ...

最新文章

  1. SQL 进阶技巧(上)
  2. 让关键词排名更稳定提升的优化技巧有哪些?
  3. POJ 1840 Eqs 解方程式, 水题 难度:0
  4. 谷歌地球API相关网页翻译
  5. 如果沟通有范式,它会是怎么样子?
  6. Win7与其它Windows的双系统问题
  7. Delphi中预想不到的代码楼主zswang(伴水清清)(专家门诊清洁工)2002-05-16 14:20:38 在 Delphi / VCL组件开发及应用 提问
  8. uglifyjs报错 webpack_webpack3里使用uglifyjs压缩js时打包报错的解决
  9. linux tomcat PermGen space
  10. day32 java的多线程(2)
  11. Java中this关键词与构造函数,构造代码块的理解
  12. 贪吃蛇c语言作业ppt,c语言贪吃蛇
  13. frft雷达信号处理 论文
  14. php ftps,使用PHP Curl的FTPS获得部分下载
  15. Ventoy的pe盘制作及重装系统步骤【解释的非常清楚!!!】
  16. 神经元的细胞体内有什么,神经元的细胞体在哪里
  17. 《中国人史纲》读书笔记:第八章、第九章 公元前第六、五世纪
  18. Python常用内置函数enumerate()详细用法介绍
  19. GTX1050和GTX1050Ti哪个值得买?
  20. 机器学习算法(九):神经网络(neural networks,NN)

热门文章

  1. 机器学习笔记(十二)计算学习理论
  2. Leetcode 146. LRU缓存机制 解题思路及C++实现
  3. 破解32位NT6内核系统(vista/win7 8G以上)的内存限制,完美支持4GB至128GB内存,全新教程!
  4. count/distinct/group by的用法总结
  5. SpringMVC入门案例细节分析
  6. Python 【大风号】短视频的自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、微视、西瓜视频、微信视频号等平台的视频自动化同步发布
  7. Excel 技术篇-跨页签统计某一区域下符合条件值的数量方法,COUNTIF函数、数量统计公式的用法实例演示
  8. 采用串口DMA双缓冲方法,快速更新外部FLASH中文字库
  9. CTFshow php特性 web136
  10. 怎么在Caffe中配置每一个层的结构