自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 CF 1138D Camp Schedule

https://codeforces.com/contest/1138/problem/D 题意: 有一种集训最佳安排,按照这个安排日程效果最佳。 现有一次集训,已经有了训练的日程。在只能调整顺序,不能修改总训练天数的情况下,尽量按照最佳训练日程进行。调整后后输出新的日程表。 实际就是给两个01串A和B,调整A的01顺序,让B尽可能多的作为字串在A中出现;解不唯一,输出一个符合要求的就可以...

2019-03-25 16:30:54 267

原创 CF 1138C

https://codeforces.com/problemset/problem/1138/C 题意: nxm条街道,每个路口有个高度已知的大厦,然后站在每个路口看,对应的两条街道的楼都可以将高度简化成1,2,3... 保证同一条街道上的大厦高度的大小关系不能改变的前提下,打印每个路口能看到的横竖街道上最高的简化过的楼层。 思路: 计算每个路口的两路排序和不同高度大厦的数量(9栋大厦可...

2019-03-25 16:07:40 211

原创 CF 1138B

https://codeforces.com/problemset/problem/1138/B 题意: 马戏团有n(偶数)个人,可以演小丑,可以演杂技,或者都会,或者都不会。 要分成人数相同的两组,第一组可以演小丑和第二组可以演杂技的人数相同。 思路: 暴力搜,不会T 算出四类人各有多少,然后遍历第一组中演小丑的人数,直接求解 (复杂度n^2, n<5000,不会T); ...

2019-03-25 15:46:32 181

原创 CF 1138A

https://codeforces.com/problemset/problem/1138/A 题意: 一排寿司,有金枪鱼和鳗鱼两种,找到最大的连续序列,一半全是金枪鱼,另一半全是鳗鱼。 思路: 遍历一遍,整合成一个序列,代表每种寿司连续出现多少次; 然后找到相邻对中,较小数最大的那对。 #include <iostream> #include <stdio.h&...

2019-03-25 15:20:56 162

原创 堆排序

HeapSort 利用最大堆的性质,arr[o]永远是最大堆的最大值,先建堆,然后依次将arr[o]放到堆末尾,然后维护 i-1  其本质是选择排序,每次选择最大值放置末尾,但是寻找最大值的过程使用了维护堆来实现,维护为logn,和二分类似。 #include #include #include using namespace std; #define T 1000000 #defi

2017-08-24 15:55:32 189

原创 归并排序

分成1 2元数组排序,然后逐步归并两个数组。 #include #include #include using namespace std; #define T 1000000 #define INF 999999 int n,a[T],tmp[T]; void bs(int *a, int l, int r) { int t=(l+r)/2; int c1=l,c2=t

2017-08-23 14:52:19 162

原创 基数排序

按位排序 ,一次从个位到最高位,是稳定排序方法。 十个基类为例 #include #include #include using namespace std; #define T 1000000 #define INF 999999 int n,a[T],tmp[T]; //返回最高位数 int maxbit(int *a, int n) { int d = 1; in

2017-08-23 11:50:07 189

原创 快速排序

分治法,排列(l,r),找到指定元素的最终位置key(左边均小于key,右边均大于key),然后递归(l,key-1),(key+1,r) #include #include #include using namespace std; #define T 1000000 #define INF 999999 int n,a[T],b[T]; //快速排序 void qsort(int *

2017-08-23 10:37:31 245

原创 折半插入排序

折半插入排序,优化了直接插入排序的寻找位置的过程,使用二分法寻找#include #include #include using namespace std; #define T 1000000 #define INF 999999 int n,a[T],b[T]; //折半插入排序 int searchk(int *b,int l,int f,int key) { if(l==f

2017-08-23 09:41:31 186

原创 冒泡排序

冒泡,每次遍历会将最大的值交换到末尾,遍历n-1次完成排序。 #include #include #include using namespace std; #define T 1000000 #define INF 999999 int n,a[T],b[T]; //冒泡排序 void bubsort(int *a,int n) { for(int i=0;i<n-1;i++)

2017-08-23 09:32:24 233

原创 选择排序

选择排序 每次选择未排序的元素的min放在其排序后的位置 #include #include #include using namespace std; #define T 1000000 #define INF 999999 int n,a[T],b[T]; //选择排序 void selsort(int *a,int n) { for(int i=0;i<n-1;i++)

2017-08-23 09:28:13 180

原创 shell排序

增量递减div/=2 减少swap次数 分为div组组内进行直插排序 #include #include #include using namespace std; #define T 1000000 #define INF 999999 int n,a[T],b[T]; //希尔排序:优化的插入排序 void shellsort(int *a,int n) { int le

2017-08-23 09:22:46 506

原创 插入排序

直接插入排序 实现:a...a+k-1为已排序好的,插入新值在a+k,其值为key, 故将key通过swap(i,i-1)逐步移动至其位置,数组依旧有序。#include #include #include using namespace std; #define T 1000000 int n,a[T]; //插入排序 void insort(int *a,int n) {

2017-08-22 20:03:30 172

原创 HDU1063 Exponentiation

题意是给你一个0-100 的小数 让你求小数

2014-05-30 00:11:55 560

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除