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> ...
随机推荐
- 2018.10.18 NOIP训练 ZUA球困难综合征(线段树)
传送门 考虑到模数等于7 * 13 * 17 * 19. 那么只需要维护四棵线段树求出每个数处理之后模7,13,17,197,13,17,197,13,17,19的值再用crtcrtcrt合并就行了. ...
- 2018.09.23 bzoj1076: [SCOI2008]奖励关(期望+状压dp)
传送门 一道神奇的期望状压dp. 用f[i][j]f[i][j]f[i][j]表示目前在第i轮已选取物品状态为j,从现在到第k轮能得到的最大贡献. 如果我们从前向后推有可能会遇到不合法的情况. 所以我 ...
- 第一个Django应用
Django教程:http://www.liujiangblog.com/course/django/2 第一个Django应用 该应用包括以下两个部分: 一个可以让公众用户进行投票和查看投票结果的站 ...
- java redis基本操作
package com.redis; import java.util.ArrayList;import java.util.Iterator;import java.util.List;import ...
- Linux必须学的东西,鉴于各大公司实际开发都不用Windows系统
Windows安全性比较差,所以各大公司会使用其他的平台,所以像Linux就是很常用的,基于Unix的开源系统,鉴于很多人写的很散,所以自己总结下对于自己有用的重点,现在总结下简单的linxu的命令使 ...
- UVa 1639 Candy (数学期望+组合数学+高精度存储)
题意:有两个盒子各有n个糖,每次随机选一个(概率分别为p,1-p),然后吃掉,直到有一次,你打开盒子发现,没糖了! 输入n,p,求另一个盒子里糖的个数的数学期望. 析:先不说这个题多坑,首先要用lon ...
- 电信网上营业厅-客户充值缴费时间段数据挖掘--spss
最近研究分析了“云南电信网上营业厅”e9宽带续约缴费的数据,目前宽带续约量为171人,今天需要谈论的是:如何利用SPSS挖掘出“客户充值缴费的时间段”客户喜欢在哪个时间段来网厅进行充值缴费 云南电信网 ...
- OpenNI体感应用开发实战 (Kinect相机)
一直以为Kinect是双目摄像机,或者是三目,看到那三个摄像头怎么可能不产生这样的疑惑,实际上它确实是单目摄像机,它三个摄像头分别为:红外发射器,RGB彩色相机,红外接收器.而其中,红外发射器和红外接 ...
- (有点递归的感觉)RGCDQ--hdu--5317
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5317 感觉好神奇呀,一堆数在一起可以找到规律,学长讲完后,觉得自己是如此的so young f[x] ...
- 一次简单完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试,手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文就基于python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化 ...