Codeforces Round #773 (Div. 2)
这一场打的非常一般,不过把D想出来了(当然只剩10min没有写出来)。
A.Hard Way
- 题意:(很怪的题,我读题读半天)给你一个三角形(端点都在整数点上),问从x轴往上划线(不一定垂直)画不到的点集的长度。
- 思路:输出题目还说一堆浮点数误差(可是根本用不到double),就是判断是否存在两个点y相同,而且另外一个点的y小鱼他们然后就是这两个点x的距离,否则就是0
B.Power Walking
- 页面:cj
C. Great Sequence
- 题意:求加最少的数使得数列中所有数都能够成功配对(配对的两个数要有x倍关系)
- 思路:首先消掉能配对的然后剩下的数互相都不能配对,然后答案就是剩下数的个数。我用的是排序+二分(对于相同的数从前往后用,用了就标记一下)
D.Repetitions Decoding
- 题意:给你一个数列,每次操作在中间插入两个相同的数,问你能否构造出由连续多个“对等数列”构成的数列(长度\(2*k\),其中\(a_i=a_i+k\))
- 思路:发现一个性质:对于数列前x个数\(a_1,a_2,a_3...a_x\)值按从前到后的顺序一次再上一次的中间插入(这样x次),得到\(a_1,a_2...a_x,a_1,a_2...a_x,a_x,a_x,a_{x-1}...,a_2,a_1\)然后发现前\(\frac{2}{3}\)个构成了“对等数列”,然后后面刚好给a的前x个反序,然后就有了reverse操作。
先判无解后,我们排序构造出一个目标的合法序列。然后从后往前还原,比如当前第x位,先在前x-1位中找到该值的位置p,然后reverse(p),值此时转到第一个再reverse(x),这样也不会影响到x+1……n个。
代码调了很久又是因为val写成了a - code:
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int as[N],ts,dd,val[N],a[N],b[N],t[N],m,L=0,p[N],c[N],kk;
set<int> S[N];
void Rev(int x) {
int tmp=L+x;
for(int i=1;i<=x;i++) {
p[++kk]=tmp++;c[kk]=a[i];
}
for(int i=1;i<=x;i++) t[i]=a[i];
for(int i=1;i<=x;i++) {a[i]=t[x-i+1];}
L+=x*2;m+=x*2;
as[++ts]=x*2;
}
int main() {
// freopen("data.in","w",stdout);
int T;scanf("%d",&T);
while(T--) {
ts=L=kk=0;
int n;scanf("%d",&n);m=n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]),val[i]=a[i];
// printf("%d\n",n);
// for(int i=1;i<=n;i++) printf("%d ",a[i]);puts("");
int cnt=0,tot=0;bool flag=1;
sort(val+1,val+1+n);
val[n+1]=-1;
for(int i=1;i<=n+1;i++) {
if(val[i]!=val[i-1]) {
if(cnt&1) {flag=0;break;}
for(int j=1;j<=cnt/2;j++)b[++tot]=val[i-1];
cnt=1;
}
else cnt++;
}
if(!flag) {printf("-1\n");continue;}
for(int i=1;i<=n/2;i++) b[i+(n/2)]=b[i];
// for(int i=1;i<=n;i++)printf("%d ",b[i]);puts("");
for(int i=n;i>1;i--) {
if(a[i]==b[i])continue;
for(int j=1;j<i;j++) if(a[j]==b[i]) {
Rev(j);Rev(i);break;
}
}
// for(int i=1;i<=n;i++)printf("%d ",a[i]);puts("");
printf("%d\n",kk);
for(int i=1;i<=kk;i++) {
printf("%d %d\n",p[i],c[i]);
}
as[++ts]=n;
printf("%d\n",ts);
for(int i=1;i<=ts;i++) printf("%d ",as[i]);puts("");
}
return 0;
}
Codeforces Round #773 (Div. 2)的更多相关文章
- Codeforces Round #773 (Div. 2)D,E
D. Repetitions Decoding 传送门 题目大意: 一个长为 n ( n 2 ≤ 250000 ) n(n^2\leq250000) n(n2≤250000)的序列,每个元素 a i ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- Codeforces Round #262 (Div. 2) 1003
Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...
- Codeforces Round #262 (Div. 2) 1004
Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...
- Codeforces Round #371 (Div. 1)
A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...
随机推荐
- web页面性能优化之接口前置
上个Q做了一波web性能优化,积累了一点点经验 记录分享一下. 先分享一个比较常用的接口前置 的优化方案吧 优化前首屏秒开大约在40%左右 首屏秒开大约提高了25% 先发一张优化成果图 前置原因 对于 ...
- (ICONIP2021)On the Unreasonable Effectiveness of Centroids in Image
目录 摘要 1.引言 2.提出的方法 2.1 CentroidTripletloss 2.2 聚合表示 3.实验 3.1 数据集 3.2 应用细节 3.3 Fashion检索结果 3.4 行人再识别结 ...
- FastAPI(七十)实战开发《在线课程学习系统》接口开发--留言功能开发
在之前的文章:FastAPI(六十九)实战开发<在线课程学习系统>接口开发--修改密码,这次分享留言功能开发 我们能梳理下对应的逻辑 1.校验用户是否登录 2.校验留言的用户是否存在 3. ...
- C. Tourist Problem 2021.3.29 晚vj拉题 cf 1600 纯数学题
拉题链接 https://vjudge.net/contest/430219#overview 原题链接 https://codeforces.com/problemset/problem/340 ...
- (2020行人再识别综述)Person Re-Identification using Deep Learning Networks: A Systematic Review
目录 1.引言 2.研究方法 2.1本次综述的贡献 2.2综述方法 2.3与现有综述的比较 3.行人再识别基准数据集 3.1基于图像的再识别数据集 3.2基于视频的再识别数据集 4.基于图像的深度再识 ...
- 2021.11.09 P4824 [USACO15FEB]Censoring S与P3121 [USACO15FEB]Censoring G(KMP&&AC自动机)
2021.11.09 P4824 [USACO15FEB]Censoring S与P3121 [USACO15FEB]Censoring G(KMP&&AC自动机) https://w ...
- Django显示本地图片,注意事项
1.在url.py文件中的配置 导入相关的库,在Python2.0后,要用re_path from django.urls import path,re_path from django.views. ...
- 接口测试框架实战(一) | Requests 与接口请求构造
1080×388 33.4 KB Requests 是一个优雅而简单的 Python HTTP 库,其实 Python 内置了用于访问网络的资源模块,比如urllib,但是它远不如 Requests ...
- OpenHarmony 3.1 Beta版本关键特性解析——ArkUI容器类API介绍
(以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 刘鑫 容器类,顾名思义就是存储的类,用于存储各种数据类型的元素,并具备一系列处理数据元素的方法.在 ArkUI 开发框 ...
- Windows下搭建redis 哨兵环境
从 https://github.com/tporadowski/redis/releases 下载windows版的redis,自行下载解压. 关于哨兵模式的讲解,强烈推荐 [深入学习redis(4 ...