传送门

E.sequence

题意

  定义序列 p 中的 "good",只要 i 之前存在 pj < pi,那么,pi就是 "good";

  求删除一个数,使得序列中 "good" 的个数最多;

题解

  一个数 pi 对 "good" 的贡献有两个来源:

  ①p本身为"good",对答案的贡献为 1;

  ②删除 p后,i 之后的本来是 "good" 的数因为 pi 被删除而变成非 "good" 数,这样的数有多少个,pi对答案的贡献就是多少;

  贡献①好求,主要是贡献②的求解方法;

  定义 fir,sec 为第一小,第二小的数;

  枚举位置 i,判断 pi 与 fir,sec 的大小关系;

  ①如果 pi > min{fir,sec},那么 pi 本身就为 "good";

  (1)如果 pi > sec,删除其之前的任何一个数,都不会使 pi 由 "good" 变为 非 "good";

  (2)如果 fir > pi > sec,那么,删除 fir 会使得 pi 由 "good" 变为 非"good";

  ②pi < min{fir,sec},pi 本身对答案无贡献;

AC代码

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define INF 0x3f3f3f3f
#define lowbit(x) (x&-x)
#define mem(a,b) memset(a,b,sizeof(a))
const int maxn=1e6+; int n;
int p[maxn];
int a[maxn];///a[i]:判断p[i]对答案的影响 int Solve()
{
int fir=INF;
int sir=INF;
for(int i=;i <= n;i++)
{
if(p[i] > fir)
{
a[p[i]]++;
if(p[i] < sir)
a[fir]++;
} if(p[i] < fir)
{
sir=fir;
fir=p[i];
}
else if(p[i] < sir)
sir=p[i];
} int ans;
int ansTot=n+;
for(int i=;i <= n;++i)
{
int cur=a[p[i]];
if(ansTot > cur)
{
ans=p[i];
ansTot=cur;
}
else if(ansTot == cur && ans > p[i])
ans=p[i];
}
return ans;
}
int main()
{
// freopen("C:\\Users\\hyacinthLJP\\Desktop\\in&&out\\contest","r",stdin);
int test;
scanf("%d",&test);
while(test--)
{
scanf("%d",&n);
for(int i=;i <= n;i++)
{
scanf("%d",p+i);
a[i]=;
}
printf("%d\n",Solve());
}
return ;
}

•踩坑

  刚开始判断其本身的影响和对其他的数的影响时,用的是树状数组求逆序对判断的(TLE到死);

  其实完全没必要记录这么多信息,只需记录某数前的第一小和第二小的数即可;

神评测鸡

  用之前AC的代码,Ctrl+C , Ctrl+V,TLE???

  AC之前用的是 ++i,一直TLE,改成 i++,AC???

“浪潮杯”第九届山东省ACM大学生程序设计竞赛(重现赛)E.sequence(树状数组求逆序对(划掉))的更多相关文章

  1. “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 C-Cities

    题目描述:There are n cities in Byteland, and the ith city has a value ai. The cost of building a bidirec ...

  2. “浪潮杯”第九届山东省ACM大学生程序设计竞赛 F: Four-tuples容斥定理

    题目 F : Four-tuples  输入 1 1 1 2 2 3 3 4 4 输出 1 题意 给l1, r1, l2, r2, l3, r3,  l4, r4​ , 八个数据, 要求输出在区间[l ...

  3. 第八届山东省ACM大学生程序设计竞赛个人总结

    因为省赛,从开学紧张到5月7号.心思也几乎全放在ACM的训练上.因为我还是校台球协会的会长,所以台协还有一些事情需要忙,但是我都给延迟了.老会长一直在催我办校赛,但我一直说 等等吧,因为校赛只能在周六 ...

  4. UPC 2224 / “浪潮杯”山东省第四届ACM大学生程序设计竞赛 1008 Boring Counting 主席树

    Problem H:Boring Counting Time Limit : 6000/3000ms (Java/Other)   Memory Limit : 65535/32768K (Java/ ...

  5. 第十四届浙江财经大学程序设计竞赛重现赛--A-A Sad Story

    链接:https://www.nowcoder.com/acm/contest/89/A 来源:牛客网 1.题目描述 The Great Wall story of Meng Jiangnv’s Bi ...

  6. 山东省第四届ACM大学生程序设计竞赛解题报告(部分)

    2013年"浪潮杯"山东省第四届ACM大学生程序设计竞赛排名:http://acm.upc.edu.cn/ranklist/ 一.第J题坑爹大水题,模拟一下就行了 J:Contes ...

  7. [2012山东省第三届ACM大学生程序设计竞赛]——n a^o7 !

    n a^o7 ! 题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2413 Time Lim ...

  8. [2012山东省第三届ACM大学生程序设计竞赛]——Mine Number

    Mine Number 题目:http://acm.sdut.edu.cn/sdutoj/problem.php? action=showproblem&problemid=2410 Time ...

  9. Alice and Bob(2013年山东省第四届ACM大学生程序设计竞赛)

    Alice and Bob Time Limit: 1000ms   Memory limit: 65536K 题目描述 Alice and Bob like playing games very m ...

随机推荐

  1. PHP学习(运算符)

    PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. 算术运算符 主要是用于进行算术运算的,例如:加法运算.减法运算.乘法运算.除法运算 ...

  2. Bootstrap —— tab切换

    tab切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  3. solr dataimport中遇到的问题

    1.windows的tomcat是没有catalina.out的,可以通过修改start.bat和catalina.bat的方式让日志输出到catalina.out 2.按照网上搜到的资料配置好sol ...

  4. JMeter 参数意义

    样本数目:运行时得到的取样器响应结果个数 最新样本:最近一个取样器结果的响应时间 平均:所有取样器结果的响应时间平均值 偏离:所有取样器结果的响应时间标准差 吞吐量:每分钟响应的取样器结果个数 中值: ...

  5. Hibernate中的Session对象 标签: hibernatesession 2017-01-22 22:10 238人阅读 评论(

    Hibernate中的Session 大家在看hibernate视频的时候一定都发现了,每次要操作数据库,总是要新建一个session对象,Hibernate在对资料库进行操作之前,必须先取得Sess ...

  6. 【调试】Visual Studio 调试小技巧(2)-从查看窗口得到更多信息(转载)

    在使用Visual Studio开发调试程序时,我们经常需要打开查看窗口(Watch)来分析变量.有时在查看窗口显示的内容不是很直观.为了能从查看窗口的变量中得到更多的信息,我们需要一些小的技巧.下面 ...

  7. Kubernetes1.4正式发布

    Kubernetes1.4正式发布. 昨天刚预测1.4即将正式发布,结果晚上Kubernetes1.4就正式发布了. 先看看Kubernetes发布历史: Kubernetes 1.0 - 2015年 ...

  8. SpringCloud Zuul 路由映射规则配置

    阅读目录 前言 快速入门 路由详解 Cookie与头信息 本地跳转 Hystrix和Ribbon支持 过滤器解释 动态加载 后记 回到目录 前言 本文起笔于2018-06-26周二,接了一个这周要完成 ...

  9. el-dialog 一些问题 局中滚动

    .el-dialog { position: absolute; top: 50%; left: 50%; margin: 0 !important; transform: translate(-50 ...

  10. linux环境变量设置和默认执行语句设置

    环境变量设置 1.export export ORACLE_HOME=/usr/local/instantclient_12_2export PATH=$ORACLE_HOME:$PATHexport ...