随笔分类 - 分治
摘要:试题链接分治的方法:http://blog.csdn.net/acm_JL/article/details/50938164根据分治的思想可以推导出递推式:f(k)=4*f(k-1)+1,且f(1)=1;可知需要用到大数乘法和加法。#include #include ...
阅读全文
摘要:int Pow(int a,int b){//快速求a^b,复杂度log(b) if(b==0) return 1; if(b&1) //b是奇数 return a*Pow(a,b-1); else { ...
阅读全文
摘要:一个排列含有逆序的个数称为这个排列的逆序数。例如排列263451含有8个逆序(2,1),(6,3),(6,4),(6,5),(6,1),(3,1),(4,1),(5,1),因此该排列的逆序数就是8。例题: 求排列的逆序数笨办法: O(n2)分治O( nlogn) :1...
阅读全文
摘要:void Swap(int &a,int &b) //位运算交换两数{ if(a!=b) { a^=b; //a=(a^b) b^=a; //b=b^a=b^(a^b)=0^a=a a^=b; //a=a^b...
阅读全文
摘要:分治的基本概念把一个任务,分成形式和原任务相同,但规模更小的几个部分任务(通常是两个部分),分别完成,或只需要选一部完成。然后再处理完成后的这一个或几个部分的结果,实现整个任务的完成。 分治的典型应用: 归并排序数组排序任务可以如下完成:1) 把前一半排序2) 把后...
阅读全文
浙公网安备 33010602011771号