1564 区间的价值
分治
#include<stdio.h> #include<math.h> #include<cstring> #include<stack> #include<iostream> #include<algorithm> #include<queue> #define MAXSIZE 100005 #define LL long longusing namespace std; const LL INF = 1e19;LL a[MAXSIZE],dp[MAXSIZE];void Solve(int l,int r) {if(l > r)return;LL maxn=0,minn=INF;int pmax,pmin,maxnlen,minnlen;for(int i=l;i<=r;i++){if(maxn < a[i]){maxn = a[i];pmax = i;}if(minn > a[i]){minn = a[i];pmin = i;}}minnlen = fabs(pmax-pmin)+1;maxnlen = r-l+1;for(int i=minnlen;i<=maxnlen;i++)dp[i] = max(dp[i],minn*maxn);Solve(l,pmin-1);Solve(pmin+1,r); }int main() {memset(dp,0,sizeof(dp));int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld",&a[i]);Solve(1,n);for(int i=1;i<=n;i++)printf("%lld\n",dp[i]);return 0; }
View Code
转载于:https://www.cnblogs.com/alan-W/p/8383594.html
1564 区间的价值相关推荐
- HDU 5696 区间的价值 暴力
区间的价值 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5696 Description 我们定义"区间的价值"为一段区间的最大 ...
- [hdu] 5696 区间的价值 || 序列分治
原题 我们定义"区间的价值"为一段区间的最大值*最小值. 一个区间左端点在L,右端点在R,那么该区间的长度为(R−L+1). 求长度分别为1-n的区间的最大价值. 保证数据随机 因 ...
- 2016百度之星 初赛(Astar Round2B) 1001 区间的价值
题意:我们定义"区间的价值"为一段区间的最大值*最小值. 一个区间左端点在L,右端点在R,那么该区间的长度为(R−L+1). 现在聪明的杰西想要知道,对于长度为k的区间,最大价值的 ...
- 51Nod 1674——区间的价值 V2
题目梗概 给出一个n个数. 求所有区间的贡献的加和. 一个区间的贡献:所有数的 and and值 ∗ *所有数的oror值. 解题思路 首先我们要知道对一个数一直 and and或者 or or操作减 ...
- 【数学结论】51Nod 1674 区间的价值 V2
题面在这里 很容易发现,一个序列的前缀and/or值可分为 log(V) log(V)块 其中V是序列中元素的最大值 然后这题就很好做了 枚举区间的右端点i,同时维护每一个块的范围和值 显然有and块 ...
- 51Nod1674[区间的价值 V2]--分块
[链接] 51nod1674 [解题报告] 经典的分块题目. 因为对于一组数 a1,a2,a3,...,an a_1,a_2,a_3,...,a_n的按顺序 and and值是递减的, or or值是 ...
- 【and or分块】51Nod1674[区间的价值 V2]题解
题目概述 给出一个序列 {An} \{A_n\} ,求 ∑ni=1∑nj=iand(ai,ai+1,⋯,aj)∗or(ai,aI+1,⋯,aj) \sum_{i=1}^{n}\sum_{j=i}^{n ...
- 【[Offer收割]编程练习赛10 C】区间价值
[题目链接]:http://hihocoder.com/problemset/problem/1483 [题意] 中文题 [题解] 二分最后的答案; 二分的时候; 对于每一个枚举的值x; 计算小于等于 ...
- 【2018.3.17】模拟赛之二-ssl1862jzoj1366 删数【区间dp】
正题 链接 需要纪中OJ账号 有n个数,可以选择删除一段区间,价值为|xi – xk|*(k-i+1).求删完所有数的最大价值 输入输出(需要自取) Input 输入文件的第一行为一个正整数N,第二行 ...
- HihoCoder - 1483 区间最值
给定n个数A1...An,小Ho想了解AL..AR中有多少对元素值相同.小Ho把这个数目定义为区间[L,R]的价值,用v[L,R]表示. 例如1 1 1 2 2这五个数所组成的区间的价值为4. 现在小 ...
最新文章
- 接口(interface)
- github是什么?
- 细说HTML元素的ID和Name属性的区别
- 微软北大联合提出换脸AI和脸部伪造检测器,演绎现实版「矛与盾」?
- POJ 2106 Boolean Expressions (布尔表达式求值)
- 《ArcGIS Runtime SDK for Android开发笔记》——(11)、ArcGIS Runtime SDK常见空间数据加载...
- nvidia 桌面录屏
- Cocos2d-x 3.2 的内存管理详解
- 3D Slicer Programmatically Set Slice Offset and Intersections 用代码修改Slicer中的切片偏移和交叉点显示...
- 2020 年软件设计师考试上午真题
- 超好用的在线思维导图网站
- 目前,国内的互联网发展趋势
- 服务器手机远程控制,向日葵远程控制让手机也能远程管理
- 半/全加器中的异或门和与门的应用
- [校园网]绕过校园网使用自己服务器流量教程
- ❤『面试知识集锦100篇』1.面试技巧篇丨HR的小心思,你真的懂吗?
- 大盗阿福(打家劫舍)
- 国产android智能手表,国产安卓手机越来越骚了 这回连手表都用上了
- 点焊机器人焊接超时_机器人点焊自动化 I 附机器人点焊焊接工艺
- 从“网红”到“超级网红”,长沙凭什么这么火?