
数学
Enstein_Jun
与其等待未来,不如创造未来
展开
-
求平均值,防止溢出(只针对整数)
今天看到有人讨论C/C++中求平均数溢出的问题。于是我便仔细的思考并查找相关资料。我们很容易发现 (a +b) / 2, 溢出的来源是加法可能产生进位运算,那么我们只要想办法避免进位运算就可以了。 因为要避免进位我们很自然的就可以想到位运算。我们可以将a, b分为两个部分(从二进制的角度来看),一个是相等的公共部分,另一个则是不相等的部分。我们可以发现计算平均数的进位主要...原创 2018-03-09 09:12:22 · 3049 阅读 · 0 评论 -
差分约束系统
差分约束系统,一听这个名字,顿时觉得好高大上。其实并不是这样,那么什么是差分约束系统呢?简单来说就是,给你一堆诸如:x - y 1、差分约束系统现在我们给出一个标准的查分约束的定义。如果一个系统由n个变量和m个约束条件组成,形成m个形如xi-xj≤bk的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即原创 2016-05-02 11:46:05 · 938 阅读 · 0 评论 -
矩阵的运算 --- 倍增法(UVA11149 - Power of Matrix)
昨天我们介绍了矩阵的快速幂(点我),相信大家对于矩阵快速幂都有一定的了解。大家也就知道快速幂对于幂运算的迅速,但是当出现了这样的问题: 我们就会发现即便矩阵快速幂再快,我们计算和我们都是O(n)的算法。那么在这个问题上,我们研究问题的重心就从矩阵的幂,转化为了矩阵幂的和。光看这个好像也想不出什么,那么我们换一个角度来思考这个问题。我们现在是要让计算变得更快,对吧?那么怎么样才原创 2016-03-08 10:00:37 · 2707 阅读 · 2 评论 -
矩阵的运算 --- 矩阵快速幂(UVA10689 - Yet another Number Sequence)
我们向大家介绍了快速幂取模(点我),大家对快速幂都有了一定的了解。由此我们产生了一个想法,既然数值能够使用快速幂来提高幂运算的效率,那么同理矩阵也行。于是引出我们今天要介绍的“矩阵快速幂”。 我们在学习数值的快速幂的时候,代码是这样的:typedef long long ll; ll mod_pow(ll x, ll n, ll mod){ ll res = 1;原创 2016-03-07 13:22:54 · 2372 阅读 · 0 评论 -
组合游戏 - SG函数和SG定理
组合游戏的和通常是很复杂的,所以我们介绍一种新工具,可以使组合问题变得简单————SG函数和SG定理。Sprague-Grundy定理(SG定理): 游戏和的SG函数等于各个游戏SG函数的Nim和。这样就可以将每一个子游戏分而治之,从而简化了问题。而Bouton定理就是Sprague-Grundy定理在Nim游戏中的直接应用,因为单堆的Nim游戏 SG函数满足 SG(x) =原创 2015-05-07 08:09:04 · 19001 阅读 · 12 评论 -
组合博弈 -- 三大基本博弈
这几天开始学习博弈,发现这一块是个难啃的骨头。以下是我从网上收集的资料汇总: 我国民间有个古老的游戏:就是有物品若干堆,(物品可以是火柴,围棋都可以)。两个人轮流从堆中取若干件,规定取光物体者为胜。这个就是我们今天要研究的组合游戏。组合游戏定义: 1、有且仅有两个玩家 2、游戏双方轮流操作 3、游戏操作状态是个有限的集合(比如:取石子游戏,石子是有限的,原创 2015-05-04 12:20:59 · 13191 阅读 · 8 评论 -
hdu2035 人见人爱A^B(快速幂取模)
题目链接:hdu 2035 人见人爱A^B 很早的时候做的一道题了,今天想想把他翻了出来,写篇文章来为不知道快速幂的同学做一个科普(请允许我吹一下牛逼)。快速幂可以高效的计算幂运算。如果我们使用循环来计算的话,那么时间复杂度就是 O(n) ,使用快速幂的话就只用 O(log n)。不要小看这么一点点,如果一个问题需要多次 的 幂运算的话,可能就会因为这一点小小的变化而超时。快速幂原创 2015-04-30 09:05:39 · 6002 阅读 · 6 评论 -
SDUTOJ2165 Crack Mathmen(模拟,哈希表,快速幂)
题目连接:传送门 这一题是我们昨天省赛集训的题目,我可给坑惨了。不过所幸没有给白坑,学到了一些东西。最有感触的是这个for(int i = 0 ; i 如果数组大一些,这样写就直接超时。我之前找了好久都没发现,最后学长告诉我把他写成这样int len = strlen(str);for(int i = 0 ; i 为什么呢?原因是如果数组较大的话,那么就要计原创 2015-04-30 08:16:52 · 1526 阅读 · 6 评论 -
hdu5105 Math Problem
题目传送门:点击这里 这道题其实说白了就是一道高中的数学题。对于绝对值得最大值无非就是,两端点或者两顶点。因此我们只需分别讨论一下即可。 1、a = 0时,此时函数为 f(x) = bx² + cx+d ①b = 0 时,此时方程变成 f(x) = cx + d,此时函数为线性变化,故最值出现两端点处。 ②b ≠ 0 时,此时方原创 2015-04-09 12:15:35 · 1031 阅读 · 0 评论 -
平面分割,空间分割问题(递推关系)(hdu1249、hdu1290、hdu2050)
由这一题可以推一类的问题,首先由直线划分区域到折线划分区域,再延伸到封闭图形划分区域,最后在推广为平面划分空间的问题。(1) n条直线最多分平面问题题目:n条直线,最多可以把平面分为多少个区域。解析: 可能你以前就见过这题目,这充其量是一道初中的思考题。 但一个类型的题目还是从简单的入手,才容易发现规律。 当有n-1条直线时,平面最多被分成了f(n-1)...原创 2014-12-17 22:26:57 · 3897 阅读 · 3 评论 -
欧拉函数(hdu1286找新朋友)
在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。原创 2014-12-15 17:02:36 · 2112 阅读 · 0 评论