POJ 2346 DP or打表
这题 不算重复的数。。 就变成水题了。
思路:
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打表的更多相关文章
- dp的刷表法和填表法
dp的刷表法和填表法 参考: 动态规划刷表法 - acmer_xue的博客 - CSDN博客http://blog.csdn.net/qq_30241305/article/details/52198 ...
- poj 2346 Lucky tickets(区间dp)
题目链接:http://poj.org/problem?id=2346 思路分析:使用动态规划解法:设函数 d( n, x )代表长度为n且满足左边n/2位的和减去右边n/2位的和为x的数的数目. 将 ...
- 【简单dp】 poj 2346
题意:给定一个N 求一共有多少个N位数 前N/2个数的和等于后N/2个数的和思路:令F[i][j] 为sum值为j的i位数的个数则问题转化成 求 sum(F[n/2][j] * F[n/2][ ...
- POJ 2346 【DP】
题意: 给一个正的不大于10的偶数n,求n个数字组成的数字串前n/2位和后n/2位的和相等的个数. 思路: dp[i][j]由i位数组成的和为j的数字串的个数. dp[i][j]+=dp[i-1][j ...
- hdu 1513 && 1159 poj Palindrome (dp, 滚动数组, LCS)
题目 以前做过的一道题, 今天又加了一种方法 整理了一下..... 题意:给出一个字符串,问要将这个字符串变成回文串要添加最少几个字符. 方法一: 将该字符串与其反转求一次LCS,然后所求就是n减去 ...
- poj 1080 dp如同LCS问题
题目链接:http://poj.org/problem?id=1080 #include<cstdio> #include<cstring> #include<algor ...
- poj 1609 dp
题目链接:http://poj.org/problem?id=1609 #include <cstdio> #include <cstring> #include <io ...
- Palindrome(POJ 1159 DP)
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 58168 Accepted: 20180 De ...
- POJ 1037 DP
题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...
随机推荐
- win10下mysql安装过程中遇到的各种坑
前几天重装系统,又要下回来mysql,但没想到还是遇到了许多麻烦,翻了十多篇博文才搞定,写个总结出来方便以后不要重复踩坑,也给大家参考参考. 1.下载与安装 这个没什么好说的,下载地址网上一大堆,安装 ...
- 利用JavaScript实现文本框改文字功能
<html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...
- eclipse离线安装pydev
首先,下载去http://pydev.org/下载Python的Eclipse插件PyDev. 目前的最新版是PyDev 2.7.1.zip,将压缩文件解压出来.得到features和plugins两 ...
- (转)Bootstrap3 概述
http://blog.csdn.net/duruiqi_fx/article/details/53285607 注意:HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS ...
- vue 项目初始化、mock数据以及安装less
vue 创建一个项目 1.首先建立一个空文件夹,然后将这个文件夹要放到码云或者其他代码管理平台. 例如码云: 在码云上建立一个项目,然后在控制台进入这文件夹执行 git clone 地址是码云上创建的 ...
- Nginx+php-fpm 502 504问题
常出现502,504错误 思路: 增大nginx与php-fpm通信时的缓存文件大小与个数 静态绑定5个php-fpm进程,减少频率启动进程的开销 利用sock文件代替tcp端口通信 解决办法: 调整 ...
- 洛谷P1654 OSU!_概率与期望
Code: #include<cstdio> #include<algorithm> using namespace std; const int maxn = 1000000 ...
- 网络教程(2)光纤和RF编码简介
光纤: 想象一个symbol是light off 另一个是light on 另一种传输信息的方式using radio waves(无线电波: 这个router 内部以很高的频率变换电压 (例如2.4 ...
- 503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Not Found)是同属一种网页状态出错码。前者是服务器出错的一种返回状态,后者是网页程序没有相关的结果后返回的一种状态,需要优化网站的时候通常需要制作404出错页以便网站整体优化。
goldCat1 商城 消息 | 百度首页 新闻网页贴吧知道音乐图片视频地图百科文库 进入词条搜索词条帮助 近期有不法分子冒充官方收费编辑词条,百度百科严正声明:百科词条人人可编辑,词条创建和修改均免 ...
- js中数组常用方法
1.Array.push() 此方法是在数组的后面添加新加元素,此方法改变了数组的长度: var aa=[1,2,3]; var bb=aa.push(4,5); console.log(bb) ...