poj2279 线性dp
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
int lim[];
ll dp[][][][][];
int main(){
int n;
while(scanf("%d",&n)==){
memset(lim,,sizeof lim);
memset(dp,,sizeof dp);
for(int i=;i<=n;i++) scanf("%d",&lim[i]);
dp[][][][][]=;
for(int i=;i<=lim[];i++){
for(int j=;j<=lim[];j++){
if(j>i)continue;//j>i这种状态不可能成立
for(int k=;k<=lim[];k++){
if(k>j || k>i)continue;
for(int l=;l<=lim[];l++){
if(l>k||l>j||l>i)continue;
for(int m=;m<=lim[];m++){
if(m>l || m>k || m>j || m>i)continue;
if(i+<=lim[]) dp[i+][j][k][l][m]+=dp[i][j][k][l][m];
if(j+<=lim[]) dp[i][j+][k][l][m]+=dp[i][j][k][l][m];
if(k+<=lim[]) dp[i][j][k+][l][m]+=dp[i][j][k][l][m];
if(l+<=lim[]) dp[i][j][k][l+][m]+=dp[i][j][k][l][m];
if(m+<=lim[]) dp[i][j][k][l][m+]+=dp[i][j][k][l][m];
}
}
}
}
}
printf("%lld\n",dp[lim[]][lim[]][lim[]][lim[]][lim[]]);
}
}
poj2279 线性dp的更多相关文章
- LightOJ1044 Palindrome Partitioning(区间DP+线性DP)
问题问的是最少可以把一个字符串分成几段,使每段都是回文串. 一开始想直接区间DP,dp[i][j]表示子串[i,j]的答案,不过字符串长度1000,100W个状态,一个状态从多个状态转移来的,转移的时 ...
- Codeforces 176B (线性DP+字符串)
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28214 题目大意:源串有如下变形:每次将串切为两半,位置颠倒形成 ...
- hdu1712 线性dp
//Accepted 400 KB 109 ms //dp线性 //dp[i][j]=max(dp[i-1][k]+a[i][j-k]) //在前i门课上花j天得到的最大分数,等于max(在前i-1门 ...
- 动态规划——线性dp
我们在解决一些线性区间上的最优化问题的时候,往往也能够利用到动态规划的思想,这种问题可以叫做线性dp.在这篇文章中,我们将讨论有关线性dp的一些问题. 在有关线性dp问题中,有着几个比较经典而基础的模 ...
- POJ 2479-Maximum sum(线性dp)
Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 33918 Accepted: 10504 Des ...
- poj 1050 To the Max(线性dp)
题目链接:http://poj.org/problem?id=1050 思路分析: 该题目为经典的最大子矩阵和问题,属于线性dp问题:最大子矩阵为最大连续子段和的推广情况,最大连续子段和为一维问题,而 ...
- nyoj44 子串和 线性DP
线性DP经典题. dp[i]表示以i为结尾最大连续和,状态转移方程dp[i] = max (a[i] , dp[i - 1] + a[i]) AC代码: #include<cstdio> ...
- 『最大M子段和 线性DP』
最大M子段和(51nod 1052) Description N个整数组成的序列a[1],a[2],a[3],-,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的.如果M &g ...
- 『最长等差数列 线性DP』
最长等差数列(51nod 1055) Description N个不同的正整数,找出由这些数组成的最长的等差数列. 例如:1 3 5 6 8 9 10 12 13 14 等差子数列包括(仅包括两项的不 ...
随机推荐
- python3写入文件时编码问题报错
在字符串写入文件时,有时会因编码问题导致无法写入,可在open方法中指定encoding参数 chfile = open(filename, 'w', encoding='utf-8') 这样可解决大 ...
- ev的offsetX,pageX,clientX和screenX
event.offsetX.event.offsetY(相对事件发生的具体元素左上角的定位) 鼠标相对于事件源元素(srcElement)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性 ...
- POJ 2247 Humble Numbers
A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, ...
- java中数据字典的使用:
数据字典:数据库中一个字段下存在多个值的情况(type:1:肉类 2:素菜类 3:服装类): 分析: 1:这种情况下往往需要新建一张表来对应type下面的字段,通常以---表名--字段名---字段 ...
- Python学习笔记10--unittest参数化
我们在写case的时候,如果用例的操作是一样的,就是参数不同,比如说要测一个登陆的接口,要测正常登陆的.黑名单用户登陆的.账号密码错误的等等,在unittest里面就要写多个case来测试. 这样的情 ...
- Storm WordCount Topology学习
1,分布式单词计数的流程 首先要有数据源,在SentenceSpout中定义了一个字符串数组sentences来模拟数据源.字符串数组中的每句话作为一个tuple发射.其实,SplitBolt接收Se ...
- This page is about building Firefox Desktop
This page is about building Firefox Desktop The Mozilla build system, like the rest of the Mozilla c ...
- Linux - 账户切换授权
sudo 切换账户 echo myPassword | sudo -S ls /tmp # 直接输入sudo的密码非交互,从标准输入读取密码而不是终端设备 visudo # sudo命令权限添加 /e ...
- Linux之Ubuntu无线网络配置
无线网络使用问题: 0.插上有线网络电线与电脑NIC上. 1.set->系统设置->软件和更新->Ubuntu软件->下载自: 选择一个网络服务器地址(软件源)[http: ...
- Wannafly挑战赛21 E 未来城市规划
传送门 题目中给的信息很难直接维护,但是可以考虑一条边对答案的贡献 在以\(x\)为根的子树里,如果一条边\(i\)的权值为\(w_i\),这条边深度更深的端点为\(to_i\),那么这条边对这个子树 ...