UVA 10564 Paths through the Hourglass[DP 打印]
UVA - 10564 |
题意:
f[i][j][k]从下往上到第i层第j个和为k的方案数
- #include <iostream>
- #include <cstdio>
- #include <algorithm>
- #include <cstring>
- using namespace std;
- const int N=,M=,INF=1e9;
- typedef long long ll;
- inline int read(){
- char c=getchar();int x=,f=;
- while(c<''||c>''){if(c=='-')f=-;c=getchar();}
- while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
- return x*f;
- }
- int n,s,w[N<<][N];
- ll f[N<<][N][M];
- void dp(){
- memset(f,,sizeof(f));
- for(int j=;j<=n;j++)
- f[n+n-][j][w[n+n-][j]]=;
- //xia
- for(int i=n+n-;i>=n;i--)
- for(int j=;j<=i-n+;j++)
- for(int k=w[i][j];k<=s;k++)
- f[i][j][k]=f[i+][j][k-w[i][j]]+f[i+][j+][k-w[i][j]];
- //shang
- for(int i=n-;i>=;i--)
- for(int j=;j<=n-i+;j++)
- for(int k=w[i][j];k<=s;k++)
- f[i][j][k]=f[i+][j][k-w[i][j]]+f[i+][j-][k-w[i][j]];
- }
- void print(int i,int j,ll k){//printf("print %d %d %d\n",i,j,k);
- if(i==n+n-) return;
- if(i<n){
- if(j>&&f[i+][j-][k-w[i][j]]){
- putchar('L');
- print(i+,j-,k-w[i][j]);
- }else{
- putchar('R');
- print(i+,j,k-w[i][j]);
- }
- }else{
- if(f[i+][j][k-w[i][j]]){
- putchar('L');
- print(i+,j,k-w[i][j]);
- }else{
- putchar('R');
- print(i+,j+,k-w[i][j]);
- }
- }
- }
- int main(){
- //freopen("1.in","r",stdin);
- //freopen("1.out","w",stdout);
- while(scanf("%d%d",&n,&s)!=EOF&&(n||s)){
- memset(w,,sizeof(w));
- for(int i=;i<=n;i++)
- for(int j=;j<=n-i+;j++) w[i][j]=read();
- for(int i=n+;i<=n+n-;i++)
- for(int j=;j<=i-n+;j++) w[i][j]=read();
- dp();
- int p=;
- ll sum=;
- for(int i=n;i>=;i--) if(f[][i][s]){p=i;sum+=f[][i][s];}
- printf("%lld\n",sum);
- if(p) printf("%d ",p-),print(,p,s);
- putchar('\n');
- }
- }
UVA 10564 Paths through the Hourglass[DP 打印]的更多相关文章
- UVA 10564 - Paths through the Hourglass (dp)
本文出自 http://blog.csdn.net/shuangde800 题目传送门 题意: 给一个相上面的图.要求从第一层走到最下面一层,只能往左下或右下走,经过的数字之和为sum. 问有多少 ...
- 01背包(类) UVA 10564 Paths through the Hourglass
题目传送门 /* 01背包(类):dp[i][j][k] 表示从(i, j)出发的和为k的方案数,那么cnt = sum (dp[1][i][s]) 状态转移方程:dp[i][j][k] = dp[i ...
- UVA 10564 Paths through the Hourglass(背包)
为了方便打印路径,考虑从下往上转移.dp[i][j][S]表示在i行j列总和为S的方案, dp[i][j][S] = dp[i+1][left][S-x]+dp[i+1][right][S-x] 方案 ...
- UVA - 10564 Paths through the Hourglass
传送门:https://vjudge.net/problem/UVA-10564 题目大意:给你一张形如沙漏一般的图,每一个格子有一个权值,问你有多少种方案可以从第一行走到最后一行,并且输出起点最靠前 ...
- UVA 10564_ Paths through the Hourglass
题意: 由0-9的数字组成一个形如沙漏的图形,要求从第一行开始沿左下或者右下到达最后一行,问有多少种不同的路径,使最后路径上的整数之和为给定的某个数. 分析: 简单计数dp,从最后一行开始,设dp[i ...
- UVA 10564 十 Paths through the Hourglass
Paths through the Hourglass Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & % ...
- uva 10564
Problem FPaths through the HourglassInput: Standard Input Output: Standard Output Time Limit: 2 Seco ...
- UVA 10163 Storage Keepers(两次DP)
UVA 10163 Storage Keepers(两次DP) http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Ite ...
- uva 11584 Partitioning by Palindromes 线性dp
// uva 11584 Partitioning by Palindromes 线性dp // // 题目意思是将一个字符串划分成尽量少的回文串 // // f[i]表示前i个字符能化成最少的回文串 ...
随机推荐
- python征程1.4(初识python)
1.列表解析. (1)这是一个,让人听起来十分欣喜的术语,代表着你可以通过一个循环将所有值放到一个列表中.python列表解析属于python的迭代中的一种,相比python for循环速度会快很多. ...
- 这个jQuery导航菜单怎么样
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/39.htm HTML文件代码: <!DOCTYPE html> <html xmlns=& ...
- JavaScript学习笔记7 之DOM文档对象模型
一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...
- 爬虫的入门以及scrapy
一.简介 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...
- MyEclipse使用心得:集成和使用Maven的方法
MyEclipse下载:http://www.myeclipsecn.com/download/ 第一步:下载和安装 1.官网下载Maven:http://maven.apache.org/downl ...
- 【转】swift实现ios类似微信输入框跟随键盘弹出的效果
swift实现ios类似微信输入框跟随键盘弹出的效果 为什么要做这个效果 在聊天app,例如微信中,你会注意到一个效果,就是在你点击输入框时输入框会跟随键盘一起向上弹出,当你点击其他地方时,输入框又会 ...
- hotCity 小程序城市选择器, 城市数据库可自己导出
hotCity 城市选择器, 城市数据库可自己导出 后台数据API 由HotApp小程序统计提供并维护,如果需要导出并部署在公司的生产环境,最后有SQL导出下载地址 开源地址 https://gith ...
- ThinkPHP3快速入门教程-:基础
一.ThinkPHP的认识: ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架. 二.下载后的目录结构: ├─ThinkPHP.php 框架入口文件 ├─Commo ...
- jQuery对表格的操作及其他应用
表格操作 1.隔行变色:对普通表格进行隔行换色:单击显示高亮样式:复选框选中高亮 <!DOCTYPE html> <html> <head> <meta ht ...
- windows下安装nginx
说起开发,自己感到非常惭愧,由于公司让我给<绿电侠>项目写整体架构解决方案,才开始接触nginx这个东东,突然觉得它是一把非常好的利器. 本文主要记录在windows下安装nginx,另参 ...