题目链接:http://poj.org/problem?id=1458 解题报告: 1、用二维数组模拟两个字符串上每个子串对应的最长公共子序列。 2、显然,就是要求二维数组最右下的数字 3、递推公式: if(s1[i-1]==s2[j-1]) maxlen[i][j]=maxlen[i-1][j-1
分类:
其他好文 时间:
2016-02-21 12:47:04
阅读次数:
128
题目链接:http://poj.org/problem?id=1163 1、递归思想:第一层到最底层的最优路径可以分解为:第一层到第二层来,再加上第二层的最优路径 状态: Time Limit Exceeded #include <algorithm> #include <stdio.h> #def
分类:
其他好文 时间:
2016-02-21 00:13:15
阅读次数:
379
GCC Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 3993 Accepted Submission(s): 1304 Problem
分类:
其他好文 时间:
2016-02-19 20:30:00
阅读次数:
314
前言:高精度运算。是指參与运算的数(加数。减数,因子……)范围大大超出了标准数据类型(整型,实型)能表示的范围的运算。 模板:包含大数加减乘除。大数与int数的乘法,模板能够不断扩充。 代码: /* 所有亲測可用,可是不能用于负数的运算,仅仅能对正数进行大数运算 */ const int ten[4
分类:
其他好文 时间:
2016-02-19 10:22:00
阅读次数:
203
题 题意 求1到n长度的n根棍子(3≤n≤1000000)能组成多少不同三角形。 分析 我看大家的递推公式都是 a[i]=a[i-1]+ ((i-1)*(i-2)/2-(i-1)/2)/2; 因为以最大长度i 为最大边的三角形有 第二边为i-1、i-2、...2 分别有 i-2个、i-3、... 、
分类:
其他好文 时间:
2016-02-18 06:32:24
阅读次数:
157
A + B Problem II 高精度模板题: 下面我写写需要注意的细节~~ 我的代码里面只在Biginter结构体中写了构造函数和输出函数tostring();构造时使用字符数组构造,可以输入时就输入到字符数组中,这样直接在生成大数对象时就初始化;若是中途想把int型转为Biginter可以使用
分类:
其他好文 时间:
2016-02-17 14:33:53
阅读次数:
201
简单DP。dp[i][j]表示把前i个数字分成j段的最优解, 递推式很容易写: (其中sum[]是前缀和;p <= i - L,并且前p个数能分成j-1段,下文不再说明p的范围,都是一样的) 得到递推式之后暴力DP的话复杂度为o(n*n*k),显然超时。 递推式可以变形成这样: 现在,想求得dp[i
分类:
其他好文 时间:
2016-02-17 12:30:18
阅读次数:
130
组合数并不陌生(´?ω?`) 我们都学过组合数 会求组合数吗 一般我们用杨辉三角性质 第n行,第m个就是,就是C(n, m) (从0开始) 电脑上我们就开一个数组保存,像这样 用递推求 1 #include<cstdio> 2 const int N = 2000 + 5; 3 const int
分类:
其他好文 时间:
2016-02-17 06:09:18
阅读次数:
326
数据类型:一:值类型:简单类型: 整型 有符号整型:sbyte,short,int,long 无符号整型:byte,ushort,uint,ulong Unicode字符型:char ieee浮点型:double,float, 高精度小数:decimal 布尔型:bool 两个值;true,fals
Description 给出两个正整数A和B,计算A-B的值。保证A和B的位数不超过500位。 Input 读入两个用空格隔开的正整数 Output 输出A-B的值 Sample Input 3 12 Sample Output -9 Hint 两个正整数的位数不超过500位 #include<io
分类:
其他好文 时间:
2016-02-16 09:55:06
阅读次数:
98