- 博客(7)
- 收藏
- 关注
原创 #前缀和算法
什么是前缀和和前缀积? 前缀和、前缀积也称前缀和数组,前缀积数组。 给一数组A, 前缀和:新建一数组B,数组中每一项B[i]保存A中[0…i]的和; 后缀和:新建一数组B,数组中每一项B[i]保存A中[i…n-1]的和; 前缀积:新建一数组B,数组中每一项B[i]保存A中[0…i]的积; 后缀积:新建一数组B,数组中每一项B[i]保存A中[i…n-1]的积; 题目描述: 输入n个数的数列,所有...
2019-05-25 10:03:17 2084
原创 #蛇形填数的解法
在nn的方阵中填入1,2,…,nn,要求填成蛇形。 #include<iostream> #include<string.h> using namespace std; int main() { int n; while(cin>>n) { int arr[10][10],x,y; memset(arr,0,sizeof(arr)); arr[...
2019-05-23 20:43:23 187
原创 #把一个数把各个位数拆取出来
例题:用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要 求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。 几点新知识(可能与题无关): ("%*.*f",m,n,x)//m->第一个*要取的整数位数;n->第二个*要取的小数位数,x->期望输入的数 int arr[n] memset(arr,0,...
2019-05-22 22:16:54 2204
原创 #二分法查找
二分法查找的主要思路和流程: 算法:二分法查找适用于数据量较大时,但是数据需要先排好顺序。 主要思想是:(设查找的数组区间为array[low, high]) (1)确定该区间的中间位置K (2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T 由数组的有序性可知array[k,k+1,……,high]...
2019-05-19 15:30:39 213
原创 #递推&&递归算法(Hanoi问题)
*何为递推? 给定一个数的序列H0,H1,…,Hn,…若存在整数n0,使得当n>n0时,可以用等号(或大于号、小于号)将Hn与其前面的某些项Hi(0<i<n)联系起来,这样的式子就叫做递推关系。 解决递推问题的一般步骤 1.建立递推关系式 2.确定边界条件 3.递推求解 递推的应用分类 1.一般递推问题 2.组合计数类问题 3.*一类博弈问题的求解 4.*动态规划问题的递推关系 ...
2019-05-19 10:07:30 409 2
原创 #快速幂算法
顾名思义,快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。 其基本原理如下: 用 ab来做初步介绍: 我们首先把b转换为二进制数,则该二进制的第i位权为2i-1 e.g. a11=(a2)0+(a2)1+(a2)3 而11的二进制是1011 so:11=23*1+22*0+21*1+20*1 因此,我们有了以上的转换:a11=(a2)0+(...
2019-05-19 09:36:47 261
原创 【数论】线性欧拉筛
初步上市 #include<iostream> using namespace std; int main() { cout<<"Hello world"<<endl; return 0; }
2019-05-18 20:12:08 293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人