代数
文章平均质量分 63
线性代数、解方程组、置换等数学问题。对一些数学问题,基于解析解法给出对应数值解法的编程实践及代码
惆怅客123
算法研究痴迷者,ai爱好者
展开
-
UVa12413 Big Decimal Calculator
本人学习icpc算法竞赛时自己对UVa部分题目的解题思路 add 和 sub 的计算结果在精度范围内为0时符号按照加数/减数来,但是 mul 和 div 的结果是+0,不受乘数和除数影响。exp, ln, sqrt, asin, acos, atan, sin, cos, tan。使用泰勒展开时,需要配合一些数值技巧以保证级数快速收敛。add, sub, mul, div, pow, atan2。计算atan(x)时要考虑|x|接近1时确保快速收敛的处理方式。先实现加减乘除运算,作为实现后续运算的基础。原创 2023-09-27 01:08:21 · 60 阅读 · 0 评论 -
UVa1332/LA3139 Kid‘s Problem
本人学习icpc算法竞赛时自己对UVa部分题目的解题思路 你的任务是帮助怪盗基德打开下图所示的一个密码锁。该锁一共有k(1≤k≤20)个按钮和k个齿轮,每个齿轮上有n(2≤n≤10)个齿,分别印有整数1~n,其中最上面的那个齿上的数字在外部可见。初始时所有齿轮的可见数(即最上面齿的整数)均为1。每个按钮可以控制多个齿轮,用序列{a1, b1, a2, b2, …, ap, bp}来描述,表示该按钮控制p 个齿轮:a1, a2, …, ap,其中每按一下这个按钮,齿轮ai 将逆时针旋转bi 个齿。原创 2023-09-05 02:09:09 · 88 阅读 · 0 评论 -
UVa10808 Rational Resistors
本人学习icpc算法竞赛时自己对UVa部分题目的解题思路 给你一个包含n个结点,m条导线的电阻网络,求结点a和b之间的等效电阻。a和b的等效电阻等于有一安培电流从a流进b流出时,ab之间的电压值。注意两个结点之间可以有多条导线相连,一条导线的两端也可以是同一个结点。 根据基尔霍夫定律列方程组求解即可。要注意两点:1、分数运算下为了避免long long溢出,高斯消元需要倒着枚举(尽量优先使用未参与消元的方程作为基准,或者使用分数的分子分母最大值最小的方程)2、源点汇点方程的处理也需要注意选更好的方式。原创 2023-08-28 00:52:00 · 57 阅读 · 0 评论 -
UVa12387/LA5819 Alphabet Soup
本人学习icpc算法竞赛时自己对UVa部分题目的解题思路 给出S(2≤S≤1000)个不同形状的符号,以及一个圆上的P个位置(用极角给出,等分成了360000个角度),选择P个不同的符号放在这P个位置上计算总共有多少种放置方案。注意一种方案如果可以旋转成另外一种方案,则视为同一种方案。输出方案数模100000007。本题虽说是第一道题目,但却是比较难的置换等价类计数题目。注意,题目并未说P个位置已经排序好了,所以需要将P个极角位置排序。找出所有旋转后会重合的(旋转角度)方案,以统计答案。原创 2023-07-11 22:44:26 · 59 阅读 · 0 评论 -
UVa11255 Necklace
本人学习icpc算法竞赛时自己对UVa部分题目的解题思路 对于某个置换f,只要其存在(本题指的是可以旋转或者翻转),则不管颜色限制是什么,它给分母贡献加1,只是特定的颜色限制下C(f)可能为0(即此置换在特定颜色限制下循环无法全部得到满足,对分子贡献加0)。计n = a + b + c,本题分母总是2n, (不旋转,n-1种旋转,n种翻转)。有三种不同颜色的珠子,各有a、b、c个3 ≤ a + b + c ≤ 40(a、b、c非负),求将所有珠子连成一串项链能组成的不同方案数。原创 2023-07-17 12:26:36 · 54 阅读 · 0 评论 -
一元三次/一元二次方程求数值解C++编程实践
一元三次方程求解目前最简明的、最直观的方法是:盛金公式法。这是80年代中国中学数学教师范盛金的研究成果,体现了体现了数学的有序、对称、和谐与简洁美。一元三次方程求数值解涉及判别式Δ与0比大小,求三角反三角以、求平方根和求立方根,因此C++编程涉及两个细节:1、考虑浮点运算精度问题,Δ与0比大小需要设一个阈值eps啊(用Δ>eps取代Δ>0,用Δ>-eps并且Δ原创 2024-04-11 16:24:18 · 390 阅读 · 0 评论