摘要:
hdoj1394题目大意:刚开始看错了题目,以为求出逆序数就行了,就是求不出样例的值,有看原来是求出一系列的逆序数序列的最小数解决:树状数组#include <iostream>#include <cstdio>using namespace std;#define LL __int64const int N=5000;int n;int num[N+5];int c[N+5];inline int lowbit(int x){ return x&(-x);}void update(int p,int delta){ for(int i=p;i<=n;i+ 阅读全文
posted @ 2011-09-27 19:07
猿类的进化史
阅读(437)
评论(0)
推荐(0)
摘要:
hdoj 3743题目大意:就是逆序数解决:树状数组+离散化,以后再也不会让题目给骗了,题目上并没有说是有多组测试数据,一直wa,不知道怎么回事,以为算法出问题了呢,但是可以运行一会时间,却原来是因为有多组测试数据,以后要注意,无论是若题目没有明确说明是一组,就按照多组来。顺便有练习下树状数组的离散化过程,其实和前边的的超快速排序没什么不一样,但是这次是从另一个角度出发的,统计出这个数出现之前所有比这个数大的数的个数,就是需要交换的次数了。#include <iostream>#include <algorithm>using namespace std;const i 阅读全文
posted @ 2011-09-27 16:59
猿类的进化史
阅读(390)
评论(0)
推荐(0)
摘要:
hdoj 2838题目大意:给出数,求排成正序的最少时间,每两个数交换的时间是 两个数的值的和。解决:树状数组,只需求出 在这个数加入之前比这个数大的个数,然后更新,再求出这个数加入之前比这个数大的数的总和总共的代价是:cnt*加入的数+比这个数大的数的和#include <iostream>#include <functional>#include <algorithm>using namespace std;#define LL __int64const int N=100000;LL sum[N+5]; //第i个数前比数num[i]大的数的和 LL 阅读全文
posted @ 2011-09-27 15:38
猿类的进化史
阅读(331)
评论(0)
推荐(0)
浙公网安备 33010602011771号