• 2017河工大校赛补题CGH and 赛后小结


    网页设计课上实在无聊,便开始补题,发现比赛时候僵着的东西突然相通了不少

    首先,“追妹”这题,两个队友讨论半天,分好多种情况最后放弃(可是我连题目都没看啊),今天看了之后试试是不是直接判断情况就可以,于是出现

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int T,n,m,a,b,u,v,i,flag;   
     5     scanf("%d",&T);
     6     while(T--)
     7     {
     8         flag=0;
     9         scanf("%d%d%d%d",&n,&m,&a,&b);
    10         for(i=1;i<=m;i++)
    11         {
    12             scanf("%d%d",&u,&v);
    13             if(u==a&&v==b  ||  u==b&&v==a)  flag=1;
    14         }
    15         if(flag)  printf("chhappy
    ");
    16         else      printf("chsad
    ");
    17     }
    18     return 0;
    19 }
    View Code

    这样的1A,噗...............喷血,这个不多说当时没看题,遗憾遗憾。
    Next,“最大子段和”,我发4, 5个小时比赛3人起码在这上面花了2.5个小时,结果依旧没A。太傻了各自,当时怎么就没想过for循环跑的时候 i+=2 ,唉,无奈,居然会如此给A

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 #define maxn 100005
     7 int num[maxn];
     8 int main()
     9 {
    10     int t,n,sum;
    11     cin>>t;
    12     while(t--)
    13     {
    14         cin>>n;
    15         for(int i=1;i<=n;i++)  cin>>num[i];
    16         int ans=num[1],sum=num[1]; 
    17         for(int i=2;i<n;i+=2) 
    18         {
    19             sum+=(num[i]+num[i+1]);
    20             sum=max(sum,num[i+1]);
    21             ans=max(ans,sum);
    22         }
    23         sum=num[2];
    24         for(int i=3;i<n;i+=2)
    25         {
    26             sum+=(num[i]+num[i+1]);
    27             sum=max(sum,num[i+1]);
    28             ans=max(ans,sum);
    29         }
    30         cout<<ans<<endl;
    31     }
    32     return 0;
    33 }
    View Code

    最后那个宝石题,开局时候队友看了之后没思路不想做,导致全程只有我一个人写这题,当时觉得这题很水,就是魔力值更新就可以了,于是讲个队花听,队花不停恩哦恩哦,结果我发现自己不知道怎么不断更新,然后队花就去和主代码手继续聊BFS去了。手撸这题时候想用排序更新一下,希望数据比较弱水过去,结果WA了,55555555555....今天灵感突现用这种方法来循环更新,结果过了,蠢哭自己

     1 #include <iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 #define maxn 100005
     5 int a[maxn],b[maxn],c[maxn],AA[maxn];
     6 int main()
     7 {
     8     ios::sync_with_stdio(false);
     9     int t,n,m;
    10     cin>>t;
    11     while(t--)
    12     {
    13         cin>>n>>m;
    14         int flag=1;
    15         for(int i=1; i<=n; i++)  cin>>AA[i];
    16         for(int i=1; i<=m; i++)
    17         {
    18             cin>>a[i]>>b[i]>>c[i];
    19             AA[c[i]]=min(AA[c[i]], AA[a[i]]+ AA[b[i]]);
    20         }
    21         while(flag)
    22         {
    23             flag=0;
    24             for(int i=1; i<=m; i++)
    25                 if(AA[c[i]]> AA[a[i]]+ AA[b[i]])
    26                 {
    27                     flag=1;
    28                     AA[c[i]]= AA[a[i]]+ AA[b[i]];
    29                 }
    30         }
    31         for(int i=1; i<=n; i++)  printf("%d%c",AA[i],i==n?'
    ':' ');
    32     }
    33     return 0;
    34 }
    View Code

    赛后来波小结,毕竟贵圈的传统就是你做出来的题目就全是SB题。

      热身赛B题英文题轻松翻译,但题意一边是没输入,一边是两个样例,什么鬼,导致被队友质疑英语水平,开局不利(PS:恩爱狗,热身赛时候两个人在那讲高数,笑声不断,可怜的我承担着AK热身赛题的任务)..正式比赛题意都很简单,主代码手想的都太复杂(还好前2个水题全程都是自己单撸A的),想的复杂的结果就是都没A掉,近乎打铁。数学题第一次没写出来,数学公式推导了半个小时,庞大的计算量,结果出来的公式错了,很伤,很影响士气。其他都不想说,这场比赛前的Codeforces等了快2周,本想趁机涨分,结果熬夜撸代码时候发现忘了报名没法提交.当天下午BNU校赛恰好时间撞车,不过见到格格本人也算一个额外惊喜吧。总之,一次不错的ACM比赛体验,下次会狠狠地再来...

  • 相关阅读:
    一个浏览器循环刷新网页的例子
    Ajax和JSON基础
    HTML-第三章构建模块小结
    HTML-元素属性
    入前端坑的第一天
    JZOJ 【2021.11.10NOIP提高组联考】
    LG P2633 Count on a tree
    JZOJ 7339.改试卷
    [CEOI2017] Building Bridges
    拉格朗日插值法
  • 原文地址:https://www.cnblogs.com/weimeiyuer/p/6756241.html
Copyright © 2020-2023  润新知