- 博客(6)
- 收藏
- 关注
原创 hdu Knight Moves
这题刚看的时候硬是没搞懂,knight,这英语。。。不想说什么。后来在网上搜索了一下题意才知道是按象棋里面马那样斜着走。 用广搜,把每一个位置的步数记录,八个方向搜索。 这题刚开始用数组存步数,然后由于总是Output Limit Exceeded,实在找不出原因,改用num记数,还一样,再改用结构体中的stp, 也还是Output Limit Exceeded,其实这根本就不是这个问题!
2014-03-29 17:01:21 533
原创 hdu 1016 Prime Ring Problem
此题用回溯,原来的时候一直wa,很郁闷,提交了十来次,最后发现时存素数的那个数组开小了,19+20 最多能有四十,原来才开了20; #include #include int a[22], n, p[50], v[22]; int num=1,flag; int prime(int x) { int i; if(x==1) return 1;
2014-03-28 16:27:55 385
转载 hdu children's queue
#include int f[1001][300]; int main() { int i,j,wei=0,n; f[1][0]=1; f[2][0]=2; f[3][0]=4; f[4][0]=7; for(i=5;i { for(j=0;j { f[i][j]=f[i-1][j]+f[i-2][j]+f[i-4][j]+wei; wei=0; if(f[i][j]
2014-03-16 17:40:38 481
转载 大数相乘
#include #include #include #define N 200 int a[N]={0},b[N]={0},c[2*N]={0}; char s1[N],s2[N],i,j,len; int n,m; void getdigits(int *a,char *s) { len = strlen(s); for(i = 0; i a[len-1-
2014-03-09 16:08:13 429
翻译 Super Jumping! Jumping! Jumping!
纠结了很久,总算看懂了!留作纪念,dp问题实在有点抽象 #include using namespace std; int max(int x,int y) { return x>y?x:y; } int main() { int dp[1001],a[1001],n,i,j,tot,maxx; while(~scanf("%d",&n)&&n) { for(i=0;
2014-03-09 15:41:56 453
转载 DP基础问题若干(ACM/ICPC) 来自http://blog.csdn.net/accry/article/details/6607593
【TOJ1765】最长上升子序列 状态表示:dp[i] 以a[i]为数列的最后一个数时最长上升子序列的长度 状态转移方程:if(a[i] >a[k])dp[i] = max(dp[i],dp[k]+1); 1 代码: [cpp] view plaincopyprint? #include #include using namespace std;
2014-03-09 10:51:33 633
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人