这题 不算重复的数。。 就变成水题了。

思路:

1.打表

2.DP

打表的:

// by SiriusRen
#include <cstdio>
using namespace std;
int a[6]={0,10,670,55252,4816030,432457640},n;
int main(){
scanf("%d",&n);
printf("%d\n",a[n/2]);
}

第一种DP方法:

f[i][j]表示前i个数,和为j,有f[i][j]种方案。

f[i][j+k]+=f[i-1][j]; k为枚举下一位填什么数字。

// by SiriusRen
#include <cstdio>
using namespace std;
int n,f[6][55],ans=0;
int main(){
scanf("%d",&n),n>>=1;
for(int i=0;i<=9;i++)f[1][i]=1;
for(int i=2;i<=n;i++)
for(int j=0;j<=45;j++)
for(int k=0;k<=9;k++)
f[i][j+k]+=f[i-1][j];
for(int k=0;k<=45;k++)ans+=f[n][k]*f[n][k];
printf("%d\n",ans);
}

第二种DP方法:

f[i][j][k] j表示前i位和为j,k表示后i位 和为k。

f[i][j+x][k+y]+=f[i-1][j][k]; x,y为枚举的中间填的数。

ans+=f[n][i][i]即可。

// by SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,f[7][55][55],ans=0;
int main(){
scanf("%d",&n),n>>=1;
for(int j=0;j<=9;j++)
for(int k=0;k<=9;k++)
f[1][j][k]=1;
for(int i=2;i<=n;i++)
for(int j=0;j<=45;j++)
for(int x=0;x<=9;x++)
for(int k=0;k<=45;k++)
for(int y=0;y<=9;y++)
f[i][j+x][k+y]+=f[i-1][j][k];
for(int k=0;k<=45;k++)ans+=f[n][k][k];
printf("%d\n",ans);
}

POJ 2346 DP or打表的更多相关文章

  1. dp的刷表法和填表法

    dp的刷表法和填表法 参考: 动态规划刷表法 - acmer_xue的博客 - CSDN博客http://blog.csdn.net/qq_30241305/article/details/52198 ...

  2. poj 2346 Lucky tickets(区间dp)

    题目链接:http://poj.org/problem?id=2346 思路分析:使用动态规划解法:设函数 d( n, x )代表长度为n且满足左边n/2位的和减去右边n/2位的和为x的数的数目. 将 ...

  3. 【简单dp】 poj 2346

    题意:给定一个N 求一共有多少个N位数     前N/2个数的和等于后N/2个数的和思路:令F[i][j] 为sum值为j的i位数的个数则问题转化成 求 sum(F[n/2][j] * F[n/2][ ...

  4. POJ 2346 【DP】

    题意: 给一个正的不大于10的偶数n,求n个数字组成的数字串前n/2位和后n/2位的和相等的个数. 思路: dp[i][j]由i位数组成的和为j的数字串的个数. dp[i][j]+=dp[i-1][j ...

  5. hdu 1513 && 1159 poj Palindrome (dp, 滚动数组, LCS)

    题目 以前做过的一道题, 今天又加了一种方法 整理了一下..... 题意:给出一个字符串,问要将这个字符串变成回文串要添加最少几个字符. 方法一: 将该字符串与其反转求一次LCS,然后所求就是n减去 ...

  6. poj 1080 dp如同LCS问题

    题目链接:http://poj.org/problem?id=1080 #include<cstdio> #include<cstring> #include<algor ...

  7. poj 1609 dp

    题目链接:http://poj.org/problem?id=1609 #include <cstdio> #include <cstring> #include <io ...

  8. Palindrome(POJ 1159 DP)

      Palindrome Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 58168   Accepted: 20180 De ...

  9. POJ 1037 DP

    题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...

随机推荐

  1. Scala 大数据 常用算法收集

    一:IP转数字,用于比大小,用在求IP段范围中 def ip2Long(ip: String): Long = { val fragments = ip.split("[.]") ...

  2. Tomcat应用通过Nat123部署到外网(Tomcat+Nat123)

    这里吐槽下,我先想到的方式是用花生壳域名解析,但是花生壳坑太多不易新手操作,用户体验做的不好.然后度娘后才知道有Nat123这个比花生壳简易操作的软件. 1.到nat123官网下载客户端  http: ...

  3. Laravel5 开启Debug

    Laravel默认没有开启Debug,打开需要两步: .env文件中设置APP_DEBUG=true: 把Laravel服务重启一下(摸索出来的). 这只是开启了基本的调试模式,如果需要看更详细的调试 ...

  4. Eclipse中Git的基本使用

    以下所有命令如没有特殊说明,均在命令行中完成(cmd窗口) 1.全局设定(需要告诉git自己是谁)    git config --global user.name "你的名字或昵称&quo ...

  5. PythonOpenCV--Rtrees随机森林

    360确实很个性,哈哈,你个貔貅,只吃不吐! Rtrees介绍!参考链接:http://docs.opencv.org/modules/ml/doc/random_trees.html 原文链接:Py ...

  6. kinect:0x80080014

    changed to 0x83010014 aka E_NUI_NOTCONNECTED? kinect识别问题,重启一下,就可以了.

  7. 如何在CorelDRAW中创建对象阴影

    阴影工具可以为对象创建光线映射的阴影效果,使对象产生较强的立体感.可以为大多数对象或群组对象添加阴影,其中包括美术字.段落文本和位图.创建对象阴影可以增加视觉层次,使图形更加逼真. CorelDRAW ...

  8. apiCloud中aui获取不到高度,pos.h为0,offsetHeight为0问题

    apiCloud中aui获取不到高度,pos.h为0,offsetHeight为0问题 原HTML <div class="row aui-text-center"> ...

  9. VA Code编写html(1)

    <html> <head> <title>my webside</title> <!--win+‘/’注释行--> <!--防止中文乱 ...

  10. Java基础学习总结(61)——Java项目开发要注意的60个问题

    1. 首先写代码的时候最好不要有缺陷.最好的修复方法就是让 bug 胎死腹中. 良好的单元测试 强制数据库约束 使用输入验证框架 避免未实现的"else"条件 在应用到主程序之前知 ...