摘要: 问题: 给一列数<a1,a2,......,an>,求它的逆序对,即有多少个有序对(i.j),使得i<j且ai<aj; n 可以高达106 可以采用归并排序的思路 首先将原问题可以分解为两个子问题:对原序列从中间一分为二,分解为两个子序列A,B两个子问题可以分别递归求解,求得的逆序数分别是na和nb 阅读全文
posted @ 2019-10-12 17:10 莫莫君不恋爱 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 1.递归形式的归并排序 #include<iostream> using namespace std; int n; int *a; void merge(int l, int mid, int r, int *b){ int i = l, j = mid + 1, k = 0; while (i 阅读全文
posted @ 2019-10-12 14:27 莫莫君不恋爱 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 A学校的实验室新研制出了一种十分厉害的病毒。由于这种病毒太难以人工制造了,所以专家们在一开始只做出了一个这样的病毒。 这个病毒被植入了特殊的微型芯片,使其可以具有一些可编程的特殊性能。最重要的一个性能就是,专家们可以自行设定病毒的分裂能力 K,假如现在有x 个病毒,下一个分裂周期将会有 阅读全文
posted @ 2019-10-12 14:21 莫莫君不恋爱 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 问题描述 求两个不超过200位的非负整数的积。 输入形式 有两行,每行是一个不超过200位的非负整数,没有多余的前导0。 输出形式 一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。 样例输入 1234567890 9876543210 样例输出 1219 阅读全文
posted @ 2019-10-12 14:16 莫莫君不恋爱 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 问题描述 给定含有n个不同整数的数组L=<a1,a2,......,an>,如果L中存在ai,使得a1<a2<......<ai-1<ai>ai+1>…>an。则称L是单峰的,并称ai是L的“峰顶”。假设L是单峰的,设计一个算法,找L的峰顶。 输入形式 一共包括两行,第一行一个整数N,表示数组中整数 阅读全文
posted @ 2019-10-12 14:12 莫莫君不恋爱 阅读(783) 评论(0) 推荐(0) 编辑