poj3934Queue(dp)
题目链接:
啊哈哈,点我点我
题意:
有n个幼儿园的孩纸。然后从中找出m对孩子可以让他们看到两方,这样以便他们交流。。
思路:
首先能够考虑把n-1个人已经排成了m-2对。那么仅仅须要把这个最矮的随便插在队伍就能够凑成m对了。第二种情况是先排成m-1对。然后把最矮的那一个放在对首或者队尾。这样就到了状态转移方程。
if(j>=2)
dp[i][j]=dp[i-1][j-2]*(i-2)
if(j>=1)
dp[i][j]=dp[i][j]+dp[i-1][j-1]*2;
然后最開始把1个人2个人的全部状态枚举出来。。
然后对题目中给的范围进行预处理得到全部解。然后直接询问就可以。问题就得到了完美的解决。
题目:
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 406 | Accepted: 179 |
Description
can see each other, they will talk to each other. Two kids can see each other if and only if all kids between them are shorter then both of them, or there are no kids between them. Kids do not only look forward, they may look back and talk to kids behind them.
Linda don’t want them to talk too much (for it’s not safe), but she also don’t want them to be too quiet(for it’s boring), so Linda decides that she must form a line in which there are exactly m pairs of kids who can see each other. Linda wants to know, in
how many different ways can she form such a line. Can you help her?
Note: All kids are different in height.
Input
Input ends by a line containing two zeros.
Output
Sample Input
1 0
2 0
3 2
0 0
Sample Output
1
0
4
Source
代码为:
#include<cstdio>
#include<cstring>
#include<iostream>
#define mod 9937
using namespace std;
int dp[80+10][10000+10];
void init()
{
memset(dp,0,sizeof(dp));
dp[1][0]=1;
dp[2][1]=2;
for(int i=3;i<=81;i++)
for(int j=1;j<=10001;j++)
{
if(j>=2) dp[i][j]=(dp[i-1][j-2]*(i-2))%mod;
if(j>=1) dp[i][j]=(dp[i][j]+dp[i-1][j-1]*2)%mod;
}
}
int main()
{
int n,m;
init();
while(~scanf("%d%d",&n,&m))
{
if(n==0&&m==0) return 0;
cout<<dp[n][m]<<endl;
}
return 0;
}
#include<cstring>
#include<iostream>
#define mod 9937
using namespace std; int dp[80+10][10000+10]; void init()
{
memset(dp,0,sizeof(dp));
dp[1][0]=1;
dp[2][1]=2;
for(int i=3;i<=81;i++)
for(int j=1;j<=10001;j++)
{
if(j>=2) dp[i][j]=(dp[i-1][j-2]*(i-2))%mod;
if(j>=1) dp[i][j]=(dp[i][j]+dp[i-1][j-1]*2)%mod;
}
} int main()
{
int n,m;
init();
while(~scanf("%d%d",&n,&m))
{
if(n==0&&m==0) return 0;
cout<<dp[n][m]<<endl;
}
return 0;
}
poj3934Queue(dp)的更多相关文章
- LightOJ 1033 Generating Palindromes(dp)
LightOJ 1033 Generating Palindromes(dp) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid= ...
- lightOJ 1047 Neighbor House (DP)
lightOJ 1047 Neighbor House (DP) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87730# ...
- UVA11125 - Arrange Some Marbles(dp)
UVA11125 - Arrange Some Marbles(dp) option=com_onlinejudge&Itemid=8&category=24&page=sho ...
- 【POJ 3071】 Football(DP)
[POJ 3071] Football(DP) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4350 Accepted ...
- 初探动态规划(DP)
学习qzz的命名,来写一篇关于动态规划(dp)的入门博客. 动态规划应该算是一个入门oier的坑,动态规划的抽象即神奇之处,让很多萌新 萌比. 写这篇博客的目标,就是想要用一些容易理解的方式,讲解入门 ...
- Tour(dp)
Tour(dp) 给定平面上n(n<=1000)个点的坐标(按照x递增的顺序),各点x坐标不同,且均为正整数.请设计一条路线,从最左边的点出发,走到最右边的点后再返回,要求除了最左点和最右点之外 ...
- 2017百度之星资格赛 1003:度度熊与邪恶大魔王(DP)
.navbar-nav > li.active > a { background-image: none; background-color: #058; } .navbar-invers ...
- Leetcode之动态规划(DP)专题-详解983. 最低票价(Minimum Cost For Tickets)
Leetcode之动态规划(DP)专题-983. 最低票价(Minimum Cost For Tickets) 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行.在接下来的一年里,你要旅行的 ...
- 最长公共子序列长度(dp)
/// 求两个字符串的最大公共子序列长度,最长公共子序列则并不要求连续,但要求前后顺序(dp) #include <bits/stdc++.h> using namespace std; ...
随机推荐
- 文件系统、mkdir、touch、nano、cp笔记
文件系统:rootfs: 根文件系统 FHS:Linux发行版目录层级遵循协议 /boot: 系统启动相关的文件,如内核.initrd,以及grub(bootloader)引导加载器/dev: 设备文 ...
- 3 x 8 = 23(火了)
颜回爱学习,德性又好,是孔子的得意门生.一天,颜回去街上办事,见一家布店前围满了人.他上前一问,才知道是买布的跟卖布的发生了纠纷. 只听买布的大嚷大叫:「三八就是二十三,你为啥要我二十四个钱?」颜回走 ...
- 用Unity做的一个小游戏,仿照一个样例写的,个人认为文章写的不错,哈哈
- Velocity.js发布:更快的动画切换速度
Velocity.js是一款动画切换的jQuery插件,它重新实现了jQuery的$.animate()方法从而加快动画切换的速度.Velocity.js只有7k的大小,它不仅包含了$.animate ...
- Javascript中闭包的作用域链
作用域定义了在当前上下文中能够被访问到的成员,在Javascript中分为全局作用域和函数作用域,通过函数嵌套可以实现嵌套作用域. 闭包一般发生在嵌套作用域中.闭包是JavaScript最强大的特性之 ...
- 【高精度练习+卡特兰数】【Uva1133】Buy the Ticket
Buy the Ticket Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent
修改pom.xml文件,添加以下属性 <project> ... <properties> <project.build.sourceEncoding>UTF-8& ...
- EntityFramework1
1.ORM都是Select * ,即使不需要某些字段,也要查询出来,效率是否很低. 可以使用视图来解决,比如对于列表页,可以定义一个视图,只查询列表中需要使用的字段,然后将列表映射为实体 2.ORM中 ...
- JQ 动态添加节点
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 解决升级Xcode后插件不能使用的问题
从Xcode 5开始,苹果要求加入UUID证书从而保证插件的稳定性.因此Xcode版本更新之后需要在插件的Info.plist文件中添加当前Xcode的UUID. 具体步骤如下: 1.获取Xcode的 ...