摘要:
问题:C语言中有struct自定义结构体类型;C++中也有struct类型,而且,与C++中面向对象主要的数据类型class还极为相似。那么,C++中struct和class之间有什么区别,什么情况下使用struct呢?解决办法:从C++语言设计者Bjarne Stroustrup的大作《C++编程语言(特别版)》中归纳C++中struct和class的区别,有以下几点:1. 成员的默认访问权限。struct的成员默认是public的;class的成员默认是private的;2. 默认继承权限。在没有明确指定的情况下,struct的默认继承方式是public,class的默认继承方式是priv 阅读全文
摘要:
题意:是求最长公共子序列的一个变型题;此题中的字符只有A,G,C,T四个,再加上'-';它们之间的不同匹配有对应的不同权值W;而且只有字符相同的匹配的权值为大于0;其他都为负值。此题就是求权值最大的匹配。f[i][j]: 表示第一个字符串的前 i 个字符和第二个字符串的前 j 个字符的最大权值。状态方程:f[i][j]=max(f[i-1][j]+w[a[i]]['-'],f[i][j-1]+w['-'][b[j]],f[i-1][j-1]+w[a[i]][b[j]]);// Time 16ms; Memory 324K#include
usin 阅读全文
摘要:
大致题意:输入一个n层的三角形,第i层有i个数,求从第1层到第n层的所有路线中,权值之和最大的路线。规定:第i层的某个数只能连线走到第i+1层中与它位置相邻的两个数中的一个。f[i][j]:表示第 i 行第 j 列到最后一行的最大权值和;状态方程:f[i][j]=w[i][j]+max(f[i+1][j],f[i+1][j+1]);// Time 157ms; Memory 1236K#include
using namespace std;
int max(int a,int b)
{ return a>b?a:b;
}
int main()
{ int i,j,n,w[355][35 阅读全文