-
四分位数求法
2020-03-28 17:52:45四分位数是将数列等分成四个部分的数,一个数列有三个四分位数,设下四分位数、中位数和上四分位数分别为Q1、Q2、Q3,则:Q1、Q2、Q3的位置可由下述公式确定: Q1的位置 (n+1)/4 Q2的位置 (n+1) /2 Q3的位置 3(n+1)/...四分位数间距:是上四分位数与下四分位数之差,用四分位数间距可反映变异程度的大小.
即:Q3 --Q1
四分位数求法
第一步
确定四分位数的位置四分位数是将数列等分成四个部分的数,一个数列有三个四分位数,设下四分位数、中位数和上四分位数分别为Q1、Q2、Q3,则:Q1、Q2、Q3的位置可由下述公式确定:
Q1的位置 (n+1)/4
Q2的位置 (n+1) /2
Q3的位置 3(n+1)/4
式中n表示资料的项数
第二步
根据第一步所确定的四分位数的位置,确定其相应的四分位数。例1
例如:某车间某月份的工人生产某产品的数量分别为13、13.5、13.8、13.9、14、14.6、14.8、15、15.2、15.4、15.7公斤,则三个四分位数的位置分别为:Q1的位置 (n+1)/4 =(11+1)/4=3
Q2的位置 (n+1) /2=(11+1)/2=6
Q3的位置 3(n+1)/4=3(11+1)/4=9
即变量数列中的第三个、第六个、第九个工人的某种产品产量分别为下四分位数、中位数和上四分位数。即:
Q1 = 13.8公斤、Q2 = 14.6公斤、Q3 = 15.2公斤
-
公式 高中中位数怎么求_高中数学:求数列通项公式的十一种方法(方法全,例子全,归纳细)...
2020-12-12 00:14:32本文作者:vxbomath大家好,今天讲解高中数学数列通项的 11 种方法其中三个方法:累加法、 累乘法、 待定系数法。下面跟随我一起来来看看。一接下来我们就开始数列解题——累加法二、接下来我们就开始数列解题——累...本文作者:vxbomath
大家好,今天讲解高中数学数列通项的 11 种方法其中三个方法:累加法、 累乘法、 待定系数法。下面跟随我一起来来看看。
一接下来我们就开始数列解题——累加法
二、接下来我们就开始数列解题——累乘法
三、接下来我们就开始数列解题——待定系数法
好了,今天就分享到这里。更多高中数学解题技巧在体系课里或者需要听公开直播免费课程有需要请私信老师。
-
1045: [HAOI2008] 糖果传递(数学法,求中位数)
2013-05-07 15:37:46基本方法就是数学分析:设p(i)表示i-1节点向i节点要糖果的数量(有符号,表示方向),avg表示糖果数的均值,也就是目标糖果数,设p(1)=k 也就是节点n向节点1要的糖果数。则存在以下公式: p(2)=p(1)+avg-a[1] p...基本方法就是数学分析:设p(i)表示i-1节点向i节点要糖果的数量(有符号,表示方向),avg表示糖果数的均值,也就是目标糖果数,设p(1)=k 也就是节点n向节点1要的糖果数。则存在以下公式:
p(2)=p(1)+avg-a[1]
p(3)=p(2)+avg-a[2]=(2*avg)-(a[1]+a[2])-k;
p(i)=p(i-1)+avg-a[i-1]=(i-1)*avg-(a[1]+......+a[i-1])-k;
题目的最优解就是p1+……pn绝对值的最小值,设S(i)表示a[1]+……+a[i]-avg*(i)。
则p(i)=k-S(i-1) p(1)可看做k-S(n)
所以当k是S(1)到S(n)的中位数时,合最小
#include <iostream> #include <algorithm> using namespace std; long long data[1000005]; long long total[1000005]; int main() { int n; while(cin>>n) { for(int i=0;i<n;i++) { cin>>data[i]; if(i>0) total[i]=total[i-1]+data[i]; else total[i]=data[i]; } long long avg=total[n-1]/n; for(int i=0;i<n;i++) total[i]=abs(total[i]-(i+1)*avg); sort(total,total+n); long long mid=abs(total[n/2]); long long result=0; for(int i=0;i<n;i++) { result+=abs(total[i]-mid); } cout<<result<<endl; } }
-
分治法 Quick Power 非等长有序序列的中位数 排序 找第k小的数
2019-05-18 16:28:25简单来说就是求 N的k次方mod素数10007 这里用到两个公式。 费马小定理:和 基本定律 (a + b * n) mod n ≡ a mod n 详细可以看:https://www.zybuluo.com/Lin--/note/1373807 上面有简单描述。 代码 int P...时间不够代码没写注释,抱歉!!!
题目(1)
时间限制: 400 ms 内存限制: 64 MB 代码长度限制: 16 KB
简单分析
简单来说就是求 N的k次方mod素数10007 这里用到两个公式。
费马小定理:和 基本定律 (a + b * n) mod n ≡ a mod n
详细可以看:https://www.zybuluo.com/Lin--/note/1373807 上面有简单描述。代码
int Power(int a, int b) { if(a > 10007 || b > 10006) return Power(a%10007, b%10006); if(a == 0) return 0; int answer = 1, tmp = 0; while(tmp < b) { answer *= a; if(answer >= 10007) answer = answer % 10007; tmp++; } return answer; }
题目(2)
时间限制: 1200 ms 内存限制: 24 MB 代码长度限制: 16 KB
简单分析
与两个等长有序序列的中位数类似(折半查找和merge算法)
merge算法(伪代码):输入:数组A[1...m]和它的三个索引去p,q,r,1 <= p <= q < r <= m,两个子数组A[p...q]和A[q+1...r]各自按升序排列 输出:合并两个子数组A[p...q]和A[q+1...r] comment: B[p...r]是个辅助数组 s <- p; t <- q + 1; k <- p while s <= q and t <= r if A[s] <= A[t] then B[k] <- A[s] s <- s + 1 else B[k] <- A[t] t <- t + 1 end if k <- k + 1 end while if s = q + 1 then B[k...r] <- A[t...r] else B[k...r] <- A[s...q] end if A[p...r] <- B[p...r]
merge算法因为是得到一个新的排序所以复杂度为Θ(n),但是我们不用那么多信息,所以我们不需要一个个的往后比较,使用二分的方法可以将时间复杂度降为Θ(log2n)。
find_midian 的算法输入:数组A[1...n]和B[1...n] 输出:两个子数组的合并数组的中位数p s <- 1; q <- 1; k <- m - 1 while m > 1 if A[s + (k + 1)/2] > B[q + (k + 1)/2]) then s <- s + (k + 1)/2 else q <- q + (k + 1)/2 end if k <- k/2 end while if A[s] < B[s](这里输出低位中位数) then p <- A[s] else p <- B[s]
上面是等长数组的,而非等长数组我们则需要将其删减为等长数组。A[1…n]和B[1…m]两个数组,假设n > m + 1,则数组A中存在不可能是中位数的位置。
如:若n > m + 1的情况下,即使在最极端的A[n] > B[1]的情况下,A[(m+n)/2…n]是无法被选取为中位数的,即使同理,A[1] < B[m]的情况下,A[1…(m - n)/2]也是无法被取为中位数的。Array (A[1], A[2], ... , A[m], B[1], ... , B[n])的中位数为 A[(m+n)/2] Array ( B[1], ... , B[n] , A[1], A[2], ... , A[m])的中位数为 A[(m-n)/2]
但是这里我们把数组A删除至长度为 M + 1 ,A数组可以被选为中位数的长度段为 A [ (m - n - 1) / 2 … (m + n) / 2 ],我们仍然需要讨论特例A[(m + n) / 2],若A[(m + n) / 2] < B[0] 时,中位数就是A[(m + n) / 2]啦,如果还没找到剩下的两个数组丢到上面的find_midian里面运算完就是中位数啦
代码
int median(int *a,int *b, int n1,int n2,int lowa,int lowb) { if(n1 > n2) { lowa = (n1 - n2 - 1)/2; if(a[lowa + n2] < b[0]) return a[lowa + n2]; if(a[lowa] > b[n2 - 1]) return a[lowa]; } if(n1 < n2) { lowb = (n2 - n1 - 1)/2; if(b[lowb + n1] < a[0]) return b[lowb + n1]; if(b[lowb] > a[n1 - 1]) return b[lowb]; } int shanchu; if(n2 > n1) shanchu = n1; else shanchu = n2; int tmp_shan = 0; while(shanchu != 0) { tmp_shan = (shanchu + 1)/2; if(a[lowa + tmp_shan - 1] > b[lowb + tmp_shan - 1]) lowb += tmp_shan; else lowa += tmp_shan; shanchu -= tmp_shan; } if(a[lowa] < b[lowb]) return a[lowa]; else return b[lowb]; }
备注
如果这里没有懂,请麻烦私聊我,之后我尽量改进自己的描述
题目(3)
时间限制: 10000 ms 内存限制: 64 MB 代码长度限制: 16 KB
分析
简单的排序,10000的随机正整数,用Θ(nlog2n)的任意算法都行吧。
这里用的是快排,写的不是很好。代码
#include <iostream> using namespace std; void quick_sort(int a[], int length) { if(length < 2) return; int side = 0, tmp; for(int num = 1; num < length; num++) { if(a[num] > a[0]) { side++; tmp = a[side]; a[side] = a[num]; a[num] = tmp; } } tmp = a[side]; a[side] = a[0]; a[0] = tmp; quick_sort(a,side); quick_sort(a+side+1,length-side-1); } int arr[1000000]; int main() { std::ios::sync_with_stdio(false); int length; cin >> length; for(int num = 0; num < length; num++) cin >> arr[num]; quick_sort(arr,length); for(int num = length - 1; num > 0; num--) cout << arr[num] << " "; cout << arr[0]; }
题目(4)
时间限制: 400 ms 内存限制: 64 MB 代码长度限制: 16 KB
提示把算法描述的很好了,我就瞎叨叨了。
代码
#include <iostream> using namespace std; int arr[1000]; int quick_sort(int arr[], int length, int k) { if(length == 1) return arr[0]; int side = 0, side2 = 0, tmp; for(int num = 1; num < length; num++) { if(arr[num] == arr[0]) side2++; if(arr[num] < arr[0]) { side++; tmp = arr[num]; arr[num] = arr[side]; arr[side] = tmp; } } if(side > k - 1 && side > 0) return quick_sort(arr + 1, side, k); else if(side + side2 < k - 1 && side + side2 > 0) return quick_sort(arr + side + 1, length - side - 1, k - side - 1); else return arr[0]; } int main() { std::ios::sync_with_stdio(false); int length, k; cin >> length; cin >> k; for(int tmp = 0; tmp < length; tmp++) cin >> arr[tmp]; cout << quick_sort(arr,length,k); }
-
java迭代法求圆周率用梯形_求的稀奇方法
2020-12-24 12:06:26那些离奇的求π方法圆 周 率从很久很久以前... ...科学家们就热衷于计算圆周率,除了用几何法、数列法、连分数法和现代计算机计算,还有不用繁杂计算的方法——实验法。精确性是经典数学的一大特点,但生活中的许多... -
java迭代法求圆周率用梯形_小学五年级数学上册重要公式大全,孩子预习、复习都用的上,收藏背熟!...
2020-12-30 23:04:242、一个数乘纯小数的意义就是求这个数的十分之几、百分几、千分 之几……是多少。如:1.2×0.5 表示求 1.2 的十分之五是多少。3、小数乘法的计算方法:计算小数乘法,先按整数乘法算出积,再 看因数中一共有几位小数... -
【菜鸟er】常见问题_第n个素数+常见问题_斯特林公式解阶乘位数
2018-07-30 20:17:56第n个素数 //题目分析:输出第k个...剩下的数中选择最小的数是素数,然后去掉它的倍数。 依次类推,直到筛子为空时结束。如有: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... -
【ACM】有关区间 数的 分解 求和 的一些简单思路,筛法思维
2021-02-04 10:38:23本文主要面向∑i=abf(i)\sum_{i=a}^b f(i)∑i=abf(i)类的公式,其中f(i)f(i)f(i)表示一种将iii进行分解的方式,比如iii的因子之和,将iii的质因子按照位数排列成十进制。...但是1-n内所有数的因子 -
EXCEL函数公式集
2010-03-16 03:26:38得到单元格编号组中最大的数或最小的数 标记出3个最大最小值 取前五名,后五名的方法 如何用公式求出最大值所在的行? 求多个最高分 如何求多条件的平均值 想求出第三大之数值 【查询和查找引用】 查找顺序公式 怎样... -
基于Matlab曲线拟合求取地表沉陷预计参数的程序实现与优化
2020-05-12 19:10:29研究结果表明:对变采高工作面地表沉陷预计参数求取,沿水平面划分为多个煤层厚度的工作面叠加求参法,减小了工作面平均采高法与垂直划分法的预计参数求取误差,尤其解决了工作面垂直划分法求参中拐点偏移距的离散性问题... -
Excel公式大全操作应用实例(史上最全)
2018-03-06 21:09:38得到单元格编号组中最大的数或最小的数 标记出3个最大最小值 取前五名,后五名的方法 如何用公式求出最大值所在的行? 求多个最高分 如何求多条件的平均值 想求出第三大之数值 【查询和查找引用】 查找顺序公式 怎样... -
2018 南京现场赛 J(按位算贡献,质因子分解,区间枚举:后缀法)
2019-08-20 09:57:00题目描述: 题意: 每个区间有一个质因子种类数,统计... 比赛中首先想到的是每个数的质因子个数乘以其所在的区间数(区间数 直接组合公式求),这样的问题在于没法去重。 然后想到计算以 为结尾的区... -
-
Excel公式与函数大辞典.宋翔(带书签高清文字版).pdf
2019-03-02 08:33:513.1.4 两位数年份问题 121 3.2 返回当前的日期、时间和指定的日期、时间 121 3.2.1 NOW——返回当前日期和时间 121 3.2.2 TODAY——返回当前日期 123 3.2.3 DATE——返回指定日期的序列号 124 3.2.4 TIME——... -
定点补码一位乘法器的设计.rar
2020-07-11 17:11:46由上述公式可以看出,比较法是用乘数中每相邻的两位判断如何求得每次的相加数。每两位Yi和Yi+1的取值有00,01,10,11四种组合,则它们的差值分别为0,1,-1和0,非最后一次的部分积,分别为上一次部分积的1/2(右移... -
初等数学题解:求平方根
2020-05-27 13:32:05比如1156是四位数,不难看出它的平方根是个两位数,且十位上的数字是3.于是问题就转换成:怎样求出它的个位数a?根据两数和的平方公式,可以得到 1156=(30+a)2=302+2*30a+a2,所以 1156-302=2×30a+a2,即 256=(30... -
面试题43.1~n整数中1出现的次数
2019-09-04 17:46:21ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。 解析:公式法。若百位上数字为0,百位上可能出现1的次数由更高位决定;若百位上... -
数据分析方法论2:交叉&平均分析法
2020-12-17 16:44:19平均数用来反映一组数据的集中趋势,表示平均的指标有算术平均数、几何平均数、中位数和众数。 算术平均数 最常用的一个平均数,也就是常说的均值、平均值,就是我们熟悉的那个求平均值的公式,所有的数值相加再... -
20.剑指Offer之从1到n整数中1出现的次数
2020-07-10 18:52:17解题思路2.1暴力算法2.2数学公式法2.2.1个位:2.2.2十位:2.2.3百位:3.编程实现(Java): 1.题目描述: 求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1-13中包含1的... -
数据分析复习.pptx
2020-03-08 00:12:08总体个体样本和样本容量反映数据集中趋势的统计量用样本估计总体反映数据离散程度的统计量一知识链接1平均数的计算公式两种平均数的求法2中位数中位数仅与数据的排列位置有关当一组中的个别数据相差较大时可用中位数... -
RSA大数运算实现(1024位n)(3)
2019-02-02 20:03:59在(1)的基础上,采用Knuth提供的估商法来实现除法,会使得程序运行速度大幅加快,... 后面实现了另一种比较快的求逆算法,以及求贝祖等式和蒙哥马利算法之后再次更新。 首先是对于被除数和除数的说明: ... -
数值分析软件 v1.1 2009年最新版(简体中文)
2009-04-13 17:35:33对于不高于四次的代数方程已有求根公式,而高于四次的代数方程则无精确的求根公式,至于超越方程就更无法求其精确解了。因此,如何求得满足一定精度要求的方程的近似根也就成为了广大科技工作者迫切需要解决的问题。... -
算法心得:高效算法的奥秘(原书第2版).[美]Henry S.Warren,Jr(带详细书签).pdf
2019-01-24 22:10:2215.2.2 校验位个数的最小值 290 15.2.3 小结 290 15.3 适用于32位信息的软件SEC-DED算法 292 15.4 广义错误修正 297 15.4.1 汉明距离 298 15.4.2 编码论的主要问题 299 15.4.3 n维球面 301 15.5 习题 305 第... -
大家帮忙看看这个代码,除法溢出,帮忙修改下,谢谢
2016-08-14 04:03:59功能: 将 word 型数据转变为10进制数的字符串,字符串以0为结尾符 ;参数:(ax)=dword 型数据的低16位 ; (dx)=dword 型数据的高16位 ; ds:si指向字符串的首地址 ;返回: 无 ;思路:除10求余... -
R语言经典实例(中+英)
2014-12-03 18:46:159.10 中位数的置信区间 217 9.11 检验样本比例 218 9.12 比例的置信区间 219 9.13 检验正态性 220 9.14 游程检验 222 9.15 比较两个样本的均值 223 9.16 比较两个非参数样本的位置 225 9.17 检验... -
Excel函数活用范例大辞典(全新版).何先军.2015-2(带书签高清文字版).pdf
2018-12-18 16:27:31本书主要适用于希望快速掌握Excel函数相关知识,并使用公式和函数解决办公中实际问题的用户,适用于不同年龄段的办公人员、文秘、财务人员、公务员,尤其对刚进入职场的工作人员,在解决实际问题上有很大的指导作用... -
康托展开&逆康托展开
2017-04-30 17:39:14康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全...康托展开求法: 比如2143 这个数: 从头开始判断, ① 比 2(第一位数)小的数有多少 -
蓝点被必做的算法经典题java.c/c++
2011-12-22 12:29:26题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 【程序21】 题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 【程序22】 ... -
UVA 10061 - How many zero's and how many digits ?
2017-09-06 15:43:04在m进制中末尾有几个零,以及为几位数。 解题思路:林炜大佬打得代码。。。漂亮。n!在m进制有几位,卡精度,用斯特林公式wa了。用对数求,加上1e-9才过。对数求法是这样的。。。设结果为X位数,那么n! ac代码: #...