【Codeforces】53D Physical Education (有点像冒泡)
http://codeforces.com/problemset/problem/53/D
从上面所给的序列变成下面所给的序列
交换的时候只能交换相邻的两个数字
输出每一步的交换方法,输出的是该元素在序列中的位置(第一个数的位置是1)
不要求输出步数最少的那一种方法
当同一位置上的两数字不一样时,找到与a数组中相同的数,逐一交换,把交换时的数组的下标全部存取队列中,vector也可以。
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
int a[305];
int b[305];
int main ()
{ios_base::sync_with_stdio(false); int i,j,n,k;queue<pair<int,int> > q;cin >> n;for(i=1;i<=n;i++)cin >> a[i];for(i=1;i<=n;i++)cin >> b[i];for(i=1;i<=n;i++){if(a[i]!=b[i]){for(j=i+1;j<=n;j++){if(a[i]==b[j]){k = j;break;}}for(j=k;j>i;j--){q.push(make_pair(j-1,j));int t = b[j];b[j] = b[j-1];b[j-1] = t;}}}
/* for(i=1;i<=n;i++){if(a[i]!=b[i]){for(j=i+1;j<=n;j++){if(a[i]==b[j]){for(k=j;k>i;k--){q.push(make_pair(k-1,k));int t= b[k];b[k] = b[k-1];b[k-1] = t;}break;}}}}*/cout << q.size() << endl;while(q.empty()!=1){cout << q.front().first << " "<< q.front().second << endl;q.pop(); }return 0;
}
【Codeforces】53D Physical Education (有点像冒泡)相关推荐
- codeforces 915E - Physical Education Lessons 动态开点线段树
题意: 最大$10^9$的区间, $3*10^5$次区间修改,每次操作后求整个区间的和 题解: 裸的动态开点线段树,计算清楚数据范围是关键... 经过尝试 $2*10^7$会$MLE$ $10^7$会 ...
- Codeforces 915 E Physical Education Lessons
题目描述 This year Alex has finished school, and now he is a first-year student of Berland State Univers ...
- E. Physical Education Lessons
Physical Education Lessons 动态开点线段树 #include<bits/stdc++.h> using namespace std; #define maxn 1 ...
- CF915E Physical Education Lessons(珂朵莉树)
中文题面 据说正解是动态开点线段树而且标记也不难下传的样子 然而这种区间推平的题目还是喜欢写珂朵莉树啊--码量小-- 虽然真要构造的话随便卡-- 1 //minamoto 2 #include< ...
- CF 915E. Physical Education Lessons 思维+set维护
题意:初始有序列a为n个2,Q次操作. 操作1:将[l,r]的点变为1. 操作2:将[l,r]的点变为2. 在每次操作过后输出序列a有多少个2. n<=1e9 ,Q<=3e5. 将[l,r ...
- 珂朵莉树/ODT 学习笔记
珂朵莉树/ODT 学习笔记 起源自 CF896C.珂朵莉yyds! 核心思想 把值相同的区间合并成一个结点保存在 set 里面. 用处 骗分.只要是有区间赋值操作的数据结构题都可以用来骗分.在数据随机 ...
- 记第一场cf比赛(Codeforces915)
比赛感想 本来21:05开始的比赛,结果记成21:30了...晚了25分钟才开始[捂脸] 这次是Educational Round,所以还比较简单. 前两道题一眼看去模拟+贪心,怕错仔细看了好几遍题, ...
- 课程名称翻译大全(zz)
学校课程名称翻译大全 大学英语--------------College English 高等数学--------------Advanced Mathematics 体育-------------- ...
- icse ccf_ICSE的完整形式是什么?
icse ccf ICSE:印度中学教育证书 (ICSE: Indian Certificate of Secondary Education) ICSE is an abbreviation of ...
最新文章
- 使用 markdown-it 解析 markdown 代码(读 VuePress 三)
- 影院平台搭建 - (2)FLV发布系统的简单搭建
- mysql dml 日志_Oracle DML错误日志笔记
- GDCM:DICOM文件转储图像标题信息的测试程序
- 库依赖关系和开源供应链带来的噩梦
- 都是成年人了,别再相信OA价格越低越好这种话了
- Excel 数据透视表入门教程
- 普通话测试-短文60篇文章,附带拼音(21-30篇)
- 前端学习笔记之——使用 Window 对象
- 名片设计大全:15款创意设计的名片模板
- SAS概念知识点 (复习1)
- 沈航数值-17-18年A-有答案
- 进gmail不失去连接的办法之一
- PCA变换与KL变换区别
- JavaScript(三十九)——鼠标滚轮、滚动窗口制作
- java http 400_java – 为什么我得到Http / 1.1 400 Bad请求?
- 学生用计算机在线版,一起作业学生版
- Android安卓手机3389远程连接电脑桌面教程
- JavaSpringCloud-统一网关GateWay
- python视频转字符动画_Python 视频转字符动画 - 进阶