我就是不行。

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. scala容器对象(转载)

    1Array 数组 Scala的数组是这个样子: val arr = new Array[String](3) 程序员们基本都看得懂,new 一个Array对象,它的类型是String,长度为3.对元 ...

  2. spark-sql性能优化之——动态实现多个列应用同一个函数

    在对一个dataframe的多个列实现应用同一个函数时,是否能动态的指定? 例如: 对A,B,C三列实现分组统计 1.初始化spark,构建DF val spark = SparkSession.bu ...

  3. 随笔-ansible-2

    通过Ansible来搭建一套Web服务架构.[以AD-HOC的形式] Inventory文件内容如下: [proxy] 192.168.40.254 [app] 192.168.40.243 [nos ...

  4. shell对比两个目录中有哪些文件不同

    参考:https://www.cnblogs.com/liyuchuan/p/10756066.html 目录结构: /data/dir1 subdir/ subfile /data/dir2 sub ...

  5. 21-2-substring

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Python 执行tail文件并操作

    def log_search(self, logfile, search_content, timeout=10): import time import subprocess import sele ...

  7. Repeater 分页

    1.RepeaterDemo_Page.aspx前台代码 <body> <form id="form1" runat="server"> ...

  8. All you need to know about: solder mask and paste mask

    1, 从字面理解 (1) 从字面理解,solder mask意指要mask住需要solder的地方.那么被mask的是谁呢?是绿油层.可以把默认形态的绿油层想象成与PCB板形状.面积相同,solder ...

  9. Windows ipconfig

    用法:    ipconfig [/allcompartments] [/? | /all |                                 /renew [adapter] | / ...

  10. C# GZipStream 压缩 解压

    关于GZipStream压缩解压,网上找了很多资料,完整的不多,要么是针对字符串压缩解压缩的,要么只实现了针对单个文件的压缩解压缩,还有的不支持子文件夹的压缩,实用性都不是很大. 以下整理了压缩解压缩 ...