大数+DP,感觉这个DP有点儿抽象,而且这个是大数,wa了很多次。

  1. #include <stdio.h>
  2.  
  3. #define MAXNUM 61
  4. #define MAXLEN 100
  5.  
  6. typedef struct {
  7. char val[MAXLEN];
  8. } src_st;
  9.  
  10. src_st dp[MAXNUM][MAXNUM][MAXNUM];
  11.  
  12. void BigIntAdd(src_st *a, src_st *b) {
  13. int i;
  14.  
  15. for (i=; i<MAXLEN; ++i) {
  16. a->val[i] += b->val[i];
  17. if (a->val[i] >= ) {
  18. a->val[i+]++;
  19. a->val[i] -= ;
  20. }
  21. }
  22. }
  23.  
  24. int main() {
  25. int i, j, k;
  26.  
  27. dp[][][].val[] = ;
  28.  
  29. for (i=; i<MAXNUM; ++i)
  30. for (j=; j<=i; ++j)
  31. for (k=; k<=j; ++k) {
  32. memset(dp[i][j][k].val, , sizeof(dp[i][j][k].val));
  33. if (i->=j)
  34. BigIntAdd(&dp[i][j][k].val, &dp[i-][j][k].val);
  35. if (j->=k)
  36. BigIntAdd(&dp[i][j][k].val, &dp[i][j-][k].val);
  37. if (k)
  38. BigIntAdd(&dp[i][j][k].val, &dp[i][j][k-].val);
  39. }
  40.  
  41. while (scanf("%d", &k) != EOF) {
  42. j = ;
  43. for (i=MAXLEN-; i>=; i--) {
  44. if (j== && dp[k][k][k].val[i] == )
  45. continue;
  46. if (j== && dp[k][k][k].val[i] != )
  47. j = ;
  48. printf("%c", dp[k][k][k].val[i]+'');
  49. }
  50. printf("\n\n");
  51. }
  52.  
  53. return ;
  54. }

【HDOJ】1502 Regular Words的更多相关文章

  1. 【LeetCode】10.Regular Expression Matching(dp)

    [题意] 给两个字符串s和p,判断s是否能用p进行匹配. [题解] dp[i][j]表示s的前i个是否能被p的前j个匹配. 首先可以分成3大类情况,我们先从简单的看起: (1)s[i - 1] = p ...

  2. 【HDOJ】4729 An Easy Problem for Elfness

    其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...

  3. 【HDOJ】【3506】Monkey Party

    DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cst ...

  4. 【HDOJ】【3516】Tree Construction

    DP/四边形不等式 这题跟石子合并有点像…… dp[i][j]为将第 i 个点开始的 j 个点合并的最小代价. 易知有 dp[i][j]=min{dp[i][j] , dp[i][k-i+1]+dp[ ...

  5. 【HDOJ】【3480】Division

    DP/四边形不等式 要求将一个可重集S分成M个子集,求子集的极差的平方和最小是多少…… 首先我们先将这N个数排序,容易想到每个自己都对应着这个有序数组中的一段……而不会是互相穿插着= =因为交换一下明 ...

  6. 【HDOJ】【2829】Lawrence

    DP/四边形不等式 做过POJ 1739 邮局那道题后就很容易写出动规方程: dp[i][j]=min{dp[i-1][k]+w[k+1][j]}(表示前 j 个点分成 i 块的最小代价) $w(l, ...

  7. 【HDOJ】【3415】Max Sum of Max-K-sub-sequence

    DP/单调队列优化 呃……环形链求最大k子段和. 首先拆环为链求前缀和…… 然后单调队列吧<_<,裸题没啥好说的…… WA:为毛手写队列就会挂,必须用STL的deque?(写挂自己弱……s ...

  8. 【HDOJ】【3530】Subsequence

    DP/单调队列优化 题解:http://www.cnblogs.com/yymore/archive/2011/06/22/2087553.html 引用: 首先我们要明确几件事情 1.假设我们现在知 ...

  9. 【HDOJ】【3068】最长回文

    Manacher算法 Manacher模板题…… //HDOJ 3068 #include<cstdio> #include<cstring> #include<cstd ...

随机推荐

  1. NOPI读取EXCEL

    public void ReadEXCEL(string filePath) { IWorkbook wk = null; string extension = System.IO.Path.GetE ...

  2. Bootstrap使用心得

    久闻Twitter的Bootstrap框架强大且易用,近日为改版小丸工具箱的官网特地花了一周实践. 这篇文章总结我在使用Bootstarp中的一些关键点. 1.布局 Bootstrap框架的布局采用了 ...

  3. IO流05_OutputStream和Writer输出流

    [输出流中的字节流和字符流] [OutPutStream和Writer] [ OutputStream和Writer中包含的方法 ] void write(int c)       将指定的字节/字符 ...

  4. 《C#入门典》

    这本书算是我读的第一本关于.NET的书. 上大学的时候,教我们课的老师经常给我们安利"Wrox红皮书",说这是程序员写给程序员的书,有很高的参考价值. 这本书的电子版,有1000多 ...

  5. WF4的数据库 表

    WF4的数据库 表 SQL 建表 SqlPersistenceProviderSchema.sql InstanceData 实例数据表 SqlPersistenceService_Schema.sq ...

  6. PHP程序员的技术成长规划(送给迷茫的你)

    按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...

  7. PYTHON代码摘录

    文件处理 #典型的读取文件代码 row_data = {} with open('PaceData.csv') as paces: column_heading = paces.readline(). ...

  8. Kinetic使用注意点--animation

    new Animation(func, layers) 参数: func:每一帧都会调用一次此函数.此函数接收一个包含四个元素的参数对象,时间单位均为毫秒. { timeDiff:"上一帧和 ...

  9. custom event in javascript and jquery

    javascript: // add a eventListener document.addEventListener("abc", function(){alert('this ...

  10. 使用KVC

    KVC是Key Value Coding的简称,意思是键值编码,号称Cocoa的大招.它是一种可以直接通过字符串key(对象在名称)来访问或修改对象属性的机制. 使用 1.利用KVC可以随意修改一个对 ...