3 ≤ n ≤ 20, 1 ≤ t ≤ 10

如此小的数据接下来就能各种暴力了===

dp[i][j][k][t1][t2]表示前i个字符的最后两个是j和k已有t1个峰t2个谷

枚举当前放的数,转移方程容易思考了=

复杂度是20*4*4*10*10*4==轻松过啊

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 using namespace std;
 5 int dp[21][5][5][11][11];
 6 int main()
 7 {
 8   int ans,n,t,i,j,k,x,y,l;
 9   scanf("%d%d",&n,&t);
10   memset(dp,0,sizeof(dp));
11   for (i=1;i<=4;i++)
12     for (j=1;j<=4;j++) dp[2][i][j][0][0]=i!=j;
13   for (i=3;i<=n;i++)
14     for (j=1;j<=4;j++)
15       for (k=1;k<=4;k++)
16           for (x=0;x<=t;x++)
17             for (y=0;y<=t;y++)
18               for (l=1;l<=4;l++)
19                 if (k!=l)
20     dp[i][k][l][x+(j<k&&k>l)][y+(j>k&&k<l)]+=dp[i-1][j][k][x][y];
21   ans=0;
22   for (i=1;i<=4;i++)
23     for (j=1;j<=4;j++) ans+=dp[n][i][j][t][t-1];
24   printf("%d\n",ans);
25   return 0;
26 }

View Code

题目链接:http://codeforces.com/problemset/problem/14/E

转载于:https://www.cnblogs.com/xiao-xin/articles/4370479.html

CodeForces 14E Camels :利用1-4拼成长为n的序列,使准确含有t个峰t-1个谷,求方案数 :dp...相关推荐

  1. CodeForces - 14E Camels【DP】

    题目链接:https://codeforces.com/contest/14/problem/E dp[pos][i][j][a][b]dp[pos][i][j][a][b]dp[pos][i][j] ...

  2. codeforces 14E. Camels(多维dp)

    题目链接:http://codeforces.com/problemset/problem/14/E 题意:就是给出n个点要求画出t个波峰和t-1个波谷 很显然要t个波峰和t-1个波谷开始是波动一定是 ...

  3. Codeforces 14E Camels (DP)

    题意:给你一个数N,从1到N形成t个波峰和t-1个波谷,总共有多少种情况. 思路:将问题分解为求2*t-1个转折点,设dp[x][y][t]为当最后一点落在(x,y)上时,出现t个转折点的总数.那么对 ...

  4. 动态规划之如何将问题抽象转化为0-1背包问题(详解利用动态规划求方案数)

    ⭐️前面的话⭐️ 本篇文章介绍如何对问题抽象转化成0-1背包问题求解和运用0-1背包求方案数.

  5. 【CodeForces】【DP】14E Camels

    CodeForces 14E Camels 题目 ◇题目传送门◆ 题目大意 给定N,TN,TN,T要求求出满足下列条件的填数方案数. 1. 对于第j(2≤j≤N−1)j(2≤j≤N−1)j(2\le ...

  6. 利用MFC按钮使能(或禁用)属性使按钮变正常色(或灰色)

    利用MFC按钮使能(或禁用)属性使按钮变正常色(或灰色) GetDlgItem(IDC_XXX)->EnableWindow(FALSE)//IDC_XXX为你想变灰的按钮的ID 利用你找到的h ...

  7. python找列表中相邻数的个数_利用python求相邻数的方法示例

    前言 本文主要给大家介绍了关于利用python求相邻数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 什么是相邻数? 比如5,相邻数为4和6,和5相差1的数,连续相差为1的 ...

  8. 蓝桥杯 算法提高 编程求解根号3 进行数学运算是计算机的主要能力,利用计算机的重复计算能力可以帮助人们求解一些十分复杂的数学运算,比如高次方程、求根,求平方等。根号运算是数学的基本运算,对于无理数

    问题描述 进行数学运算是计算机的主要能力,利用计算机的重复计算能力可以帮助人们求解一些十分复杂的数学运算,比如高次方程.求根,求平方等.根号运算是数学的基本运算,对于无理数的求解,我们可以使用两边取值 ...

  9. android 照片拼接长图_我才发现,微信里面有一个功能,能将手机照片自动拼成长图...

    微信朋友圈发图片有限制,一次只能发9张,超过就发送不了.那么喜欢拍照的朋友肯定肯定想一次性多分享几张,其实微信自带拼接长图功能,多张照片上传,就能变成一张长图,一次性在朋友圈分享几十张图片都可以. 微 ...

最新文章

  1. mysql数据库移植到另一台电脑,将mysql数据库从一台计算机复制到另一台计算机...
  2. 测试 ClownFish、CYQ、Entity Framework、Moon、MySoft、NHibernate、PDF、XCode数据访问组件性能...
  3. Linux下mysql主从配置
  4. cadence16.6 中orcad导出网表时ERROR (ORCAP-5004)(win7 旗舰版32位)
  5. java json格式字符串转为map_json格式的字符串序列化和反序列化的一些高级用法...
  6. 挑选合适自己的一门编程语言
  7. HTMLCSS 超简单的前端设计入门-1!
  8. Linux Mysql创建用户
  9. 雪碧+滑动门,自适应宽度菜单
  10. 一篇关于感情的文章(转) PS:觉得写得还不错,虽然有些还做不到
  11. 电话机器人源码可以低成本高效率为OEM代理前景保驾护航
  12. dwt:动态时间规整
  13. 017年Android百大框架排行榜
  14. python如何调用数学函数_Python_函数调用_数学函数_组合
  15. python3.8零基础入门教程_正版 Python 3.8编程快速入门 针对wan全零基础入门的读者 采用*小化安装+极简代码的教学...
  16. 然后卸载干净matlab,安装与卸载
  17. 日常学习记录一_mcufly串口下载
  18. UOS 22.0家庭版使用体验
  19. DebugView使用方法
  20. python 使用poster模块进行http方式的文件传输到服务器的方法

热门文章

  1. HDOJ杭电2044
  2. 基于chrome内核的.NET开发资源
  3. java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
  4. 使用 Nginx 提升网站访问速度
  5. STL之vetor 排序
  6. 访问Access数据库需要注意的问题
  7. 通过Windows API 创建窗口的过程理解windows消息机制
  8. MFC启动和关闭线程
  9. C#sql帮助类(登录查询界面)语句实例
  10. ubantu自带防火墙的相关使用