接着上面的问题,如果这个矩阵中有阻塞的障碍,就不能用前面的那种组合数的方法了,因为很多位置实际上是没有路的嘛。
剩下的合理解法只有dp了。跟那个求最小和的非常像,从右下角往前推算,对于一个位置(i, j),它的走法应该是(i+1, j)和(i, j+1)走法的和。对于边界条件还是有一些特殊,最后一行,从右往左,如果是0的话没有问题,等于右侧走法的个数,一旦遇到一个1,那么它以及它左边的走法都必须...
分类:
其他好文 时间:
2014-05-14 01:00:13
阅读次数:
305
绝对值最小
题目详情:
给你一个数组A[n],请你计算出ans=min(|A[i]+A[j]|)(0
例如:A={1, 4, -3},
则:
|A[0] + A[0]| = |1 + 1| = 2.
|A[0] + A[1]| = |1 + 4| = 5.
|A[0] + A[2]| = |1 + (-3)| = 2.
|A[1] + A[1]| =...
分类:
其他好文 时间:
2014-05-14 00:43:00
阅读次数:
286
题目来源:POJ 2992 Divisors
题意:。。。
思路:素数分解的唯一性 一个数可以被分解成若干素数相乘 p1^x1*p2^x2*...*pn^xn
根据乘法原理 因子数为 (x1+1)*(x2+1)*...*(xn+1)
不能直接求出组合数 会溢出 也不能把每个乘的数分解因子 这样会超时
C(N,M)=N!/(M!*(N-M)!)
另dp[i][j] 代表为i的阶乘中j因子...
分类:
其他好文 时间:
2014-05-13 09:28:07
阅读次数:
207
上得厅堂,下得厨房,写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练!
题目:等值数目
内容:已知两个整数数组f[]与g[],它们的元素都已经从小到大排列好,而且两个数组中的元素都各不相同。例如,f[]中有1,3,4,7,9,
而g[]中有3,5,7,8,10。试编写程序算出这两个数组之间有多少组相同的元素。...
分类:
其他好文 时间:
2014-05-13 08:14:14
阅读次数:
233
二进制相加,本质上就是大整数加法,有关大整数加法我的舍友教过我一个很好的方法,先用一个int数组保存结果,将两个数对应位置相加,全部加完后,再统一处理进位的问题。这个方法同样适用于大整数的乘法。
这个题没什么特别的,注意一下进位别搞错了就行了,还有其实不用像我写的这么麻烦,可以一开始先判断哪个更长一些,交换一下。代码会简洁很多。class Solution {
public:
strin...
分类:
其他好文 时间:
2014-05-13 08:02:00
阅读次数:
239
又是那种看上去非常简单,但非常难过的问题,主要是所有的测试用例很难考虑全面。下面我列举出所有的情况:
1. 字符串前面是可以含有空格的,但是全部都是空格是不行的。
2. 一个数字开头可以是哪些字符呢?很容易想到的是“+”和“-”,但是别忘记还有小数点。
3. 一个数字中间也是可以含有字符的,比如科学计数法的“e”,而且e之后是可以接“+”或者“-”的。但是要注意e是不是作为数字的开头或者结尾...
分类:
其他好文 时间:
2014-05-13 07:16:48
阅读次数:
232
A Points and Segments (easy)
智商题,(智商急~)
/***********************************************************
*分析:只要按Xi从小到大染成1010101010... ,
*1、0间隔的的序列就能保证对于任意区间[l, r]中1的个数和0的个数之差小于等于1。
*注意:由于输入的Xi可能是无...
分类:
其他好文 时间:
2014-05-13 06:22:24
阅读次数:
274
几乎所有编程语言中都提供了"生成一个随机数"的方法,也就是调用这个方法会生成一个数,我们事先也不知道它生成什么数。比如在.Net中编写下面的代码:
Random rand = newRandom();
Console.WriteLine(rand.Next());
运行后结果如下:
Next()方法用来返回一个随机...
分类:
编程语言 时间:
2014-05-13 00:31:16
阅读次数:
484
题意:计算a-b中各个数字出现的个数;
解法:数位dp(思想都是先算1-b的个数,然后减掉1-a中的个数),1-9数字的计算和前边计算1的那一篇数位dp差不多,计算0时候要加一维表示前缀是否全是0;
代码:/******************************************************
* author:xiefubao
*****************...
分类:
其他好文 时间:
2014-05-12 23:51:12
阅读次数:
470
#include using namespace std;#define
TestArrayLengthA(A) sizeof(A)/sizeof(*A)#define TestArrayLengthB(B)
sizeof(B)/sizeof(B[0])//这样测出的是数组可以放多少个元素,比如Ar...
分类:
其他好文 时间:
2014-05-12 19:46:09
阅读次数:
374