problemsolutioncodes#include<iostream>using namespace std;int h[110],f[110],f2[110], ans;int main(){ int n; cin>>n; for(int i = 1; i <= n; i++)cin>>h[i]; ...
原创 2023-02-08 14:52:13
52阅读
洛谷 P1091 合唱队形 https://www.luogu.org/problemnew/show/P1091 JDOJ 1271: [NOIP2004]合唱队形 T3 https://neooj.com/oldoj/problem.php?id=1271 题目描述 NN位同学站成一排,音乐老师
转载 2019-07-24 10:23:00
91阅读
2评论
三、合唱队形(chorus.pas/dpr/c/cpp)【问题描述】N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足T1Ti+1>…>...
转载 2015-10-07 21:12:00
72阅读
2评论
题目:https://www.luogu.com.cn/problem/P1091 思路: 相当于要求最长先升后降的序列 拆开来看,先从左到右求一遍最长不下降子序列 再从右到左求一遍最长不下降子序列 再枚举求最大值 #include<stdio.h> #include<algorithm> usin ...
转载 2021-07-28 17:01:00
204阅读
2评论
P1098合唱队形Accepted标签:动态规划 LISNOIP提高组2004描述N位同学站成一排,音乐老师要请其中的(N-K)
传送门思路:从左到右求出1到i的最长上升子序列的长度,再求出1到n的最长下降子序列,最后枚举要求中的最大值。#include<bits/
原创 2022-11-07 13:45:50
139阅读
前言又是一道动态规划题目,开始走了弯路,以为是简单的最长公共子序列题目,没深入分析,然后各种两边分别求最长公共子序列,然后就没有然后了题目题目描述: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK, 则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1 <= i <= K)。 你的任务是,已知所有N位同学的身高,计算最少需要几
转载 2013-06-04 17:48:00
123阅读
2评论
题目:题解:线性dp#include <bits/stdc
原创 2022-11-07 15:17:45
72阅读
1058 合唱队形 2004NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 1058 合唱队形 2004NOIP全国联赛提高组 1058 合唱队形 2004NOIP全国联赛提高组 时间限制: 1 s 空间限制: 12
原创 2021-06-04 20:39:39
59阅读
### 合唱队形Python的实现流程 为了实现"合唱队形Python",我们可以采取以下步骤: 步骤 | 操作 ---- | ---- 1 | 了解需求和问题 2 | 确定实现方式 3 | 获取数据 4 | 处理数据 5 | 绘制合唱队形图形 ### 步骤详解 #### 1. 了解需求和问题 在开始之前,我们需要理解"合唱队形Python"的具体需求。合唱队形是指一组人按身高顺序排列成
原创 9月前
65阅读
题目描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足T1Ti+1>…>TK(1。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入输出格式输入格式:输
原创 2023-02-07 10:31:10
97阅读
题目描述:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形合唱队
原创 2023-08-23 10:07:49
64阅读
题目大概: 一行数字要求从两边到中间依次增大,问给出的一行数字要去掉多少才能形成这种数列。 思路: 可以任选一个做中间数k,从1到n。
原创 2022-08-10 11:04:26
83阅读
正着求一遍$LIS$,反着求一遍$LIS$,最后拿总人数减去满足$T_1<...<T_i>T_{i+1}>…>T_K(1<=i<=K)$的人数即可。 const int N=110; int f[N],g[N]; int a[N]; int n; int main() { cin>>n; for(i
转载 2020-10-01 16:25:00
153阅读
题目链接:OpenJudge 2711 合唱队形 题目大意: 题解: 正反各求一次最长上升序列,对每个点取正反两次以该点为最高点的最长上升子序列长度之和(注意该点被取两次,需要减一)即为以该点为最高点的最长合唱队列。 #include <algorithm> #include <iostream> ...
转载 2021-07-26 00:29:00
117阅读
题目传送门 一、题意分析 就是和上一道的登山一样一样的,但缺德的是,它问的是“需要出列几个同学”!,就是,要计算一个差!!!我就是第一次倒在这个问题上! 二、实现代码 #include <bits/stdc++.h> using namespace std; //登山 const int N = 1
原创 2021-12-07 14:30:00
90阅读
1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int list[105]; 8 int dp1[105]; 9 int dp2[105]; 10 11 12 int main() 13 { 14 int n; 15 while(cin >> n) 16 ...
原创 2022-06-02 17:40:38
98阅读
http://www.elijahqi.win/archives/446 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<…Ti+1>…>TK(1<=i<=K)。 你的任务是..
原创 2022-08-08 14:35:09
28阅读
P1091 合唱队形 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<...<Ti>Ti+1>…>TK(1<=i<
转载 2017-08-25 03:49:00
83阅读
2评论
题意:有n名学生在成一排。然后为了站成中间高两边矮的合唱队列,问最少 不要几个人? 思路: 就是最长上升子序列裸用。当然是先把顺方向和逆方向的最长上升子序列找到。 然后再枚举从哪里分,顺方向和逆方向的最长上升子序列的长度之和最长。 其实蛮简单 代码如下:
原创 2021-07-15 14:44:50
67阅读
  • 1
  • 2
  • 3
  • 4
  • 5