2019 纪中 last Day

不知不觉,还是到说再见的时候了。

回想起  来时的那个午后,伴着雨声,在同伴的雨伞庇护下,伴着些许的敬畏,双脚踏入偌大的男生宿舍,不时溅起点点水花。

很快,第一周的生活就开始了。

每天早上都有高难度的套题训练,中午的餐厅也正如老师曾提醒的那番,总是挤满了等待点餐的人们。在这样的压力下,对这样充满复古气息,有着肃穆氛围的校园的好奇心驱使着我不知疲倦地顶着艳阳进行探索。

纪中真的很大,至今也没有完全探遍。

第一周更多是在渴望放假的那一天吧,现在还是感受得到那放假前夜的兴奋。(然后第二天没睡醒忘记了集合出游这件事)说真的,放假那天真的很充实,很快乐。

也感受了这里的风土人情(这句话硬凑的)

紧接着,第二周如约而至

或许是第一周精力太旺盛了,第二周的生活多少有些清闲,逐渐习惯了在这样校园里学习,运动,休闲娱乐,和几个来自远方的舍友也开始打成一片了,夜晚黑暗的寝室里总是传出欢声笑语……也不再在意曾经抱怨过的种种。

生活很模式化了,循规蹈矩地进行着该进行的一切。

就连热切盼望的带着曙光的放假之日也异常平淡,只是在机房中腐败罢了。(我也不知道为什么我可以如此淡定地说完这句话)

最后的几天里也嵌着亮点

也许是太慢热了,最后的几天里才感受到时间的匆忙。

每天都在盘算着如何使用卡中的钱因为不能退钱

开始享受集训最后的时光了,每天也都在做无用功般地感叹时间之快。

或许只有真正接近了,才会明白曾经失去了什么,逝去了什么。好做作


来纪中这么多天也收获了很多,有些曾经不懂或者不熟的算法都得到了一定的历练。

更透彻地感受到了自己的不足。

还是要努力吧。

当然,即将开始的文化课的学习也不能放下了。


T1 最小比例

题面:

其实正解很好想,就是C(n,m)的dfs枚举选点,然后在处理一下各跑一次最小生成树就好了。

但是说得这么简单,考场上只得了10分。

而且调了一下午!

最后居然只是精度处理有问题!

居然能由此少90分。


T2 软件公司

题面:

正解应该是二分加Dp。

显然还不会。


T3 空间航行

题面:

来自某dalao


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int n;
double x[1010],y[1010],z[1010],r[1010];
double f[1010][1010];
double sx,sy,sz,ex,ey,ez;
double Min(double a,double b)<% return (a<b)?a:b;%>
int main(){
    freopen("warp.in","r",stdin);
    freopen("warp.out","w",stdout);
    while(1){
        scanf("%d",&n);
        if(n==-1)
            return 0;
        for (int i=1;i<=n;i++)
            scanf("%lf%lf%lf%lf",&x[i],&y[i],&z[i],&r[i]);
        scanf("%lf%lf%lf",&sx,&sy,&sz);
        scanf("%lf%lf%lf",&ex,&ey,&ez);
        x[0]=sx,y[0]=sy,z[0]=sz,r[0]=0;
        x[n+1]=ex,y[n+1]=ey,z[n+1]=ez,r[n+1]=0;
        for (int i=0;i<=n+1;i++){
            for(int j=0;j<=n+1;j++){
                if(i!=j)
                    f[i][j]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])+(z[i]-z[j])*(z[i]-z[j]))-r[i]-r[j];
                if(f[i][j]<0)
                    f[i][j]=0;
            }
       }
        for(int k=0;k<=n+1;k++){
            for(int i=0;i<=n+1;i++)
                for(int j=0;j<=n+1;j++)
                    if(i!=j&&j!=k&&i!=k)
                        f[i][j]=Min(f[i][j],f[i][k]+f[k][j]);
        }
        printf("%.0lf\n",f[0][n+1]*10);
        memset(f,0,sizeof(f));
    }
    return 0;
}

T4 摧毁巴士站

题面:

正解好像剪枝搜索也可以过哦

但是还没改。


到此.

这是第一次也是唯一一次来纪中集训吧,可能未来也都不会再来这里。

五味杂陈。

Good night !

有始有终,

此去难相逢.

发表评论

电子邮件地址不会被公开。 必填项已用*标注