实现函数初始化数组、清空数组、逆序数组#include<stdio.h>
#include<stdlib.h>
voidinit(intarr[],intsize)//初始化函数
{
inti=0;
for(i=0;i<size;i++)
{
arr[i]=i;
}
}
voidreverse(intarr[],intsize)//交换数组中元素顺序
{
intleft=0;
intright=s..
分类:
编程语言 时间:
2015-11-05 09:10:39
阅读次数:
199
【题意】给出一串数字,问中位数大于等于X的连续子串有几个。(这里如果有偶数个数,定义为偏大的那一个而非中间取平均)【思路】下面的数据规模也小于原题,所以要改成__int64才行。没找到测试数据,自己编的几组。简单来说读入每个数,大于等于中位数设为1,小于设为-1,前i个数的和建立一个树状数组,求逆序...
分类:
编程语言 时间:
2015-09-23 23:13:03
阅读次数:
419
题目链接:点击打开链接
题意描述:给定一个长度为100000的数组,每个元素范围在1~100000,且互不相同,交换其中的任意两个数需要花费的代价为两个数之和。问如何交换使数组有序,花费的代价最小?
解题思路:
1、显然我们知道,要使一个数组有序至少交换的次数(即必须要交换的次数)为数组中的逆序数
2、由于数组的长度比较大所以我们可以通过树状数组来统计结果
此处需要两个树状数组
第一个...
分类:
编程语言 时间:
2015-08-20 22:34:00
阅读次数:
259
#include using namespace std;const int LENGTH = 100;int temp[LENGTH];int count = 0;void Merge(int array[], int low, int mid, int high);void MergeSort(...
分类:
编程语言 时间:
2015-08-13 22:06:40
阅读次数:
179
HDU - 2838
Cow Sorting
Time Limit: 1000MS
Memory Limit: 32768KB
64bit IO Format: %I64d & %I64u
Submit Status
Description
Sherlock's N (1 ≤ N ≤ 100,000) cows are li...
分类:
编程语言 时间:
2015-08-10 14:57:55
阅读次数:
197
1,join----------数组转换为字符串
var arr=[1,2,3];
arr.join("_"); //'1_2_3"
2,reverse----数组逆序(数组被修改)
var arr=[1,2,3];
arr.reverse(); //[3,2,1]
arr; //[3,2,1]
3,sort---------数组排序(数组被...
分类:
编程语言 时间:
2015-07-31 13:00:42
阅读次数:
125
HDU 1394 Minimum Inversion Number (树状数组求逆序数)...
分类:
编程语言 时间:
2015-07-30 23:19:20
阅读次数:
164
原本打算6月1号开始,一篇篇写的,虽然6月1号跟我没啥关系,好了,继续第二篇吧~~数组1.逆序方式,虽然已有方法实现,我还是比较较真,这些对理解已有方法还是有些作用的。逆序 方式1: public static int reverse(int[] arr) { for(int ...
分类:
编程语言 时间:
2015-06-02 16:57:13
阅读次数:
103
树状数组,逆序数,poj,poj 2299,归并求逆序数
分类:
其他好文 时间:
2015-06-02 09:16:57
阅读次数:
172
题目大意:
有两排的城市,一排N个城市,编号为1~N,一排M个城市,编号为1~M。这两排城市之间有K条路。
路都是直线连接,问:这些路,有多少道路是相交的,并且焦点不是城市所在的点,求出交点个数。
思路:
树状数组的思想。参考网上的图,先将所有边(u,v)按u升序排列,如果u相同,则按v升序排列。可
以看出来,路(u1,v1)和路(u2,v2)如果有交点的话,u1 > u2 并且 v1 < v2,或者 u1 v2,为了不重复计算,忽略后一种情况。如果排序完之后,可以发现:结果就是...
分类:
编程语言 时间:
2015-05-13 23:17:10
阅读次数:
165