我就是不行。

ZJ:

好像是因为郁闷了才咕掉的……

33
Miemeng 30

00:01:34
40

00:01:46
0

00:01:22
70

00:01:46

不记得当时怎么想的

T1只会暴力。

T2也是暴力。

T3连暴力都写错……

Tj解:

存个代码吧……

T1:

#include <iostream>
#include <cstring>
#include <cstdio>
#define N 5555555
#define LL long long using namespace std; int pn;
int arr[N];
int maxv,maxxv;
LL mxt,mxxt;
LL ans=0;
struct Myqueue{
int A[2*N],f,b;
void clear(){f=b=0;}
void push(const int k){A[b++]=k;}
void pop_front(){f++;}
void pop_back(){b--;}
int& front(){return A[f];}
int& back(){return A[b-1];}
bool empty(){return f==b;}
int size(){return b-f;}
}q,id,sam;
int main(){
#ifndef LOCAL
freopen("jolyne.in" ,"r",stdin);
freopen("jolyne.out","w",stdout);
#endif
cin.sync_with_stdio(false);
cin>>pn;
for(int i=1;i<=pn;i++){
cin>>arr[i];
if(arr[i]>maxv){
maxxv = maxv;
maxv = arr[i];
}
else if(arr[i]!=maxv && arr[i]>maxxv){
maxxv = arr[i];
}
}
// cout<<maxv<<" "<<maxxv<<endl;
for(int i=1;i<=pn;i++){
if(maxv == arr[i]) mxt ++;
if(maxxv == arr[i]) mxxt++;
}
// cout<<mxt<<" "<<mxxt<<endl;
for(int i=1;i<=pn;i++){
while(!q.empty() && arr[i] > q.back()){
q.pop_back();
id.pop_back();
sam.pop_back();
}
if(!q.empty() && q.back()==arr[i])
sam.push(sam.back()+1);
else sam.push(1);
id.push(i);
q .push(arr[i]);
}
for(int i=1;i<=pn;i++){
int is_s=0;
while(!q.empty() && id.front()<=i){
is_s=arr[i]==q.front();
q.pop_front();
id.pop_front();
sam.pop_front();
}
while(!q.empty() && q.back() < arr[i]){
q.pop_back();
id.pop_back();
sam.pop_back();
ans++;
}
if(!q.empty() && q.back() == arr[i])
sam.push(sam.back()+1);
else sam.push(1);
id.push(pn+i);
q.push(arr[i]);
if(q.size()==1 || q.front() != q.back())
is_s=0;
int va=sam.back();
sam.pop_back();
sam.push(va-is_s);
ans+=sam.back()-1;
if(q.front() != arr[i]){
ans++;
}
}
if(mxt==1)ans-=mxxt;
else ans-=mxt*(mxt-1)/2;
cout<<ans<<endl;
}

T2:

简单线性dp,作为dpsb又跪了=。=

#include <iostream>
#include <cstring>
#include <cstdio>
#define N 1111111
#define LL long long using namespace std; const int Mod=1e9+7;
int sl;
int arr[N];
LL dp[N],sum[N]; int main(){
#ifndef LOCAL
freopen("rideon.in" ,"r",stdin);
freopen("rideon.out","w",stdout);
#endif
cin.sync_with_stdio(false);
cin>>sl;
for(int i=1;i<=sl;i++)
cin>>arr[i];
for(int i=1;i<=sl;i++){
dp[i] =(sum[i-1]%Mod-sum[arr[i]-1]%Mod+Mod+2)%Mod;
sum[i]=(sum[i-1]+dp[i])%Mod;
}
cout<<sum[sl]<<endl;
}

19-11-05-Night的更多相关文章

  1. Update 19.11 for Azure Sphere

    今天,微软发布了面向Azure Sphere的19.11更新,其主要亮点就是加入了对开发工具Visual Studio Code和Linux开发环境的支持.具体来讲,本次更新包含3个部分: 1. Az ...

  2. 2021.11.05 eleveni的水省选题的记录

    2021.11.05 eleveni的水省选题的记录 因为eleveni比较菜,但是eleveni不想写绿题(总不能说是被绿题虐得不想写),eleveni决定继续水noip原题. --实际上菜菜的el ...

  3. 《剑指offer》数学题及其它 (牛客11.05)

    比较多的思维题,涉及位运算.快速幂.二进制.约瑟夫问题.队列.贪心.dp等等. 难度 题目 知识点 ☆ 12.数值的整数次方 细节,快速幂 ☆☆ 47.求1+2+3+···+n 思维发散 ☆☆ 48. ...

  4. Fibonacci Again 分类: HDU 2015-06-26 11:05 13人阅读 评论(0) 收藏

    Fibonacci Again Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...

  5. Visual Assist X 10.8.2052的Crack破解补丁. 2014.11.05 (General release.)

    VA小组立即更新频率似有些放缓几乎,版本号都是2个月才更新一次,而这次的更新幅度也还是比較大的,新增了6个特性,而且修正和20余处大大小小的问题,而且也是正式发行版,推荐更新. 对于破解补丁还是老规矩 ...

  6. [ASE][Daily Scrum]11.05

    在昨天的课程之后经过讨论进行了初步的分工,并制定出了我们的一个两周计划. 尚没有和老师讨论,已经询问了时间没有收到回复,等老师那边讨论过后我会在更新这个部分. 第一阶段的目标是用户能够在一个空白的地图 ...

  7. HDU6029 Happy Necklace 2017-05-07 19:11 45人阅读 评论(0) 收藏

    Happy Necklace                                                                           Time Limit: ...

  8. [软件工程基础]2017.11.05 第九次 Scrum 会议

    具体事项 项目交接燃尽图 每人工作内容 成员 已完成的工作 计划完成的工作 工作中遇到的困难 游心 #10 搭建可用的开发测试环境:#9 阅读分析 PhyLab 后端代码与文档:#8 掌握 Larav ...

  9. hdu 1053 (huffman coding, greedy algorithm, std::partition, std::priority_queue ) 分类: hdoj 2015-06-18 19:11 22人阅读 评论(0) 收藏

    huffman coding, greedy algorithm. std::priority_queue, std::partition, when i use the three commente ...

  10. Case of the Zeros and Ones 分类: CF 2015-07-24 11:05 15人阅读 评论(0) 收藏

    A. Case of the Zeros and Ones time limit per test 1 second memory limit per test 256 megabytes input ...

随机推荐

  1. python学习6—数据类型之集合与字符串格式化

    python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...

  2. 6-Python操作MySQL-增(insert)-删(delete)-改(update)-查(select)

    增删改 from pymysql import * def main(): # 创建Connection连接 conn = connect(host='localhost',port=3306,dat ...

  3. Nginx安装及分流多个web服务

    Ngnix安装及常用配置 一.安装Nginx 1.检查依赖 yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib ...

  4. 纯PHP Codeigniter(CI) ThinkPHP效率测试

    最近一直想做一个技术类的新闻站点,想做的执行效率高些,想用PHP做,一直纠结于用纯PHP做还是用CI或者THINKPHP.用纯PHP效率高,缺点 n多,比如安全方面.构架方面等等等等:用CI.thin ...

  5. 钉钉小程序----使用阿里的F2图表

    在钉钉小程序中使用F2的图表遇见很多问题 不能点击或者点击错乱的问题还没有解决,因为我解决不了........................... ------------------------- ...

  6. 线程池ThreadPoolExecutor工作原理

    前言 工作原理 如果使用过线程池,细心的同学肯定会注意到,new一个线程池,但是如果不往里面提交任何任务的话,main方法执行完之后程序会退出,但是如果向线程池中提交了任务的话,main方法执行完毕之 ...

  7. 透彻理解并掌握JavaScript的this

    前言 无论是JavaScript新手还是老手,JavaScript中的this关键词可能都会令你困惑.本文旨在透彻地阐述this.读完本文,就再也不用怕JavaScript中的this了.你将会知道在 ...

  8. windows安装cygwin实现gcc/g++/linux操作等功能

    首先安装cygwin:参照下列博客去cygwin官网下载即可.安装过程中记得勾选需要的安装包,比如gcc/gdb https://blog.csdn.net/qilvmilv/article/deta ...

  9. PL/SQL创建用户

    步骤一:新建 步骤二:填写信息 对应SQL代码 -- Create the user create user WENT identified by "longrise" defau ...

  10. day23 内置函数,匿名函数,递归

    Python之路,Day11 = Python基础11 内置函数divmod(x, y)   # (商, 模)enumerate(可迭代对象)     # (序号,值)eval(字符串) # 把字符串 ...