有一类与数位有关的区间统计问题。这类问题往往具有比较浓厚的数学味道,无法暴力求解,需要在数位上进行递推等操作。这类问题往往需要一些预处理,这就用到了数位DP。本文地址:http://www.cnblogs.com/archimedes/p/numerical-digit-dp.html,转载请注明源...
分类:
其他好文 时间:
2014-05-26 12:44:11
阅读次数:
260
基础练习 高精度加法
时间限制:1.0s 内存限制:512.0MB
问题描述
输入两个整数a和b,输出这两个整数的和。a和b都不超过100位。
算法描述
由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储。对于这种问题,一般使用数组来处理。
定义一个数组A,A[0]用于存储a的个位,A[1]用于存储a的十位,依此类推。同样...
分类:
其他好文 时间:
2014-05-26 06:14:46
阅读次数:
201
基础练习 阶乘计算
时间限制:1.0s 内存限制:512.0MB
问题描述
输入一个正整数n,输出n!的值。
其中n!=1*2*3*…*n。
算法描述
n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。
将a乘以一个整数k...
分类:
其他好文 时间:
2014-05-26 05:27:07
阅读次数:
271
UVA 12034 - Race
题目链接
题意:给定n匹马,要求出可能的排名情况(可能并列)
思路:递推,dp[i][j]表示i匹马的时候有j种不同名次,那么dp[i][j]可以由dp[i - 1][j - 1]插入j个不同位置得来,或者由dp[i - 1][j]放入已有j的名次得来,得到递推式dp[i][j] = j * (dp[i - 1][j - 1] + dp[i - 1]...
分类:
其他好文 时间:
2014-05-26 05:07:44
阅读次数:
220
题目链接:uva 10497 - Sweet Child Makes Trouble
题目大意:有个小屁孩很淘气,总是趁父母不在家的时候去拿家具玩,每次拿n个家具玩,但是放回去的时候一定不会将某个物品放回原处,一定要打乱。问说有多少放的方式满足。
解题思路:dp[i]表示说i个数打乱的情况,dp[i]=(dp[i?1]+dp[i?2])?(i?1)每次新增一个数,放在序列的最后一个位置...
分类:
其他好文 时间:
2014-05-26 04:53:50
阅读次数:
255
Elegant String
题意:给定一个字符串,由0-k数字组成,要求该串中,子串不包含0-k全排列的方案数
思路:dp[i][j]表示放到i个数字,后面有j个不相同,然后想递推式,大概就是对应每种情况k分别能由那几种状态转移过来,在纸上画画就能构造出矩阵了,由于n很大,所以用快速幂解决
代码:
#include
#include
const long long MOD = ...
分类:
其他好文 时间:
2014-05-25 00:36:34
阅读次数:
211
程序员:左正康
发表时间:2013年12月7日16:11一:系统开发背景:依据“不同地物成分具有各异的反射光谱特征”的原理,高光谱遥感技术则为侦测地物间的细微差别提供了物质基础和技术支持,也就为高精度的目标检测和分类提供了理论依据。在这方面,研究者己经开始将注意力从遥感数据的空间信息转...
分类:
其他好文 时间:
2014-05-23 04:36:45
阅读次数:
257
快速排序如同其名,是排序中性能比较好的一个排序算法,当数组是顺序的话,他的最差的时间复杂度是O(N^2),一般的时间复杂度是O(n*lgn).
快速排序的思想就是分治,每一趟排序过程都把一个数放到最终的位置上面去。然后这个位置把数组分为前半部分和后半部分。针对前半部分和后半部分再递推进行快速排序。
快排的java实现:
public class Sort {
public stat...
分类:
其他好文 时间:
2014-05-23 01:44:26
阅读次数:
218
题目链接:hdu 4826 Labyrinth
题目大意:中文题。
解题思路:不难想的递推,dp[i][j][0]从上面过来的情况,dp[i][j][1]从下面过来的情况,然后这两种情况都可以从前一列走过来。
#include
#include
#include
using namespace std;
const int N = 105;
const int INF = 0...
分类:
其他好文 时间:
2014-05-22 22:42:28
阅读次数:
350
递推算法之一:倒推法1、一般分析思路:if 求解初始条件F1then begin{ 倒推
}由题意(或递推关系)确定最终结果Fn;求出倒推关系式Fi-1 =G(Fi );i=n;{ 从最终结果Fn出发进行倒推 }while
当前结果Fi非初始值F1do 由Fi-1=G(Fi)倒推前项;输出倒推结果F...
分类:
编程语言 时间:
2014-05-21 17:37:50
阅读次数:
267