CSU1225-ACM小组的队列-DP/LCS加强
来源:互联网 发布:针织短款开衫淘宝网 编辑:程序博客网 时间:2024/05/29 19:05
N: ACM小组的队列
Description
ACM小组每次出去活动都要排队,但是大家总是不想按照任何规则来排好这个队伍(大概是因为每个人都比较有个性,例如Gestapolur),所以每次队 伍都是乱的,不过Samsara今天突然想要计算一下队伍中按身高升序排列的最长子队列,而且还想知道最长的子队列的个数。所谓子队列,就是在队列 A_1…A_i…A_n中的一个队列A_p[1]…A_p[2]..A_p[m],(1<=p[1]
Input
每组数据两行,第一行一个正整数n(1<=n<=1000),表示有n个人,第二行有用空格隔开的n个正整数A_1…A_i..A_n(1<=A_i<=200),表示这n个人的身高。
Output
输出对应也有若干行,请输出符合要求的最长子队列的长度和个数,以空格隔开。
Sample Input
51 4 2 6 3
Sample Output
3 3
Hint
思路是这样的:
在DP求LIS得长度的同时保存到当前能组成长度为dp[i]的IS个数,具体的看代码
#include <bits/stdc++.h>#define N 10100#define INF 0x3f3f3f3f#define LL long long#define mem(a,n) memset(a,n,sizeof(a))#define fread freopen("in.txt","r",stdin)#define fwrite freopen("out.txt","w",stdout)using namespace std;int dp[1010],arr[1010],sum[1010];int main(){ ios::sync_with_stdio(false); int n; while(cin>>n){ for(int i=0;i<n;++i){ dp[i]=sum[i]=1;//初始化 cin>>arr[i]; } for(int i=1;i<n;++i){ for(int j=0;j<i;++j){ if(arr[i]>arr[j]){//如果满足这个条件才能成为IS if(dp[i]==dp[j]+1){ sum[i]+=sum[j];//如果能形成长度为dp[i]的IS,则此处计数+1 }else if(dp[i]<dp[j]+1){ dp[i]=dp[j]+1;//否则,更新 sum[i]=sum[j]; } } } } int ans=0,s; /*for(int i=0;i<n;++i){ cout<<dp[i]<<' '<<sum[i]<<endl; }*/ for(int i=0;i<n;++i){ if(ans<dp[i]){ ans=dp[i];//如果有更长的IS,更新 s=sum[i]; }else if(ans==dp[i]){ s+=sum[i];//否则直接求和 } } cout<<ans<<' '<<s<<endl; } return 0;}
阅读全文
0 0
- CSU1225-ACM小组的队列-DP/LCS加强
- ACM小组的队列 coj 1225
- COJ-1225-ACM小组的队列
- acm小组的组长
- ACM小组的成绩排名
- LCS的加强输出 hdu1503
- ACM小组的古怪象棋
- acm小组的贪吃蛇
- ACM:E: ACM小组的组长
- ACM:F: ACM小组的成绩排名
- ACM:G: ACM小组的古怪象棋
- ACM DP 最长公共子序列Lcs
- COJ 1224 ACM小组的古怪象棋
- coj_1224: ACM小组的古怪象棋
- CSU 1224 ACM小组的古怪象棋
- CSU 1228 ACM小组的数字游戏
- CSU 1224: ACM小组的古怪象棋
- CSUOJ:1226: ACM小组的内战
- hadoop的mapreduce作业中出现Java heap space,你认为该如何解决?
- 第三学期第六次算法练习题
- CSU1216-异或最大值-0-1Trie树
- Base.js 库 实现 JS 的对象化编程
- 《统计学习方法》第1章 课后题答案
- CSU1225-ACM小组的队列-DP/LCS加强
- 使用GIT进行硬件版本控制
- 冒泡排序
- 《权限系列》----用redis存储HashMap
- CSU1001/1002/1683/1639/1524/1816/1888/1893/1202/1203/1212
- CSU1684-Disastrous Downtime-STL
- tcpdump抓的是哪一层的包?
- java数组api (off, len) 与 (begin, end)的问题
- CSU1772-漫漫上学路-卡特兰数/递推