题意:给你n个数,然后在交换次数小于等于5×n的情况下使得这个序列变成升序,输出次数;思路:哥德巴赫猜想:任何一个大于5的数都可以写成三个质数之和。尽可能的找大的素数,从1的位置向右逐步的调整,每一个位置最多5次,有的位置不到5次; 1 #include 2 #include 3 #includ.....
分类:
其他好文 时间:
2015-03-06 10:24:31
阅读次数:
129
二分插入排序算法 一、基本思想:源自于二分查找,假设表中元素是按升序排列,将待插入的关键字与表中间位置记录的关键字与作比较。如果小于该关键字,则将元素插入后面的子表中,反之,如果大于该关键字,则将元素插入前面的子表中。反复迭代,直至所有关键字全部插入表中。 二、C 语言代码: 1 #...
分类:
编程语言 时间:
2015-03-05 22:16:49
阅读次数:
132
自己研究编了一个数组去重的函数,看到过其他人编写的,不过大多数都是已付出很大的存储空间为代价,于是自己编写了一个函数,有好的意见或思想欢迎和我一起分享!#include #include #define MAX_FRIEND 100int repeats_num[MAX_FRIEND];/*升序排序...
分类:
编程语言 时间:
2015-03-04 18:57:26
阅读次数:
174
题意:只能交换相邻的数。要把一个数组这样交换以形成升序。问最少交换次数的不同交换顺序有多少种。
思路:还是没想到,看到别人题解中一句话,茅塞顿开:每次从头选两个需要交换的位置进行交换。只有降序才需要交换,而且可以看到每次降序的调换都是有意义的。这样每次从头找一个需要交换的位置,就是不同的方案。当某次从头扫描到尾没有需要交换的位置时,则已经排好序,就是交换次数,用一个flag变量标志。
0.02...
分类:
其他好文 时间:
2015-03-04 16:57:36
阅读次数:
128
oracle认为 null 最大。 升序排列,默认情况下,null值排后面。 降序排序,默认情况下,null值排前面。 改变空值办法: (1)用nvl函数或decode函数将null转换为一特定值 替换null: nvl(arg,value) (2)用case语法将null转换为一特定值(oracl...
分类:
数据库 时间:
2015-03-03 13:15:41
阅读次数:
133
插入排序的机理与打牌整理手中的牌的做法差不多。(1)开始摸牌时,我们的左手是空的,接着一次从牌面上摸起一张牌,并将它插入到左手一把牌中的正确位置上。(2)为了找到这张牌的正确位置,要将它与手中已有的牌从右到左进行比较。(3)无论什么时候左手中的牌都是有序的。插入排序升序代码如下: 1 void In...
分类:
编程语言 时间:
2015-03-01 11:46:28
阅读次数:
120
题目大意:给出一个序列,求出字典序最小的长度为k的上升序列。
思路:先随便搞搞求出一个数组f,表示从i开始最长的上升序列的长度。然后贪心的往后找,能放在当前位置就放。
CODE:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#define MAX 10010
#defin...
分类:
其他好文 时间:
2015-02-27 17:17:23
阅读次数:
124
题意:给定字符串的长度,以及汉明距离,求所有和全0字符串汉明距离为给定值的等长字符串,升序输出。
思路:长度n,汉明距离h,相当于n-h个0和h个1的序列,进行枚举全排列。
感觉这几题都是排列和子集相关的枚举额,推荐的题目没有其他的枚举或暴力求解的吗?感觉不是很好额~
Code:
#include
#include
void print_permutation(int n,int *P,...
分类:
其他好文 时间:
2015-02-27 15:15:16
阅读次数:
160
题意:输出一个排列的后继排列,如果是最大的降序排列,则输出没有后继。
思路:调用STL中的next_permutation()函数即可。不过这个函数在求后继时是一个循环状态,即全升序是全降序的后继,循环回来了。所以在调用之前判断一下是否为全降序序列即可。 感觉用这个函数没什么技术含量,有时间用纯C写一个。
Code:
#include
#include
#include
usi...
分类:
其他好文 时间:
2015-02-27 13:34:29
阅读次数:
113
题意:对输入的字符串,按字典序升序输出所有种排列。
思路:这个基础就是之前将到的枚举排列问题,只不过当时是整型,这里是字符型。
注意:一个是输出的时候每组数组后都要输出一个空行(虽然你去复制sample out会发现最后一组数据没空行,但程序里的确是包括最后一组数据后都有空行)
第二是因为这里是字符型,输出的时候直接按字符串输出即可,但是需要在排列数组的最末位加'\0'!还有,在最开始需要对...
分类:
其他好文 时间:
2015-02-27 13:33:47
阅读次数:
150