- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 快速模幂
题目描述输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。输入输出格式输入格式:三个整数b,p,k.输出格式:输出“b^p mod k=s”s为运算结果输入输出样例输入样例#1:2 10 9输出样例#1:2^10 mod 9=7
2016-11-20 13:25:52 415
原创 第k小的数1---优化O(n)
1.对数组a每5个分一组2.对[n/5]个组的数进行组内排序3.选择没组的中位数,将每组的中位数依次交换到数组的最前面此时a[0~(end-start)/5-a]中存的是这些中位数4.对a[0~(end-start)/5-a]个中位数进行排序,这些中位数中的中位数为x5.以x为基准进行二分,比较,递归 此时时间复杂度为O(n)代码如下:#include#include
2016-11-20 13:06:16 430
原创 第k小的数1-分治法
第一行输入总数和k第二行为n个待比较元素输出第k小的数在数组中的位置#includeusing namespace std;int a[100001],k,b[100001],m,i;//a为待处理数组 b为原数组 void Operation(int start,int end){ int i=start,j=end; while(i!=j) {
2016-11-19 20:52:15 628
原创 循环比赛日程表(分治法)
问题描述: 设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能参赛一次; (3)循环赛在n-1天内结束。 请按此要求将比赛日程表设计成有n行和n-1列的一个表。在表中的第i行,第j列处填入第i个选手在第j天所遇到的选手。其中1≤i
2016-11-19 09:56:07 2650
原创 快速幂运算
快速幂运算 位运算+普通快速幂:#includelong long POWER(long long a,long long n){ long long result; if(n==0) return 1; while(!(n&1)) { n>>=1; a*=a; } n>>=1; result=a; while(n!=0) { a*=a;
2016-11-18 19:32:03 724
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人