ZJUT1099最少拦截系统

    技术2025-11-02  13

    Problem Address:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1099

     

    没想到越来越顺手= =之前一直看别人做这道题,自己却没什么idea。

     

    没想到今天写了一下,只测试了几组数据,连修改都没有就一次AC,而且Time=9Ms,Memory=208K。

     

    值得庆幸一下~

     

    不过还是要继续努力。

     

    昨天订的算法导论没想到今天就到手了,很是快。赞一下~

     

    之后还要好好加油啊!

     

    这道题的AC率不高,可能少考虑到的因素就是每次的高度都应该给一个最适合的系统(即大于这个高度的最小的数),这样才不会错误。

     

    简单的算法就是把每一个数分给最适合的系统,如果不存在这样的系统(即这个数大于任何系统)则得增加一个系统。

     

    本来打算不用STL,不过想想用STL排一下序方便多了,便用了= =惭愧一下。

     

    以下贴代码:

     

    #include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){ vector<int>v; int n,i,j,x; while(scanf("%d", &n)!=EOF) {  v.clear();  for (i=0; i<n; i++)  {   scanf("%d", &x);   sort(v.begin(), v.end());   for (j=0; j<v.size(); j++)   {    if (x<=v[j]) break;   }   if (j!=v.size())   {    v[j] = x;   }   else   {    v.push_back(x);   }  }  printf("%d/n", v.size()); } return 0;}

    最新回复(0)