终于到了饭吉圆杯的开赛,这是EZ我参与的历史上第一场ACM赛制的题目然而没有罚时

不过题目很好,举办地也很成功,为法老点赞!!!

这次和翰爷,吴骏达 dalao,陈乐扬dalao组的队,因为我们有二个初二的,所以并起来算一个 。

然后我和另外一个初二的连键盘都没摸,靠着翰爷的大杀四方成功A了5题并因为罚时惜败得到Rank2。%%%Orz 翰爷%%%

好了下面开始讲题。饭吉圆链接

与一般的ACM相似,这次考试的题目也分为三档

  • Easy:NOIp普及组+难度(法老认为);NOIp提高组T1,T2难度(我认为)
  • Medium:比较套路略加一点思维的NOIp提高组题 (法老认为);NOIpT3+至弱省省选题(我认为)
  • Hard: 省选常见算法题,难度略低于省选(法老认为);ZJOI/HNOI省选题+NOI-神题(我认为)

好了我是真的菜,并且针对我无比菜的水平,我也只改了Easy+Medium。

Easy(难度递增)

I. 「QZEZ第一届“饭吉圆”杯程序设计竞赛」画展

整场比赛最水的题目了,模拟题不解释。

由于\(n\le 111\),因此连Hash都不用上。我们直接把图变成字符串然后开Map存一下即可

CODE

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<map>
  4. #include<string>
  5. using namespace std;
  6. const int N=120;
  7. map <string,bool> t;
  8. int n,m,a,b,ans;
  9. char g[N][N];
  10. bool vis[N][N];
  11. string s;
  12. inline void find(void)
  13. {
  14. for (register int i=2;i<=n;++i)
  15. if (g[i][2]=='#') { a=i-2; break; }
  16. for (register int i=2;i<=m;++i)
  17. if (g[2][i]=='#') { b=i-2; break; }
  18. }
  19. inline void solve(int x1,int y1,int x2,int y2)
  20. {
  21. register int i,j;
  22. for (s="",i=x1;i<=x2;++i)
  23. for (j=y1;j<=y2;++j)
  24. s+=g[i][j],vis[i][j]=1;
  25. if (t[s]) return;
  26. for (s="",i=x2;i>=x1;--i)
  27. for (j=y2;j>=y1;--j)
  28. s+=g[i][j];
  29. if (t[s]) return;
  30. if (a==b)
  31. {
  32. for (s="",j=y2;j>=y1;--j)
  33. for (i=x1;i<=x2;++i)
  34. s+=g[i][j];
  35. if (t[s]) return;
  36. for (s="",j=y1;j<=y2;++j)
  37. for (i=x2;i>=x1;--i)
  38. s+=g[i][j];
  39. if (t[s]) return;
  40. }
  41. t[s]=1; ++ans;
  42. }
  43. int main()
  44. {
  45. //freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
  46. register int i,j; ios::sync_with_stdio(false); cin>>n>>m;
  47. for (i=1;i<=n;++i)
  48. for (j=1;j<=m;++j)
  49. cin>>g[i][j]; find();
  50. for (i=1;i<=n;++i)
  51. for (j=1;j<=m;++j)
  52. if (g[i][j]!='#'&&!vis[i][j]) solve(i,j,i+a-1,j+b-1);
  53. return printf("%d",ans),0;
  54. }

F. 「QZEZ第一届“饭吉圆”杯程序设计竞赛」数学作业

这道题有两种方法。

第一种当然是暴力证明了,由于我不会,因此给出法老的手写证明

第二种就比较策略了。题目中提到了:

\(f(s)\)的函数图像似乎是一个极其诡异的曲线

然后我们根据相似三角形感性理解一下其实面积变大的话其形状不会改变,只有边长会按比例增加。

因此我们可以结合样例得到:

\(f(s)=A \sqrt S=1.63299\sqrt S\)

然后写上去一交发现WA了!Why?精度!

我们来猥琐一波:

\((1.63299)^2=2.666...=\frac{8}{3}\)

所以\(A=\frac{2\sqrt S}{3}\)

然后就水过了。

CODE

  1. #include<cstdio>
  2. #include<cmath>
  3. using namespace std;
  4. int main()
  5. {
  6. int n; scanf("%d",&n);
  7. printf("%.5lf",(double)sqrt(n*8.0/3.0));
  8. return 0;
  9. }

B. 「QZEZ第一届“饭吉圆”杯程序设计竞赛」最小完美生成树

也是比较简单的题目,要正确理解题意

首先我们先对原图跑一遍MST,如果求出来的MST已经包含多种颜色,那么直接输出答案即可。

如果只有一种颜色,我们就挑一条不同颜色的边,然后肯定会有一条边被替换下来。

我们找到这条边的最大值即可。

这种方法可以和求LCA一起搞,主要就是倍增。

令\(f_{i,j}\)表示第\(i\)条边向上\(2^j\)次步的路径上的最大值,然后和LCA一起做即可(因为刚好也查询到LCA)

具体维护看CODE

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. using namespace std;
  5. const int N=100005,P=20;
  6. struct edge
  7. {
  8. int to,next,v;
  9. }e[N<<1];
  10. struct data
  11. {
  12. int l,r,w,col;
  13. bool use;
  14. }a[N];
  15. int head[N],n,m,pa[N][P],f[N][P],father[N],dep[N],cnt,c,rt=1;
  16. long long tot;
  17. inline char tc(void)
  18. {
  19. static char fl[100000],*A=fl,*B=fl;
  20. return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
  21. }
  22. inline void read(int &x)
  23. {
  24. x=0; char ch=tc();
  25. while (ch<'0'||ch>'9') ch=tc();
  26. while (ch>='0'&&ch<='9') x=x*10+ch-'0',ch=tc();
  27. }
  28. inline bool comp(data a,data b)
  29. {
  30. return a.w<b.w;
  31. }
  32. inline void add(int x,int y,int z)
  33. {
  34. e[++cnt].to=y; e[cnt].v=z; e[cnt].next=head[x]; head[x]=cnt;
  35. }
  36. inline int max(int a,int b)
  37. {
  38. return a>b?a:b;
  39. }
  40. inline int min(int a,int b)
  41. {
  42. return a<b?a:b;
  43. }
  44. inline int getfather(int k)
  45. {
  46. return father[k]==k?k:father[k]=getfather(father[k]);
  47. }
  48. inline void DFS(int now,int fa)
  49. {
  50. for (register int i=head[now];i!=-1;i=e[i].next)
  51. if (e[i].to!=fa) f[e[i].to][0]=e[i].v,pa[e[i].to][0]=now,dep[e[i].to]=dep[now]+1,DFS(e[i].to,now);
  52. }
  53. inline void init(void)
  54. {
  55. for (register int j=0;j<P-1;++j)
  56. for (register int i=1;i<=n;++i)
  57. if (pa[i][j]) pa[i][j+1]=pa[pa[i][j]][j],f[i][j+1]=max(f[i][j],f[pa[i][j]][j]);
  58. }
  59. inline void swap(int &a,int &b)
  60. {
  61. int t=a; a=b; b=t;
  62. }
  63. inline int getmax(int x,int y)
  64. {
  65. if (dep[x]<dep[y]) swap(x,y); register int i; int res=0;
  66. for (i=P-1;i>=0;--i)
  67. if (pa[x][i]&&dep[pa[x][i]]>=dep[y]) res=max(res,f[x][i]),x=pa[x][i];
  68. if (x==y) return res;
  69. for (i=P-1;i>=0;--i)
  70. if (pa[x][i]&&pa[y][i]&&pa[x][i]!=pa[y][i])
  71. {
  72. res=max(res,max(f[x][i],f[y][i]));
  73. x=pa[x][i]; y=pa[y][i];
  74. }
  75. return max(res,max(f[x][0],f[y][0]));
  76. }
  77. int main()
  78. {
  79. //freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
  80. register int i; read(n); read(m);
  81. memset(e,-1,sizeof(e));
  82. memset(head,-1,sizeof(head));
  83. for (i=1;i<=m;++i)
  84. read(a[i].l),read(a[i].r),read(a[i].w),read(a[i].col);
  85. sort(a+1,a+m+1,comp);
  86. for (i=1;i<=n;++i)
  87. father[i]=i;
  88. for (i=1;i<=m;++i)
  89. {
  90. int fx=getfather(a[i].l),fy=getfather(a[i].r);
  91. if (fx!=fy)
  92. {
  93. father[fx]=fy; tot+=a[i].w; a[i].use=1;
  94. add(a[i].l,a[i].r,a[i].w); add(a[i].r,a[i].l,a[i].w);
  95. }
  96. }
  97. for (i=1;i<=m;++i)
  98. if (a[i].use)
  99. {
  100. if (!c) { c=a[i].col; continue; }
  101. if (c!=a[i].col) return printf("%lld",tot),0;
  102. }
  103. DFS(rt,-1); init(); long long ans=1e18;
  104. for (i=1;i<=m;++i)
  105. if (!a[i].use&&a[i].col!=c) ans=min(ans,tot-getmax(a[i].l,a[i].r)+a[i].w);
  106. return printf("%lld",ans),0;
  107. }

Medium(难度递增)

C. 「QZEZ第一届“饭吉圆”杯程序设计竞赛」路径计数

比较套路的数位DP

我们考虑对题意进行转换,考虑把走过的点写下来,那么一个点的二进制是另一个点的二进制的子集

所以每一个路径上的数肯定是一段1,然后一段0。

就相当于要确定二进制每一位的出现次数,然后出现的二进制位值之和要小于等于\(k\),总和等于\(n\)

仔细想一想,这就是个多重背包了(怎么好像就我一个人写多重背包)

CODE

  1. #include<cstdio>
  2. #include<cctype>
  3. #include<cstring>
  4. using namespace std;
  5. const int N=1e5+5,mod=1e9+9;
  6. int n,k,f[N],x;
  7. inline void inc(int &x,int y)
  8. {
  9. if ((x+=y)>=mod) x-=mod;
  10. }
  11. inline void dec(int &x,int y)
  12. {
  13. if ((x-=y)<0) x+=mod;
  14. }
  15. int main()
  16. {
  17. register int i,j; scanf("%d%d",&k,&n); f[0]=1;
  18. for (i=0;(x=1<<i)<=n;++i)
  19. {
  20. for (j=0;j<=n;++j)
  21. if (j>=x) inc(f[j],f[j-x]);
  22. for (j=n;j>=0;--j)
  23. if (j>=(long long)x*(k+1)) dec(f[j],f[j-(long long)x*(k+1)]);
  24. }
  25. return printf("%d",f[n]),0;
  26. }

K. 「QZEZ第一届“饭吉圆”杯程序设计竞赛」朋友圈

这是典型的技巧题,首先我们想一下这个问题的两种解决方法:

  1. 暴力扫描每一条边,判断两端是否在点集内。复杂度为\(O(qm)\)
  2. 枚举点集中的两个点,然后判断是否存在边 。复杂度为\(O(q\cdot s\ log\ m)\)

然后这两种算法的效率取决于每组数据的点数。我们设一个阈值\(S\):

当点数大于\(S\)时进行算法1,否则进行算法2。

然后我们可以得出取\(S=\frac{q}{log\ m}\)时复杂度达到理论最小值\(O(q\cdot\sqrt{m\ log\ m})\)

CODE

  1. #include<cstdio>
  2. #include<cctype>
  3. #include<cmath>
  4. #include<map>
  5. #include<set>
  6. using namespace std;
  7. const int N=200005;
  8. struct edge
  9. {
  10. int x,y;
  11. }e[N];
  12. map <int,bool> vis[N];
  13. int n,m,q,blk,t,ans,num[N];
  14. bool s[N];
  15. inline char tc(void)
  16. {
  17. static char fl[100000],*A=fl,*B=fl;
  18. return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
  19. }
  20. inline void read(int &x)
  21. {
  22. x=0; char ch; while (!isdigit(ch=tc()));
  23. while (x=(x<<3)+(x<<1)+ch-'0',isdigit(ch=tc()));
  24. }
  25. inline void write(int x)
  26. {
  27. if (x>9) write(x/10);
  28. putchar(x%10+'0');
  29. }
  30. inline int solve1(void)
  31. {
  32. register int i,ans=0;
  33. for (i=1;i<=m;++i)
  34. if (s[e[i].x]&&s[e[i].y]) ++ans;
  35. return ans;
  36. }
  37. inline int solve2(void)
  38. {
  39. register int i,j,ans=0;
  40. for (i=1;i<t;++i)
  41. for (j=i+1;j<=t;++j)
  42. if (vis[num[i]][num[j]]) ++ans;
  43. return ans;
  44. }
  45. int main()
  46. {
  47. //freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
  48. register int i; read(n); read(m);
  49. for (i=1;i<=m;++i)
  50. read(e[i].x),read(e[i].y),vis[e[i].x][e[i].y]=vis[e[i].y][e[i].x]=1;
  51. read(q); blk=q/(int)log2(m);
  52. while (q--)
  53. {
  54. for (read(t),i=1;i<=t;++i)
  55. read(num[i]),s[num[i]]=1;
  56. write(t>blk?solve1():solve2()); putchar('\n');
  57. for (i=1;i<=t;++i)
  58. s[num[i]]=0;
  59. }
  60. return 0;
  61. }

H. 「QZEZ第一届“饭吉圆”杯程序设计竞赛」字符串匹配2

这道题也是有点骚的,就着法老的std写的,第一次知道双Hash的正确写法

首先读题,我们考虑枚举所有的周期,然后对于每一段我们可以结合特殊最小表示法+双Hash来\(O(1)\)求

然后这里我们要知道一个调和级数公式(其实我是知道的,也和另外一个初二口头AC了这道题,不过最后时间不够了,而且我们也不敢上):

\(n+\frac{n}{2}+\frac{n}{3}+\frac{n}{4}+\cdots+\frac{n}{n-1}+1=n\ In\ n\)

然后把每种字符出现的位置用01二进制串表示,然后hash,判断是否能两两对应就可以了 。

CODE

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<vector>
  4. #include<algorithm>
  5. #define fir first
  6. #define sec second
  7. using namespace std;
  8. typedef pair<int,int> Hash;
  9. const int N=1e5+5;
  10. const Hash seed={233,2333},mod={1e9+7,1e9+9};
  11. vector <Hash> a,b;
  12. char s[N];
  13. int len;
  14. Hash pre[5][N],pw[N];
  15. Hash operator %(Hash a,Hash b) { return Hash((a.fir+b.fir)%b.fir,(a.sec+b.sec)%b.sec); }
  16. Hash operator +(Hash a,Hash b) { return Hash(a.fir+b.fir,a.sec+b.sec)%mod; }
  17. Hash operator -(Hash a,Hash b) { return Hash(a.fir-b.fir,a.sec-b.sec)%mod; }
  18. Hash operator *(Hash a,Hash b) { return Hash(1LL*a.fir*b.fir%mod.fir,1LL*a.sec*b.sec%mod.sec); }
  19. inline void write(int x)
  20. {
  21. if (x>9) write(x/10);
  22. putchar(x%10+'0');
  23. }
  24. inline int min(int a,int b)
  25. {
  26. return a<b?a:b;
  27. }
  28. inline Hash get_sub(int k,int l,int r)
  29. {
  30. return pre[k][r]-(pre[k][l-1]*pw[r-l+1]);
  31. }
  32. int main()
  33. {
  34. register int i,j,k; scanf("%s",s+1); len=strlen(s+1);
  35. for (pw[0]={1,1},i=1;i<=len;++i)
  36. pw[i]=pw[i-1]*seed;
  37. for(i=1;i<=len;++i)
  38. {
  39. for(j=0;j<5;++j)
  40. pre[j][i]=pre[j][i-1]*seed;
  41. pre[s[i]-'a'][i]=pre[s[i]-'a'][i]+Hash(1,1);
  42. }
  43. for (i=1;i<=len;++i)
  44. {
  45. bool flag=1;
  46. for (j=i+1;j<=len;j+=i)
  47. {
  48. a.clear(); b.clear();
  49. for (k=0;k<5;++k)
  50. a.push_back(get_sub(k,1,min(i,len-j+1))),b.push_back(get_sub(k,j,min(i+j-1,len)));
  51. sort(a.begin(),a.end()); sort(b.begin(),b.end());
  52. if (a!=b) { flag=0; break; }
  53. }
  54. if (flag) write(i),putchar(' ');
  55. }
  56. return 0;
  57. }

E. 「QZEZ第一届“饭吉圆”杯程序设计竞赛」暑假作业

首先先发现对\(t\)从小到大排序后可以得到最优解(这个很好证明而且也很显然,实在不行结合样例理解一下即可)。

考虑排序后如何算出初始的最优解,我们可以分析后得出答案等价于

\(\sum_{i=1}^n l_i-t_i\cdot(n-i+1)\)

然后我们考虑修改,其实就是取走一个数在放上一个数的过程,我们发现只要得出这个点(老的)对答案的贡献和新的点对答案的贡献。

很显然,一个点被删除/加入对于它的排名有影响,对排在它后面的数的答案也有影响。

因此我们分别考虑这两个影响,排名可以用类似于求逆序对的方法用树状数组求知。

然后考虑对于排在它后面的数统统前移一位,其实也是一个求和(\(\sum t_i\))的过程,因此我们再开一维树状数组来直接统计即可。

具体实现看CODE

  1. #include<cstdio>
  2. #include<cctype>
  3. #include<algorithm>
  4. using namespace std;
  5. typedef long long LL;
  6. const LL N=2e5+5;
  7. LL n,m,l[N],t[N],r[N],x,nl,nt,ans,tree[2][N>>1];
  8. inline char tc(void)
  9. {
  10. static char fl[100000],*A=fl,*B=fl;
  11. return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
  12. }
  13. inline void read(LL &x)
  14. {
  15. x=0; char ch; while (!isdigit(ch=tc()));
  16. while (x=(x<<3)+(x<<1)+ch-'0',isdigit(ch=tc()));
  17. }
  18. inline void write(LL x)
  19. {
  20. if (x<0) putchar('-'),x=-x;
  21. if (x>9) write(x/10); putchar(x%10+'0');
  22. }
  23. inline void add(LL x,LL y,LL z)
  24. {
  25. for (;x<=1e5;tree[z][x]+=y,x+=x&-x);
  26. }
  27. inline LL get(LL x,LL y)
  28. {
  29. LL tot=0; for (;x;tot+=tree[y][x],x-=x&-x); return tot;
  30. }
  31. int main()
  32. {
  33. //freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
  34. register LL i; read(n); read(m);
  35. for (i=1;i<=n;++i)
  36. read(l[i]),read(t[i]),r[i]=t[i],ans+=l[i];
  37. sort(r+1,r+n+1);
  38. for (i=1;i<=n;++i)
  39. ans-=r[i]*(n-i+1),add(r[i],1,0),add(r[i],r[i],1);
  40. write(ans); putchar('\n');
  41. while (m--)
  42. {
  43. read(x); read(nl); read(nt);
  44. ans-=l[x]; l[x]=nl; ans+=l[x];
  45. add(t[x],-1,0); add(t[x],-t[x],1);
  46. ans+=t[x]*(n-get(t[x],0))+get(t[x],1);
  47. t[x]=nt; ans-=t[x]*(n-get(t[x],0))+get(t[x],1);
  48. add(t[x],1,0); add(t[x],t[x],1);
  49. write(ans); putchar('\n');
  50. }
  51. return 0;
  52. }

QZEZ第一届“饭吉圆”杯程序设计竞赛的更多相关文章

  1. 华南理工大学“三七互娱杯”程序设计竞赛(重现赛)( HRY and array 高精度除法模板)

    题目链接:https://ac.nowcoder.com/acm/contest/874/D 题目大意:给你两个数列a和b然后对a可以进行排列,对b可以任意排列,问你sigma(a(i)*b(i))的 ...

  2. 华南理工大学“三七互娱杯”程序设计竞赛 HRY and codefire(概率期望DP)

    https://ac.nowcoder.com/acm/contest/874/A 题目:有两个账号 , 一开始都为0级 , 求任意一个账号升级到N的期望 要求:如果当前账号嬴了 , 就继续沿用当前的 ...

  3. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 G - 彩虹岛套娃

    题目描述 俄罗斯套娃是俄罗斯特产的木制玩具,一般由多个一样图案的空心木娃娃一个套一个组成,最多可达十多个,通常为圆柱形,底部平坦可以直立.颜色有红色,蓝色,绿色,紫色等.最普通的图案是一个穿着俄罗斯民 ...

  4. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 H - 圣诞节糖果

    题目描述 圣诞节临近,彩虹岛的黑心商人

  5. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 F - 打铁的箱子

    题目描述 作为彩虹岛上最擅长打铁的人,

  6. 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 D - 新卡片游戏

    题目描述

  7. 长安大学第四届“迎新杯”程序设计竞赛 F 打铁的箱子【数学/进制思维/折半枚举】

    题目描述 作为彩虹岛上最擅长打铁的人,

  8. 长安大学第四届“迎新杯”程序设计竞赛 H 圣诞节糖果【二分】

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld 题目描述 圣诞节临近,彩虹岛的黑心商人

  9. 华南理工大学“三七互娱杯”程序设计竞赛 G: HRY and tree

    题意:给出一棵树,定义两点间代价为两点路径上最长的边权,问任两点间的代价和. 解法:这道题的解法十分巧妙:直接用Kruskal对这棵树求最小生成树,然后对于即将加入到MST的这条边(u,v,w),这条 ...

随机推荐

  1. 浅谈Arrays.asList()方法的使用

    首先,该方法是将数组转化为list.有以下几点需要注意: (1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean) (2)该方法将数组与列表 ...

  2. 用U盘制作EXSI启动盘

    用U盘制作EXSI启动盘这是一个比较困难的事,一般的人会用UltraISO这个软件来制作.但是很遗憾,这样的方法很不好,我试了好几次都没有成功.主要是不能引导. 之后我换了一个刻录软件(rufus), ...

  3. IP地址及子网划分

    1.IP地址 2.子网掩码 网络号全转为1,主机号全转为0,之后再转化为10进制表示. 3.无分类编址

  4. [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt

    [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt --//简单探究12c TABLE ACCESS BY INDEX ROWID BATCH ...

  5. asp.net mvc5中的过滤器重写

    asp.net mvc5中增加了一种过滤器类型叫过滤器重写,这种过滤器类型可以在操作或者控制器上忽略更高层次上设置的过滤器类型,它可以重写五种基本的过滤器接口类型:IAuthenticationFil ...

  6. 高通移植mipi LCD的过程LK代码

    lk部分:(实现LCD兼容) 1. 函数定位 aboot_init()来到target_display_init(): 这就是高通原生lk LCD 兼容的关键所在.至于你需要兼容多少LCD 就在whi ...

  7. 使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python

    virtualenv 系统中的多个python混用会导致$PYTHONPATH混乱,或者各个工程对于package的版本要求不同等等情况.有一个简单的解决方案就是用virtualenv来隔离多个pyt ...

  8. Maven将依赖包、jar/war包及配置文件输出到指定目录

    使用Maven插件将依赖包 jar包 war包及配置文件输出到指定目录 写在前面 ​ 最近遇到一个朋友遇到一个项目需要将 maven 的依赖包和配置文件分开打包然后用脚本执行程序.这样的好处在于可以随 ...

  9. Redhat 下 XAMPP 安装和部署 DVWA 教程

    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包.这个软件包原来的名字是 LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP 了.它可以在Windo ...

  10. MATLAB线性方程组的迭代求解法

    MATLAB线性方程组的迭代求解法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 一.实验目的 1. 借助矩阵按模最大特征值,判断解方程组的Jacobi ...