Codeforces Round #555 (Div. 3) c2 d e f
c2:Increasing Subsequence (hard version)
那边小取那边,然后相等比较后面的长度
#include<bits/stdc++.h> using namespace std; #define maxn 500005 int a[maxn]; int main(){ ,in; scanf("%d",&n); ;j<n;j++){ scanf("%d",&a[j]); if(mx<a[j]){ mx = a[j]; in = j; } } string s=""; ,r = n-,k=-; while(l<=r){ if(k<min(a[l],a[r])){ if(a[l]<a[r]){ s+="L"; k=a[l]; l++; }else if(a[l]>a[r]){ s+='R'; k=a[r]; r--; }else{ ,x=k; ,y=k; for(int i = l;i<=in;i++){ if(a[i]>x){ x = a[i]; res1++; }else break; } for(int i = r;i>=in;i--){ if(a[i]>y){ y = a[i]; res2++; }else break; } if(res1>res2){ k = a[l]; l++; s+='L'; }else{ k = a[r]; r--; s+='R'; } } }else if(k<a[l]){ s+='L'; k = a[l]; l++; }else if(k<a[r]){ s+='R'; k = a[r]; r--; }else break; } cout<<s.size()<<endl; cout<<s<<endl; }
#include<bits/stdc++.h> using namespace std; #define maxn 500005 #define LL long long LL a[maxn]; int main(){ LL n,m; scanf(;j<m;j++){ a[j] = (n - (m - j) * (m - -j) / ) / (m-j); //cout<<a[j]<<endl; &&a[j]>a[j-]*){ a[j]=a[j-]*; } n-=a[j]; ){ cout<<"NO"<<endl; ; } } if(n){ cout<<"NO"<<endl; ; } cout<<"YES"<<endl; ;j<m;j++){ cout<<a[j]<<" "; } }
#include<bits/stdc++.h> using namespace std; #define maxn 500005 #define LL long long int a[maxn]; map<int,int>mp; set<int>s; vector<int>Q; int main(){ int n; cin>>n; ;j<n;j++){ cin>>a[j]; } ;j<n;j++){ int x; cin>>x; mp[x]++; s.insert(x); } ;j<n;j++){ int x = (n-a[j])%n; set<int> ::iterator it = s.lower_bound(x); if(it==s.end()){ it=s.begin(); } ){ mp[*it]--; cout<<(*it+a[j])%n<<" "; } ){ s.erase(it); } } }
#include<bits/stdc++.h> using namespace std; #define maxn 500005 #define LL long long int a[maxn]; map<int,int>mp; set<int>s; vector<int>q,w; int main(){ int n; cin>>n; ;j<n;j++){ scanf("%d",&a[j]); mp[a[j]]++; q.push_back(a[j]); } sort(q.begin(),q.end()); q.erase(unique(q.begin(),q.end()),q.end()); ,mx = ,res = ,r=-; ;j<q.size();j++){ ){ res+=mp[q[j]]; if(res>mx){ mx = res; r = j; } }else{ ]+){ ){ res+=mp[q[j]]; if(res>mx){ mx = res; r = j; } }else{ res+=mp[q[j]]; if(res>mx){ mx = res; r = j; } res = mp[q[j]]; } }else{ res=mp[q[j]]; if(res>mx){ mx = res; r = j; } } } } // if(mx==21){ // cout<<q[r]<<endl; // } // cout<<mx<<" "<<r<<endl; int s = mp[q[r]]; ;j>=;j--){ !=q[j+]){ l=j+; break; }else{ s+=mp[q[j]]; if(s==mx){ l=j; break; } } } // cout<<l<<endl; for(int j=l;j<=r;j++){ ){ w.push_back(q[j]); mp[q[j]]--; } } for(int j=r;j>=l;j--){ w.push_back(q[j]); } cout<<w.size()<<endl; ;j<w.size();j++){ cout<<w[j]<<" "; } }
Codeforces Round #555 (Div. 3) c2 d e f的更多相关文章
- Codeforces Round #555 (Div. 3) C2. Increasing Subsequence (hard version)【模拟】
一 题面 C2. Increasing Subsequence (hard version) 二 分析 需要思考清楚再写的一个题目,不能一看题目就上手,容易写错. 分以下几种情况: 1 左右两端数都小 ...
- Codeforces Round #555 (Div. 3) C2. Increasing Subsequence (hard version) (贪心)
题意:给你一组数,每次可以选队首或队尾的数放入栈中,栈中元素必须保持严格单增,问栈中最多能有多少元素,并输出选择情况. 题解:首先考虑队首和队尾元素不相等的情况,如果两个数都大于栈顶元素,那么我们选小 ...
- Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)(单调栈,递推)
Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version) 题意: 你是一名建筑工程师,现给出 n 幢建筑的预计建设高度,你想建成峰状, ...
- Codeforces Round #568 (Div. 2) C2. Exam in BerSU (hard version)
链接: https://codeforces.com/contest/1185/problem/C2 题意: The only difference between easy and hard ver ...
- Codeforces Round #622 (Div. 2).C2 - Skyscrapers (hard version)
第二次写题解,请多多指教! http://codeforces.com/contest/1313/problem/C2 题目链接 不同于简单版本的暴力法,这个数据范围扩充到了五十万.所以考虑用单调栈的 ...
- Codeforces Round #622 (Div. 2)C2 Skyscrapers最大"尖"性矩形,思维||分治
题:https://codeforces.com/contest/1313/problem/C2 题意:给出n个数,分别代表第i个位置所能搭建的最大高度,问以哪一个位置的塔的高度为基准向左的每一个塔都 ...
- Codeforces Round #555 (Div. 3) C1,C2【补题】
D1:思路:L,R指针移动,每次选最小的即可. #include<bits/stdc++.h> using namespace std; #define int long long #de ...
- 老年OIer的Python实践记—— Codeforces Round #555 (Div. 3) solution
对没错下面的代码全部是python 3(除了E的那个multiset) 题目链接:https://codeforces.com/contest/1157 A. Reachable Numbers 按位 ...
- CodeForces Round #555 Div.3
A. Reachable Numbers 代码: #include <bits/stdc++.h> using namespace std; ; int N; set<int> ...
随机推荐
- shell的一些简单用法
一 BASH的属性 BASH中会存储一些自身属性的参数,启用或关闭某一项功能 例如控制* .字符是否为通配 查看参数 set -o 关闭noglob参数 set -o noglob ls * ls: ...
- 2018.10.12 NOIP模拟 字符处理(模拟)
传送门 sb模拟,考试跟着sb了90分. 代码
- ThinkPHP5命令行 执行控制器下的某方法
入口文件后加一个空格就行了 1,首先cd到站点目录public下,我的入口文件是默认的index.php,然后执行以下命令,, 2,php要加入环境变量,index.php后面加空格,然后是模块,控制 ...
- 浮点数转byte数组
; float b=34.56745f; float c=0.0; ,,,}; byte* t=fbs; float2Bytes(t,b); unsigned int addrF=(unsigned ...
- centos6.5(64位)离线安装scalr
1.下载scalr-server安装备包: 下载地址:http://pan.baidu.com/s/1eSA3dom scalr-server-5.1.0.oss-nightly.2015013004 ...
- 破解Excel密码
https://zhidao.baidu.com/question/98055974.html 方法:1\打开文件2\工具---宏----录制新宏---输入名字如:aa3\停止录制(这样得到一个空宏) ...
- 自学如何去学习jQuery
学习JQ第一个demo: 制作一个轮播图,制作方法我前面写了一篇博客,传送门-->http://www.cnblogs.com/yewenxiang/p/6100206.html 需要的JQ知识 ...
- Object-C中方法
//方法 //方法分了两种 //1.类方法,类调用,方法以+开头 //2.实例方法,对象调用,方法以-开头 //类方法和实例方 ...
- Lucene原理一
Lucene 是一个高效的,基于Java 的全文检索库. 所以在了解Lucene之前要费一番工夫了解一下全文检索. 那么什么叫做全文检索呢?这要从我们生活中的数据说起. 我们生活中的数据总体分为两种: ...
- Spring cache 缓存
概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使 ...