题意: n种食物,每种含花椒的概率为Pi,现在已经选择了[L,R]这个区间(下标)的食物,要再选一个,使总的食物只有一种含花椒的概率最大,问选哪个最好,相同的选下标小的。

解法: 就不写解法了。此处有官方题解: http://acm.uestc.edu.cn/bbs/read.php?tid=5835

维护一个前缀后缀的最值即可。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#define Mod 1000000007
#define eps 1e-8
using namespace std;
#define N 100002 int preMax[N],bacMax[N],preMin[N],bacMin[N];
double pMax[N],pMin[N],bMax[N],bMin[N],p[N];
int sgn(double x)
{
if(x < -eps) return -;
if(x > eps) return ;
return ;
} int main()
{
int t,n,i,m,L,R;
cin>>t;
while(t--)
{
scanf("%d",&n);
for(i=;i<=n;i++)
scanf("%lf",&p[i]);
preMax[] = ; preMin[] = ;
pMax[] = -; pMin[] = Mod;
bacMax[n+] = n+; bacMin[n+] = n+;
bMax[n+] = -; bMin[n+] = Mod;
for(i=;i<=n;i++)
{
preMax[i] = preMax[i-];
preMin[i] = preMin[i-];
pMax[i] = pMax[i-];
pMin[i] = pMin[i-];
if(p[i] > pMax[i]) pMax[i] = p[i], preMax[i] = i;
if(p[i] < pMin[i]) pMin[i] = p[i], preMin[i] = i;
}
for(i=n;i>=;i--)
{
bacMax[i] = bacMax[i+];
bacMin[i] = bacMin[i+];
bMax[i] = bMax[i+];
bMin[i] = bMin[i+];
if(p[i] >= bMax[i]) bMax[i] = p[i], bacMax[i] = i;
if(p[i] <= bMin[i]) bMin[i] = p[i], bacMin[i] = i;
}
scanf("%d",&m);
while(m--)
{
scanf("%d%d",&L,&R);
L++,R++;
double B = 1.0, E = 0.0;
for(i=L;i<=R;i++)
B *= (-p[i]), E += p[i]/(-p[i]);
if(sgn(-E) > )
{
if(pMax[L-] >= bMax[R+]) printf("%d\n",preMax[L-]-);
else printf("%d\n",bacMax[R+]-);
}
else
{
if(pMin[L-] <= bMin[R+]) printf("%d\n",preMin[L-]-);
else printf("%d\n",bacMin[R+]-);
}
}
}
return ;
}

UESTC 1015 Lweb and pepper --前,后缀最值的更多相关文章

  1. codeforces 579D D. "Or" Game(前后缀+贪心)

    题目链接: D. "Or" Game time limit per test 2 seconds memory limit per test 256 megabytes input ...

  2. Objective-C 【NSString-字符串比较&前后缀检查及搜索】

    ———————————————————————————————————————————NSString 字符串比较 #import <Foundation/Foundation.h> vo ...

  3. poj 2752 Seek the Name, Seek the Fame【KMP算法分析记录】【求前后缀相同的子串的长度】

    Seek the Name, Seek the Fame Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14106   Ac ...

  4. [LeetCode] Prefix and Suffix Search 前后缀搜索

    Given many words, words[i] has weight i. Design a class WordFilter that supports one function, WordF ...

  5. Hibernate给表和字段设置前后缀及分隔符

    在<一口一口吃掉Hibernate(一)--使用SchemaExport生成数据表>中介绍了如何生成数据表.但是这只是最基本的.hibernate在生成或者操作数据库时,会受一些限制.比如 ...

  6. HDU 2594(求最长公共前后缀 kmp)

    题意是在所给的两个字符串中找最长的公共前后缀,即第一个字符串前缀和第二个字符串后缀的最长相等串. 思路是将两个字符串拼接在一起,然后直接套用 kmp 算法即可. 要注意用 next 会报编译错误,改成 ...

  7. poj 2752 求一个字符串所有的相同前后缀

    求一个字符串所有的相同前后缀Sample Input ababcababababcababaaaaaSample Output 2 4 9 181 2 3 4 5 #include <iostr ...

  8. HDU 2594 最长相同前后缀

    Sample Inputclintonhomerriemannmarjorie Sample Output0rie 3 输入两个字符串 ,求最长相同前后缀直接把两个字符串连接在一起求next就行了,唯 ...

  9. python 删除2天前后缀为.log的文件

    python脚本 删除2天前后缀为.log的文件 #!/usr/local/python/bin/python #-*-coding=utf8 -*- import time import os,sy ...

随机推荐

  1. iOS UIAlertController

    在Xcode的iOS9.0 SDK中,UIAlertView和UIActionSheet都被UIAlertController取代. 在iOS 9中,UIAlertController在功能上是和UI ...

  2. sharepoint2010问卷调查(3)-实现问卷的开始和结束时间(采用自定义字段类型)

    接着上面的图片调查,sharepoint自带的问卷调查是没有开始和结束时间的.这个在项目过程不太实用.问卷一般有开始和结束时间的.因此需要自己 动手开发一个自定义字段类型字段.如下图: 开发添加栏目会 ...

  3. charset的获取方法

      1.解析http请求的返回值: 2.通过解析html的meta标签里面的数据: 3.通过cpdetector(java环境下)来自动验证: ---------------------------- ...

  4. Tomcat系统部署启动问题分析一例[sudo 启动]

    今天的系统获取新的版本后部署时突然tomcat无法启动,而比较版本的变化内容,也就是几个jsp和js文件的变化,对于web.xml等都没有调整. 这个问题很是奇怪,下面把步骤总结一下,以避免类似的问题 ...

  5. Android中的XML解析

    在安卓中主要有三种XML文档解析方式:DOM(Document Object Model), SAX(Simple API for XML), PULL 他们的主要特点如下表:   特点 主要类 DO ...

  6. ios 返回指定导航控制器

    UINavigationController *navigationVC = self.navigationController; NSMutableArray *viewControllers = ...

  7. sublime text 3 常用快捷键 、常用插件

    常用快捷键 查找( Ctrl + P ) 找到任何东西 - :+行号   定位到具体的行 - @+符号  js的函数名, css的选择器名 - #+关键字  定位到特定的关键字 命令面板 (Ctrl ...

  8. git将代码提交到远程分支(非主分支)

    一个仓库可以包含多个分支,有一个默认的主分支:master 若想提交代码至远程仓库的某个分支(非主分支) 先查看下本地分支以及远程分支:git branch -a 由本地分支(非主分支master)提 ...

  9. yii过滤xss代码,防止sql注入

    作者:白狼 出处:www.manks.top/article/yii2_filter_xss_code_or_safe_to_database 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明 ...

  10. 一个经典实用的iptables shell脚本

    PS:这个iptables脚本不错,很实用,根据实际应用改一下就可以自己用.分享出来,供大家来参考.原作者佚名.源代码如下: #!/bin/sh # modprobe ipt_MASQUERADE m ...