ALGO-9_蓝桥杯_算法训练_摆动序列(DP)
问题描述
如果一个序列满足下面的性质,我们就将它称为摆动序列:
. 序列中的所有数都是不大于k的正整数;
. 序列中至少有两个数。
. 序列中的数两两不相等;
. 如果第i – 1个数比第i – 2个数大,则第i个数比第i – 2个数小;如果第i – 1个数比第i – 2个数小,则第i个数比第i – 2个数大。
比如,当k = 3时,有下面几个这样的序列:
一共有8种,给定k,请求出满足上面要求的序列的个数。
输入格式
输入包含了一个整数k。(k<=)
输出格式
输出一个整数,表示满足要求的序列个数。
样例输入 样例输出
记:
注意题目给的条件(当数字大于2时的条件判断,不满足时立即跳出)
AC代码:
#include <stdio.h>
#define N 20 int k;
int count = ;
int use[N+] = {}; /*数据存储*/
int vis[N+] = {}; /*访问标记*/ void dfs(int x)
{
int i,j;
int flag;
if (x >= )
{
count ++;
} if (x > k)
{
return ;
} for (i = ; i <= k ; i ++)
{
if (!vis[i])
{
flag = ;
use[x] = i;
for (j = x ; j >= ; j --)
{
if (use[j-]>use[j-] && use[j]>use[j-])
{
flag = ;
break;
}
else if (use[j-]<use[j-] && use[j]<use[j-])
{
flag = ;
break;
}
}
if (flag)
continue;
vis[i] = ;
dfs(x+);
vis[i] = ;
}
} return ;
} int main(void)
{
scanf("%d",&k);
dfs();
printf("%d",count); return ;
}
ALGO-9_蓝桥杯_算法训练_摆动序列(DP)的更多相关文章
- [蓝桥杯]ALGO-20.算法训练_求先序排列
		
问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=). 输入格式 两行,每行一个字符串,分别表示中序和后序排列 输出格式 一个字符串,表示所求 ...
 - [蓝桥杯]ALGO-16.算法训练_进制转换
		
问题描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*102+2*101+3*100这样 ...
 - [蓝桥杯]ALGO-15.算法训练_旅行家的预算
		
问题描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的).给定两个城市之间的距离D1.汽车油箱的容量C(以升为单位).每升汽油能行驶的距离D2.出发点每升汽油价格P和沿 ...
 - [蓝桥杯]ALGO-124.算法训练_数字三角形
		
问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●<三角形行数≤: ●三角 ...
 - [蓝桥杯]ALGO-122.算法训练_未名湖边的烦恼
		
问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩. 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个.现在 ...
 - [蓝桥杯]ALGO-116.算法训练_最大的算式
		
问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...
 - [蓝桥杯]ALGO-101.算法训练_图形显示
		
问题描述 编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数): * * * * * * * * * * * * * * * 题目描述 代码如下: #include < ...
 - [蓝桥杯]ALGO-97.算法训练_排序
		
题目描述: 问题描述 编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列. 输入格式:输入只有一行,即三个整数,中间用空格隔开. 输出格式:输出只有一行,即排序后的结果. 输入输出 ...
 - [蓝桥杯]ALGO-92.算法训练_前缀表达式
		
问题描述 编写一个程序,以字符串方式输入一个前缀表达式,然后计算它的值.输入格式为:“运算符 对象1 对象2”,其中,运算符为“+”(加法).“-”(减法).“*”(乘法)或“/”(除法),运算对象为 ...
 - [蓝桥杯]ALGO-90.算法训练_出现次数最多的整数
		
问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来.如果有两 ...
 
随机推荐
- sql  ''增删改'' 笔记
			
结构语言分类 DDL(数据定义语言) create drop alter 创建删除以及修改数据库,表,存储过程,触发器,索引.... DML(数据操作语言) insert delete ...
 - 通过更改服务器解决双系统ubuntu时间+8
			
安装ntpdate: sudo apt-get install ntpdate 设置校正服务器: sudo ntpdate time.windows.com 设置硬件时间为本地时间: sudo hwc ...
 - Python字符编码转换
			
编码回顾 在备编码相关的课件时,在知乎上看到一段关于Python编码的回答这哥们的这段话说的太对了,搞Python不把编码彻底搞明白,总有一天它会猝不及防坑你一把.不过感觉这哥们的答案并没把编码问题写 ...
 - heap 的一些用法
			
noip 合并果子 #include<bits/stdc++.h> using namespace std; int heap[maxn]; ; void input(int d) { ...
 - JS push对象
			
var zoom = page.maps.maps._map.getZoom(), centerPoint = page.maps.maps._map.getCenter(); data = $(&q ...
 - 从 Godaddy 转移域名到 Namesilo
			
域名本来是在 Godaddy 上注册的,首付很便宜,但是续费时发现是个坑,续费一年是 102 元,再加上隐私保护 60元/年,总共一年需要 160 元,续费贵而且一点优惠也没. 对比下其他商家一年只要 ...
 - What is Zeebe?
			
转自:https://zeebe.io/what-is-zeebe/ Zeebe is a workflow engine for microservices orchestration. This ...
 - 远程连接mysql数据库碰到的问题及解决方案
			
直接用SecureCRT登录到我的linux服务器,连接mysql后出现以下错误 然后我用root用户登录到mysql查看了我的用户信息,如下 出现问题1的原因有很多种,我这里是因为用错了yangli ...
 - 目前支持WebGL的浏览器有哪些?
			
Google Chrome 9+ Mozilla Firefox 4+ Safari 5.1+(仅限于Mac OS X操作系统,不包括Windows) Opera 12 alpha及以上版本 IE9+ ...
 - 曾经很强大的免费 ERP 2BizBox
			
曾经很强大的免费 ERP 2BizBox 整个功能很强大,特别是生产,工单也很完善,有损耗,有反冲等功能. 流程比较规矩,需要先采购后才能使用,只有生产后才能销售,工单有组装和拆装,工程有工程更改,也 ...