[BZOJ1106] [POI2007]立方体大作战tet

2024-01-09 12:59

本文主要是介绍[BZOJ1106] [POI2007]立方体大作战tet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

传送门

http://www.lydsy.com/JudgeOnline/problem.php?id=1106

题目大意

给定一个长度为2n的序列,1~n各出现两次,可以交换相邻两项,两个同样的数放在一起会对消,求把所有数对消的最小交换次数

题解

如果一对在另一对内部,那么先消掉它,所以我们用一个栈存,如果这个数在栈中,那么把他们内部的部分向前移即可
由于ans不超过1000000所以暴力即可

varx,t:array[0..50005]of longint;i,j,k:longint;n,ans:longint;
procedure swap(var a,b:longint);
var c:longint;
beginc:=a; a:=b; b:=c;
end;beginreadln(n); ans:=0;fillchar(x,sizeof(x),0); t[0]:=0;for i:=1 to 2*n dobegininc(t[0]); readln(t[t[0]]);if x[t[t[0]]]=0then x[t[t[0]]]:=1else beginfor j:=t[0]-1 downto 1 doif t[j]=t[t[0]] then break;inc(ans,t[0]-j-1);for k:=j to t[0]-1 dot[k]:=t[k+1];dec(t[0],2);end;end;writeln(ans);
end.

这篇关于[BZOJ1106] [POI2007]立方体大作战tet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587187

相关文章

hihocoder1114 小Hi小Ho的惊天大作战:扫雷·一

1114 : 小Hi小Ho的惊天大作战:扫雷·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 故事背景:密室、监视器与充满危机的广场 “我们还是循序渐进,先来考虑这样一个简单化问题:”小Hi思索片刻,道:“在一个大小为2*N的广场,其中第一行里的某一些格子里可能会有至多一个地雷,而第二行的格子里全都为数字,表示第一行中距离与这个格子不超过2的格子里总共有多少个

球球大作战

代码:  #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdbool.h>#include<graphics.h>#include<stdlib.h>#include<conio.h>#include<time.h>//随机数库文件#include<math.h>#include<tchar.h>/*注重的是

OpenGL/GLUT实践:绘制旋转的立方体与雪人世界——添加光照与SOIL方式添加纹理(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 运行效果2 实现过程2.1 几何转换2.1.1 窗口刷新2.1.2 绘制雪人场景2.1.2.1 绘制雪人2.1.2.2 绘制场景 2.1.3 键盘事件2.1.4 运行效果 2.2 颜色2.3 光照2.3.1 绘制正方体2.3.2 添加光源 2.4 材质2.4.1 方法一2.4.2 方法二 2.5 纹理2.5.1 SOIL环境

[创业之路-145] :做项目做产品,50米/100米短跑与马拉松长跑,跑法不同,几人的小分队作战与兵团战役,打法不同

目录 一、做项目做产品类同于跑步,50米/100米短跑与马拉松长跑,跑法不同 1. 50米/100米短跑与项目/产品短周期开发的类比 2. 马拉松长跑与长期项目/产品开发的类比 3. 跑法不同的核心差异 二、做项目做产品类同于打仗,几人的小分队作战与兵团战役,打法不同 1. 规模与复杂度 2. 战略与战术 3. 沟通与协作 4. 领导力与执行力 5. 风险评估与应对 一、

Linux性能调优大作战:从零到英雄,手把手教你打造极速系统!让你的服务器快如闪电!

第一章 引言 Linux系统性能调优在信息技术领域具有不可忽视的重要性。随着Linux操作系统的广泛应用,从桌面环境到大型服务器集群,其性能优化变得尤为关键。调优不仅可以提升系统的响应速度和吞吐量,还能降低资源消耗,从而延长硬件使用寿命,减少总体拥有成本。本文研究旨在深入探讨Linux系统性能调优的技巧,以期为系统管理员、开发者和研究人员提供实用的参考指南。 在当前的技术背景下,Linux系统

SQLite Insert 语句:一场数据“移民”大作战

SQLite Insert 语句:一场数据“移民”大作战 嘿,各位数据库的“移民官”们!今天咱们来聊聊SQLite里的一场有趣活动——Insert语句,也就是数据“移民”。没错,就像国家与国家之间有移民,我们的数据也可以在SQLite数据库的各个表之间“移民”。 一、Insert语句的“移民签证” 在SQLite这个“国家”里,想要让数据“移民”到另一个表,你需要给它们办理一张“移民签证”,

ThreeJs:二、简单立方体

前言 在第一节中,我们介绍了创建一个三维对象所需要的基本要素。下面我们就要开始尝试做一个旋转的立方体了。 准备工作 引入three.js的库文件 创建场景(Scene) 创建一个场景,并且获取浏览器屏幕的宽高。 创建照相机(Camera) 这里创建的是一个远景相机(PerspectiveCamera),为什么选择远景相机进行投影呢?,因为远景投

uva10051(dp 立方体塔, 拆分)

题意:有n个立方体,每一面都有颜色,现在要用他们堆出高度尽量高的塔,条件是,两个接触的块,他们的接触面颜色要一样,同时上面的块重量要严格小于他下面的。 与LIS思想一样,题目给出的数据是按重量递增的 #include<iostream>#include<algorithm>#include<map>#include<cstdio>#include<cstdlib>#include<

赛场上,教练作战计划迅速Get!编码时,巨量复杂代码轻松掌握!

🎁👉点击进入文心快码 Baidu Comate 官网,体验智能编码之旅,还有超多福利!🎁 赛场上,教练作战计划迅速Get!编码时,巨量复杂代码轻松掌握!与文心快码一起为再次夺冠蓄力! 赛场上,教练作战计划迅速Get!编码时,巨量复杂代码轻松掌握 在赛场上,教练以敏锐的洞察力,超强的理解力,迅速制定作战计划。同样,在编程的浩瀚宇宙里,面对巨量而复杂的代码海洋,文心

OpenGL-ES 学习(6)---- 立方体绘制

目录 立方体绘制基本原理立方体的顶点坐标和绘制顺序立方体颜色和着色器实现效果和参考代码 立方体绘制基本原理 一个立方体是由8个顶点组成,共6个面,所以绘制立方体本质上就是绘制这6个面共12个三角形 顶点的坐标体系如下图所示,三维坐标的中心原点位于立方体的中心,但是要特别注意的是,前后方向表示的是Z轴,上下方向表示的是Y轴 立方体的顶点坐标和绘制顺序 立方体坐标定义