sum函数

js 类数组 argument

让人想犯罪 __ 提交于 2019-12-01 12:25:36
今天遇到一个问题, 那就是js一个函数 function(){ } 你不知道要传几个参数过来, 那么怎么去接收这些参数呢 ? 直接贴代码 如下 <script> function add() { if ( arguments.length===0)return 0; var sum=0; for (var i=0;i<arguments.length;i++){ sum+=arguments[i]; } return sum; } console.log(add()); console.log(add(1,2)); console.log(add(3,4,5)); </script> 执行结果: 类数组 argument 不是真正的数组, 其实是一个对象 一个类似数组的对象。 有length 属性 返回传入参数的长度。 callee 属性, 返回函数本体, function add() { console.log(arguments.callee); if ( arguments.length===0)return 0; var sum=0; for (var i=0;i<arguments.length;i++){ sum+=arguments[i]; } return sum; }   结果 来源: https://www.cnblogs.com/tongcharge/p

「总结」容斥。二.反演原理 3.约数容斥

核能气质少年 提交于 2019-11-30 23:28:17
3.莫比乌斯反演。 这个比较常见了吧。现在在$hzoi$都烂大街了。 定义几个常用的函数,当作笔记了。 单位函数$$I(n)=1$$ 元函数$$e(n)=[n=1]$$ 约数个数函数$$d(n)=\sum\limits_{d|n}I$$ 约数和函数$$\sigma(n)=\sum\limits_{d|n}d$$ 标志函数$$id(n)=n$$ 莫比乌斯函数$$mu(n)=\begin{cases} (-1)^w &\ n=\prod\limits_{i=1}^{w}p_i&\\0 &\ n=p^2\prod\limits_{i=1}^{w}p_i^{c_i}&\end{cases}$$ 欧拉函数$$\varphi(n)=\sum\limits_{i=1}^{n}[i\perp n]$$ 基本上正常的反演就只用到这些函数了。但是不包括某$DZY$系列。 狄利克雷卷积:定义符号$*$为狄利克雷卷积。 对于三个函数个函数:$h,g,f$. $$f=h*g->f(n)=\sum\limits_{d|n}h(d)g(\frac{n}{d})$$ 结论:两个积性函数的狄利克雷卷积仍然是积性函数。 证明: 设$n=\_*p^c,a\perp b,ab=n$ $$f(n)=\sum\limits_{d|n}h(d)g(\frac{n}{d})$$ $$f(a)=\sum\limits_{d|a}h

「总结」容斥。二.反演原理

為{幸葍}努か 提交于 2019-11-30 23:17:28
二.反演原理 0.综述 说一下个人对反演的理解。 反演是一种手段,一种处理已知信息和未知信息关系的手段,用来得到未知信息的方式。也就是以一种既定的手段在较小的时间复杂度内用已知的信息得到未知的信息。 还有$zsq$学长更加浅显的解读。 反演一般就是把一个好看但难算的式子转化成一个难看且难算的式子在转化为一个难看但好算的式子。 先来一个裸一点的反演 下面要说我知道的四种反演。 子集反演,针对的是集合交并的容斥。 二项式反演,针对组合原理的容斥。 莫比乌斯反演,针对约数和倍数的容斥。 斯特林反演,针对集合划分的容斥。 最值反演($Min\_Max$容斥),针对集合元素出现的最值的反演。 1. 子集反演。 $$g(S)=\sum\limits_{T\subseteq S}f(T)$$ $$f(S)=\sum\limits_{T\subseteq S}(-1)^{\left|S\right|-\left|T\right|}g(T)$$ 这个是裸的容斥,证明的话,奇加偶减自己想想就明白了。 $fr.$小星星。 直接算很麻烦很麻烦很麻烦所以考虑大力容斥可以喵。 限制很多还是$dp$然后,设$dp[i][j][S]$为以$i$为根的子树,$i$在原图中对应了$j$,子树里所有的点都在对应$S$集合中的点,不要求子树一一对应,随便怎么对应都可以的方案。 这个$O(n^3)tree dp$就能够得到

杜教筛学习笔记

强颜欢笑 提交于 2019-11-30 19:39:22
杜教筛 杜教筛作用: 以 \(O(n^{\frac{2}{3}})\) 的时间复杂度求出积性函数的前缀和 具体方法: 如要求: \(S(n)=\sum\limits_{i=1}^nf(i)\) 先任取一个积性函数 \(g(n)\) 与 \(f(n)\) 卷积一下,得到: \((f*g)(n)=\sum\limits_{d|n}g(d)f(\dfrac{n}{d})\)   , 对该卷积求前缀和,得到: \(\sum\limits_{i=1}^n(f*g)(i)=\sum\limits_{i=1}^n\sum\limits_{d|i}g(d)f(\dfrac{i}{d})\)   ,改变枚举顺序,把 \(g(d)\) 提到前面来,可得: \(=\sum\limits_{d=1}^ng(d)\sum\limits_{i=1}^{\lfloor\frac{n}{d}\rfloor}f(i)\)  ,再代入 \(S\) 函数: \(=\sum\limits_{d=1}^ng(d)S(\lfloor\dfrac{n}{d}\rfloor)\) 于是我们得到了 \(\sum\limits_{i=1}^n(f*g)(i)=\sum\limits_{i=1}^ng(i)S(\lfloor\dfrac{n}{i}\rfloor)\)  (换成 \(i\) 舒服一点...) 然后显然有 \(g(1)S

python3(十六)returnFunc

痴心易碎 提交于 2019-11-30 01:22:03
# 通常求和函数定义,调动就求和 def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax # 如果不需要立即求和 def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum f = lazy_sum(1, 3, 5, 7, 9) print(f) # 返回的是个求和函数 <function lazy_sum.<locals>.sum at 0x0000000001E97678> # 调用函数 print(f()) # 25 # 在这个例子中,我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量, # 当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”的程序结构拥有极大的威力。 # 注意: 每次调用都会返回一个新的函数 # ----------------------------------------- # 相关参数和变量都保存在返回的函数中,这种称为“闭包“ # 返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。 def count(): def f

李宏毅classification+Logistic Regression(lecturte4)课堂笔记

▼魔方 西西 提交于 2019-11-28 17:42:56
穷举最好函数最基本方法结合贝叶斯公式、全概率公式,算概率 简单例子: 红圈里根据数据算出 。 极大似然估计: 某个μ和∑的Gaussian就是每个样本点的几率 穷举所有μ和∑,能使likelihood 式子最大的μ和∑我们就认为它们是最有可能产生那79个点的μ*和∑*。易知μ*和∑*的最佳解。 每个类总用不同的μ和∑,可能会效果不好或者过拟合,选择使用同一个∑ 采用此方法分类结果 回顾总结几率模型 : 补充: 具体看z, 最后就有 推导过程了解就好,要知道 实际上求那么多μ 1 和μ 2 ,N 1 和N 2 都是为了找w和b,怎样能更简洁的找w和b呢? ----- ------- 最后miniaturize的函数就是 最后推导有 对比: Multi-class Classification: 引入深度学习和神经网络,可以再看一遍 来源: https://www.cnblogs.com/lunotebook/p/11412639.html

python函数式编程之返回函数

為{幸葍}努か 提交于 2019-11-28 00:50:37
函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。如果不需要立刻求和,而是在后面的代码中,根据需要再计算,可以不返回求和的结果,而是返回求和的函数: def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum f = lazy_sum(1,2,3)#返回的是求和函数 print(f) f()#调用时才会计算求和结果 ------------------------------------------------------------------------------- Output: <function lazy_sum.<locals>.sum at 0x00000269FA029950> 6 在这个例子中,我们在函数 lazy_sum 中又定义了函数 sum ,并且,内部函数 sum 可以引用外部函数 lazy_sum 的 参数和局部变量 ,当 lazy_sum 返回函数 sum 时, 相关参数和变量都保存在返回的函数中 ,这种称为“ 闭包 (Closure)”的程序结构拥有极大的威力。 请再注意一点,当我们调用 lazy_sum() 时,每次调用都会返回一个 新的函数 ,即使传入相同的参数。 闭包

一个莫比乌斯等式的证明

ぐ巨炮叔叔 提交于 2019-11-27 22:18:50
证:$\displaystyle \sum_{i=1}^n \mu (i)^2 = \sum_{i=1}^{\left \lfloor \sqrt n \right \rfloor}\mu (i)\left \lfloor \frac{n}{i^2} \right \rfloor$,其中 $\mu (x)$ 为莫比乌斯函数. 分析: 在等式的推到中,最重要的是理解一个等式的含义。 上式左边其实是求 $1 \sim n$ 中无平方因子数的个数,右边相当于枚举 $n$ 的平方因子,再乘以容斥系数。 因此,也找到了 严格 证明的方法了。 证: 设 $f(x)$ 为 $x$ 的最大的平方因子。 于是 $\displaystyle \sum_{i=1}^n \mu (i)^2 = \sum_{i=1}^n[f(i)==1]$(最大平方因子为1)。 使用经典套路: $$ \begin{aligned} \sum_{i=1}^n \mu (i)^2 & = \sum_{i=1}^n[f(i)==1]\\ &= \sum_{i=1}^n\varepsilon(f(i))\\ &= \sum_{i=1}^n\sum_{d|f(i)}\mu (d) \end{aligned}$$ 改变枚举顺序: $$ \begin{aligned} \sum_{i=1}^n\sum_{d|f(i)}\mu(d) &

莫比乌斯反演入门

拥有回忆 提交于 2019-11-27 13:59:00
。。。。您点进来我的博客,想必是信任我这个新初一大菜鸡能讲清楚吧!可是我来写这篇博客,完全是因为考试的时候看到数学题推到类似∑∑【gcd(i,j)==1】的式子就推不下去了。其实莫比乌斯反演就是求这样的东西的。 对于这样的式子,我经常说一句话:当年bmh201708普及组的时候提前30分钟出考场吊打提高组,就是冲着数学题去AK的 对于这样的人,我们用3个字形容他:金艺轲! 首先声明一点:我不会markdown 我zbs用莫比乌斯定理不是问题:【n==1】=∑mu(d)(d|n) 如果这个式子带进去,将绝杀。而且可以带 单走一个交换枚举项,不用说,他死定了:∑∑[gcd(i,j)==1] =∑∑∑mu(d)(d|gcd(i,j))=∑mu(d)∑∑(d|i&&d|j) (到这里,有没有发现gcd(i,j)的所有因数都是i和j的因数?) 给莫比乌斯倒一杯卡布奇诺! 原式=∑mu(d)[n/d]*[m/d] 后面整数分块处理O(sqrt(n)),前面莫比乌斯函数因为是积性函数,所以直接上欧拉筛。 你卡掉我试试!你能把我zbs卡掉?卡掉我当场吃屎! https://www.luogu.org/record/22884149 来源: https://www.cnblogs.com/zbsakioi/p/11366682.html