33,007
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int G_iNumberList[1000000];
int G_iNumberStat[1000000];
int G_iNumberCount;
int main()
{
while (1 == scanf("%d", &G_iNumberCount))
{
int i, j;
for (i = 0; i < G_iNumberCount; i++)
{
scanf("%d", &G_iNumberList[i]);
}
G_iNumberStat[0] = -99999999;
G_iNumberStat[1] = G_iNumberList[0];
int maxLength = 1;
for (i = 1; i < G_iNumberCount; i++)
{
if (G_iNumberStat[maxLength] > G_iNumberList[i])
{
for (j = maxLength - 1; j >= 0; j--)
{
if (G_iNumberStat[j] < G_iNumberList[i])
{
if (G_iNumberStat[j + 1] > G_iNumberList[i])
{
G_iNumberStat[j + 1] = G_iNumberList[i];
}
}
}
}
else
{
maxLength++;
G_iNumberStat[maxLength] = G_iNumberList[i];
}
}
printf("%d\n", maxLength);
}
return 0;
}
#include <iostream>
int s[10001],top,i,k,n,H,T,M;
int main() {
for(n;scanf("%d",&n)!=EOF;) {
scanf("%d",&s[top=0]);
for (i=1;i<n;++i) {
scanf("%d",&k);
if (k>s[top]) s[++top]=k;
else if (k<s[top]) {
for (H=-1,T=top+1;H+1!=T;) {
M=H+(T-H)/2;
if (s[M]<k) H=M;
else T=M;
}
s[T]=k;
}
}
printf("%d\n",top+1);
}
return 0;
}
#include <iostream>
int nums[10001],f[10001],i,j,n,ans;
int main() {
for(n;scanf("%d",&n)!=EOF;) {
for (i=1;i<=n;++i) {
scanf("%d",nums+i);
f[i]=1;
}
for (ans=1,i=2;i<=n;++i) {
for (j=i-1;j>0;--j) if (nums[i]>nums[j]&&f[j]>=f[i])
f[i]=f[j]+1;
if (f[i]>ans) ans=f[i];
}
printf("%d\n",ans);
}
return 0;
}
#include <stdio.h>
int G_iNumberList[1000000];
int G_iNumberStat[1000000];
int G_iNumberCount;
int main()
{
while (1 == scanf("%d", &G_iNumberCount))
{
int i, j;
for (i = 0; i < G_iNumberCount; i++)
{
scanf("%d", &G_iNumberList[i]);
}
G_iNumberStat[0] = -99999999;
G_iNumberStat[1] = G_iNumberList[0];
int maxLength = 1;
for (i = 1; i < G_iNumberCount; i++)
{
if (G_iNumberStat[maxLength] > G_iNumberList[i])
{
for (j = maxLength - 1; j >= 0; j--)
{
if (G_iNumberStat[j] < G_iNumberList[i])
{
if (G_iNumberStat[j + 1] > G_iNumberList[i])
{
G_iNumberStat[j + 1] = G_iNumberList[i];
}
}
}
}
else if (G_iNumberStat[maxLength] < G_iNumberList[i]) //注意大于栈顶元素才入栈 等于也不行
{
maxLength++;
G_iNumberStat[maxLength] = G_iNumberList[i];
}
}
printf("%d\n", maxLength);
}
return 0;
}