前言 在实际项目的一些矩阵运算模块中,往往需要对线性方程组进行求解以得到最终结果。 然而,你无法让计算机去使用克莱默法则或者高斯消元法这样的纯数学方法来进行求解。 计算机解决这个问题的方法是迭代法。本文将介绍三种最为经典的迭代法并用经典C++源代码实现之。迭代法简介 从解的某个近似值出发,通...
分类:
其他好文 时间:
2014-07-22 22:52:16
阅读次数:
319
1.志愿者招募 根据流量平衡方程来构图非常方便,而且简单易懂,以后可能成为做网络流的神法之一 简单记一下流量平衡方程构图法的步骤: a.列出需求不等式b.通过设置松弛变量,将不等式变成等式 c.两两相减,得到流量平衡方程 d.观察方程,>0表示得到的流量,0连(s,i,a[i]-a[i-1],0),...
分类:
其他好文 时间:
2014-07-21 08:13:05
阅读次数:
219
今天继续感动滚粗。第一次提交170分,不能多说。第一题:一元三次方程明明是寒假讲分治的时候做过的题居然还是WA而且只拿了60分,说明知识掌握实在不够牢固。寒假做的是保留4位小数,原题只保留2位,又因为答案在[-100,100],所以直接枚举-10000到10000即可。然后鉴于寒假的时候写的二分,我...
分类:
其他好文 时间:
2014-07-21 00:38:29
阅读次数:
319
将式子变形为ax-c=my可以看出原式有解当且仅当线性方程ax-my=c有解设g = gcd(a, m)则所有形如ax-my的数都是g的倍数因此如果g不整除c则原方程无解。下面假设g整除c:利用扩展欧几里得算法解出 au + mv =g 一个特解(u0, v0)所以可用整数c/g乘上上式au0*(c...
分类:
其他好文 时间:
2014-07-21 00:35:53
阅读次数:
297
原来是想dp[i],表示不被抓概率为i所能抢到的最大钱(概率1-100)
后来看了别人的博客是dp[i]表示抢了i钱最大的不被抓概率,嗯~,弱菜水题都刷不动。
那么状态转移方程就是
dp[i]=max(dp[i],dp[i-money]*p),初始化dp(0~maxn)为0,dp[0]=1(1毛钱都没抢你抓个毛线啊,哥是良民~)
又是贴代码环节~
#include
#includ...
分类:
其他好文 时间:
2014-07-20 23:08:15
阅读次数:
284
刚学习的扩展欧几里得算法,刷个水题
求解 线性不定方程 和 模线性方程
求方程 ax+by=c 或 ax≡c (mod b) 的整数解
1、ax+by=gcd(a,b)的一个整数解:
void ex_gcd(int a,int b,int &d,int &x,int &y)//扩展欧几里得算法
{
if(!b){d=a;x=1;y=0;}
else {ex_gcd(...
分类:
其他好文 时间:
2014-07-19 18:26:00
阅读次数:
226
DAG嵌套模型,状态方程由1改成高度就行。 1 #include 2 #include 3 #include 4 #define doumax(a,b) (a>b?a:b) 5 const int maxn=100; 6 int mat[maxn][maxn],dp[maxn],n,a[35][5]...
分类:
其他好文 时间:
2014-07-19 15:04:56
阅读次数:
234
题目大意:买珍珠,每买一种珍珠需要额外付出十个这种珍珠的钱,但你可以买比这种珍珠高品质的珍珠来替换它(那么就只需要那高品质付出那额外的十个珍珠的钱了,但是每个珍珠的价钱也变化了)这是一个dp。令dp[i]为只买前i种珍珠的最少花费钱数,状态转移方程为dp[i] = min(dp[i],dp[j]+s...
分类:
其他好文 时间:
2014-07-19 15:03:24
阅读次数:
208
还算是简单的DP问题,状态方程也不难。刚开始一看还以为是最长连续序列的最大值,想了老半天想不出状态方程。 1 #include 2 #include 3 #define doumax(a,b) (a>b?a:b) 4 const int maxn=1000+5; 5 int a[maxn],d[ma...
分类:
其他好文 时间:
2014-07-19 09:22:04
阅读次数:
147
线性系统是状态变量和输出变量对于所有可能的输入变量和初始状态都满足叠加原理的系统。一个由线性元部件所组成的系统必是线性系统。但是,相反的命题在某些情况下可能不成立。线性系统的状态变量(或输出变量)与输入变量间的因果关系可用一组线性微分方程或差分方程来描述,这种方程称为系统的数学模型。什么是线性?什么...
分类:
其他好文 时间:
2014-07-19 00:14:45
阅读次数:
218