wolf


私信TA

用户名:cp9zero2

访问量:32520

签 名:

等  级
排  名 435
经  验 4888
参赛次数 0
文章发表 36
年  龄 0
在职情况 学生
学  校 华南理工大学广州学院
专  业

  自我简介:

解题思路:
我用了动态规划,可还是时间超时了




注意事项:





参考代码:

#include<stdio.h>

#include<malloc.h>

int main()

{

int K=0,i,j,dao_d[100010][2],z_tai,most=0,num=1;

int * fc;


do{ scanf("%d",&dao_d[K][0]);  K++; }

while(dao_d[K-1][0]!=EOF);

K--;

fc=(int *)malloc(sizeof(int)*(K+2));

for(i=0;i<(K+2);i++) fc[i]=0;


dao_d[0][1]=1;

for(i=1;i<K;i++)

{

z_tai=0;

for(j=0;j<i;j++)

{

if(dao_d[i][0]<=dao_d[j][0] && dao_d[j][1]>z_tai)  z_tai=dao_d[j][1]; 

}

dao_d[i][1]=z_tai+1;

if(dao_d[i][1]>most)most=dao_d[i][1];

fc[dao_d[i][1]]++;

}

for(i=0;i<K;i++) if(fc[i]>num)num=fc[i];

printf("%d\n",most);

printf("%d\n",num);


return 0;

}




 

0.0分

5 人评分

  评论区

  • «
  • »