首页 > 其他分享 >P1091 [NOIP2004 提高组] 合唱队形

P1091 [NOIP2004 提高组] 合唱队形

时间:2024-08-10 15:23:01浏览次数:10  
标签:NOIP2004 dp2 dp1 合唱队 int P1091 序列 dp 105

这道题主要考察的是线性dp,最基础的dp,这道题的主要思路1.求出最大子序列,2.求出最小子序列,3.找出最少要多少个人要出列。其实我们主要2可以变成逆序查找最大子序列,所以我们只需要把前两个找出来之后我们就可以求出主要3(注意一定要减1,因为中间的那个同学一定会被多算一次所以必须减1)。

代码不是很好比较烂但是但凡学过dp的话一般都能看懂

AC:

#include <bits/stdc++.h>
using namespace std;
int a[105],dp1[105],dp2[105];
int n;
int main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		cin >> a[i];
		dp1[i]=1,dp2[i]=1;
	}
	for(int i = 2; i <= n; i++){
		for(int j = 1; j < i; j++){
			if(a[i]>a[j]) dp1[i] = max(dp1[i],dp1[j]+1);
		}
	}
	for(int i = n-1; i >= 1; i--){
		for(int j = n; j > i; j--){
			if(a[i]>a[j]) dp2[i] = max(dp2[i],dp2[j]+1);
		}
	}
	int maxn = 0;
	for(int i = 1; i <= n; i++) maxn = max(maxn,dp1[i]+dp2[i]-1);
	cout << n-maxn << endl;
	return 0;
}

标签:NOIP2004,dp2,dp1,合唱队,int,P1091,序列,dp,105
From: https://blog.csdn.net/tycc0913/article/details/141038795

相关文章

  • [NOIP2004 提高组] 虫食算(含代码)
    [NOIP2004提高组]虫食算题目描述所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的数字。来看一个简单的例子:43#9865#045......
  • 【c++提高组】津津的储蓄计划(NOIP2004)
    题目描述津津的零花钱一直都是自己管理。每个月的月初妈妈给津津 300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上 20%还给津津。因此津津制定了一个储蓄计划:每个月的......
  • CSP历年复赛题-P1087 [NOIP2004 普及组] FBI 树
    原题链接:https://www.luogu.com.cn/problem/P1087题意解读:字符串作为根,左边一半作为左子树,右边一半作为右子树,递归构造数,并按FBI规则输出后续遍历结果。解题思路:按照题意,通过dfs来构造树,对于字符串str,提取左边一半递归构造左子树,提取右边一半递归构造右子树,前提是字符串长度>1......
  • CSP历年复赛题-P1085 [NOIP2004 普及组] 不高兴的津津
    原题链接:https://www.luogu.com.cn/problem/P1085题意解读:找到两数之和大于8且两数之和最大值的位置解题思路:不多说,送分题,直接模拟法即可100分代码:#include<bits/stdc++.h>usingnamespacestd;inta,b;intmaxx,maxn;intmain(){for(inti=1;i<=7;i++)......
  • 洛谷题单指南-动态规划3-P3205 [HNOI2010] 合唱队
    原题链接:https://www.luogu.com.cn/problem/P3205题意解读:给定理想队形,计算初始队形的方案数。解题思路:对于给定理想队形,最后一个人插入有两种可能:从左边插入、从右边插入从左边插入,则意味着前一个数比当前数大,前一个数有可能在左边也有可能在右边从右边插入,则意味着前一个数......
  • 洛谷题单指南-动态规划2-P1091 [NOIP2004 提高组] 合唱队形
    原题链接:https://www.luogu.com.cn/problem/P1091题意解读:要挑选一个最长的先上升后下降的序列,求其余的元素数量解题思路:先计算正向的最长上升子序列,设f[i]表示以i结尾的正向最长上升子序列再计算逆向的最长上升子序列,设g[i]表示以i结尾的逆向最长上升子序列再枚举所有的i<j,m......
  • 洛谷题单指南-贪心-P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G
    原题链接:https://www.luogu.com.cn/problem/P1090题意解读:两两合并,是典型的哈夫曼编码算法思想,贪心即可。解题思路:要是合并体力消耗最少,就要让尽可能少的果子越晚合并越好,因此,贪心策略为优先选择数量最少的两堆果子合并,一直到剩下一堆果子,把合并过程中的消耗值累加即可,要快速......
  • P1088 [NOIP2004 普及组] 火星人
    [NOIP2004普及组]火星人题目描述人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小......
  • 洛谷题单指南-暴力枚举-P1088 [NOIP2004 普及组] 火星人
    原题链接:https://www.luogu.com.cn/problem/P1088题意解读:火星人的手指可以通过全排列来表示数字,全排列由小到大的顺序即为表示的数字大小,题目可以转化为:给定按顺序全排列中的某一个排列,求往后数m个排列的内容。解题思路:此题与经典全排列问题的差异在于,需要从指定一个排列开......
  • P3205 [HNOI2010] 合唱队
    原题链接导入1.对于一个给定的序列,最后一个加进来的元素不是最左端就是最右端,如果是最左端,那么代表去掉最左端的序列中最后一个加进来的元素比最左端小,最右端同理。2.对于一个给定的序列,可能的排序结果无非两类,一类是以最左端的元素结尾的,一类是以最右端的元素结尾的。因此设\(......