题目大意:n个不同身高的队员和教练的按照身高排成波浪形……
每个人按照身高由低到高编号,
其中第m个是教练,他必须在第一个,
如果条件允许,排第二的要比m低,
如果条件不允许,即其余人都比教练高,则要让差距尽可能小,求排队方案数。

题目思路:

dp_up[i][j],代表i个人排队,第j个人排在队首,且第二个人小于第一个人的方案数

dp-down[i][j],代表i个人排队,第j个人排在队首,且第二个人大于第一个人的方案数

那么dp_up[i][j] = Sum(dp_down[i-1][j]),因为要求第二个人高于第一个人,所以i<j<=n

那么dp_down[i][j] = Sum(dp_up[i-1][j]),1<=j<j。

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#define MAXSIZE 505
#define LL unsigned long long using namespace std; LL dp_up[MAXSIZE][MAXSIZE],dp_down[MAXSIZE][MAXSIZE]; LL Solve(int n,int k)
{
if(k==)
{
if(n <= )
return ;
else
return dp_down[n-][];
} LL ans = ;
for(int i=;i<k;i++)
ans += dp_up[n-][i];
return ans;
} int main()
{
memset(dp_up,,sizeof(dp_up));
memset(dp_down,,sizeof(dp_down));
//for(int i=1;i<=50;i++)
dp_up[][] = dp_down[][] = ;
for(int i=;i<=;i++)
{
for(int j=;j<=i;j++)
{
for(int q=;q<j;q++)
{
dp_down[i][j] += dp_up[i-][q];
} for(int q=j;q<=i;q++)
{
dp_up[i][j] += dp_down[i-][q];
}
}
}
int T,n,k,cns=;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&k);
LL ans = Solve(n,k);
printf("Case %d: %llu\n",cns++,ans);
}
return ;
}

1173 - The Vindictive Coach的更多相关文章

  1. lightoj 1173 - The Vindictive Coach(dp)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1173 题解:像这种题目显然可以想到n为几时一共有几种排列可以递推出来.然后就是 ...

  2. LightOJ - 1173 - The Vindictive Coachf(DP)

    链接: https://vjudge.net/problem/LightOJ-1173 题意: The coach of a football team, after suffering for ye ...

  3. URAL 2089 Experienced coach Twosat

    Description Misha trains several ACM teams at the university. He is an experienced coach, and he doe ...

  4. Codeforces Round #181 (Div. 2) B. Coach 带权并查集

    B. Coach 题目连接: http://www.codeforces.com/contest/300/problem/A Description A programming coach has n ...

  5. Codevs 1173 最优贸易 2009年NOIP全国联赛提高组

    1173 最优贸易 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description [问题描述] C 国有n ...

  6. Coach(并查集)

    Description A programming coach has n students to teach. We know that n is divisible by 3. Let's ass ...

  7. 轻奢品牌全面崛起 Coach、UGG等纷纷抢滩新兴市场_新闻中心_赢商网

    轻奢品牌全面崛起 Coach.UGG等纷纷抢滩新兴市场_新闻中心_赢商网 轻奢品牌全面崛起 Coach.UGG等纷纷抢滩新兴市场

  8. NEU 1173: 这是物理学的奇迹!! 分解质数

    1173: 这是物理学的奇迹!! 题目描述 goagain在做物理电学实验时需要一个2Ω的电阻,但是他发现他的实验台上只剩下了3Ω,4Ω,5Ω,6Ω的电阻若干,于是goagain把两个4Ω的电阻并联起 ...

  9. WOJ 124. Football Coach 网络流

    Problem 1124 - Football Coach Description It is not an easy job to be a coach of a football team. Th ...

随机推荐

  1. linux driver ------ GPIO的驱动编写和调用

    判断哪些文件被编译进内核: 1.通过 make menuconfig 查看 2.比如查看gpio类型的文件,输入 ls drivers/gpio/*.o,有生成.o文件表示被编译进内核 在编写驱动程序 ...

  2. CodeForces922E DP//多重背包的二进制优化

    https://cn.vjudge.net/problem/1365218/origin 题意 一条直线上有n棵树 每棵树上有ci只鸟 在一棵树底下召唤一只鸟的魔法代价是costi 每召唤一只鸟,魔法 ...

  3. 数据挖掘的标准流程-CRISP-DM

    1.起源 CRISP-DM (cross-industry standard process for data mining), 即为"跨行业数据挖掘过程标准".此KDD(know ...

  4. 全局拦截各种http请求

    http请求无非就是ajax.src.href.表单 function hookAJAX() { XMLHttpRequest.prototype.nativeOpen = XMLHttpReques ...

  5. JavaSE_坚持读源码_HashMap对象_get_Java1.7

    当你从HashMap里面get时,你其实在干什么? /** * Returns the value to which the specified key is mapped, * or {@code ...

  6. SQL语法基础之CREATE语句

    SQL语法基础之CREATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.使用“?”来查看MySQL命令的帮助信息 mysql> ? CR ...

  7. 网络编程基础【day09】:socket接收大数据(五)

    本节内容 1.概述 2.socket接收大数据 3.中文字符的坑 一.概述 上篇博客写到了,就是说当服务器发送至客户端的数据,大于客户端设置的数据,则就会把数据服务端发过来的数据剩余数据存在IO缓冲区 ...

  8. python (大文件下载及进度条展示) 验证客户端链接的合法性,socketserver

    ##########总结########### 文件校验加进度条显示 ####server import os import json import socket import struct impo ...

  9. Hbase记录-HBase性能优化指南

    垃圾回收优化当region服务器处理大量的写入负载时,繁重的任务会迫使JRE默认的内存分配策略无法保证程序的稳定性 所以我们可能需要对region服务器的垃圾回收机制进行一些参数调整(因为master ...

  10. GET和POST传输方式

    GET和POST传输 在很多人看来,get和post的区别有比如安不安全,传输有大小限制等,在这里,我将对get和post做出客观的评价: GET: 传输方法:get传输数据一般是在地址栏的url的问 ...