【游记】中考后SH四日游

推歌
Reignite - Echo Lab

作词 : 黑金雨

作曲 : Echo Lab

音乐制作人 : 胡臻

混音 : HARUO SAITOH (THERMAL MIX)

吉他 : 並木瑠璃

弦乐编写 : 松田純一

人声录音 : 31 Studio

音乐监制 : 陈瑶/聂婉迪(Echo Lab)

监制 : 魔奇工作室

把少年和远方 纹在心房

随时再出发

那些关于精灵和光的传说

像四月风 会重返约定的地方把热情解锁

一起冒险的回合

牵引悸动的心跳你和我

欢笑泪水交织成记忆的歌

往日的乐章 悠扬

笑声穿越冰霜

从每一个曾经告别的岔路汇聚在身旁

指尖闪烁荧光 魔法在发烫

只等你触碰旧时光

Shall we reignite 为奇迹照亮

不必再掩藏

召唤你的勇气倔强 紧握在手上

穿越过往那耀眼时光

把少年和远方 纹在心房

随时再出发

总是会遗憾旅途中的错过

也在心底 许下愿望能把绝版的青春复刻

图鉴颜色还鲜活

像我们曾写下的纪念册

被风吹开翻动成记忆的歌

双眸被点亮 远航

笑声穿越冰霜

从每一个曾经告别的岔路汇聚在身旁

指尖闪烁荧光 魔法在发烫

只等你触碰旧时光

Shall we reignite 为奇迹照亮

不必再掩藏

召唤你的勇气倔强 紧握在手上

穿越过往那耀眼时光

把少年和远方 纹在心房

随时再出发

像点燃的篝火 我们会归来围坐 同唱

让伙伴的声浪 总在黑夜里回响

我等你触碰旧时光

Shall we reignite 为奇迹照亮

不必再掩藏

召唤你的勇气倔强 紧握在手上

穿越过往那耀眼时光

把少年和远方 纹在心房

随时再出发

用传说和梦想 组成翅膀

一起再出发

6.22

游记

回家的路上家长给看了下旅游的计划表,期间空白时间很多,尝试说服家长让我带电脑,但失败了,只有一个半用没用的手机。

晚上回到家后差不多八点了,收拾了下旅游要用的东西,一直到了十点半。

熬夜的时候,耳边一直有蚊子在叫,没有太在意。

做题纪要

6.23

游记

熬夜一直熬到了凌晨两点半,迷糊了会儿,到三点就起床了,把行李往车上搬搬。

刚五点的时候,在高速上一个快到济南的服务区停了一下,准备找个地方吃饭却被告知七点才开饭。临走的时候看见服务区的保安们以警戒棍敲玻璃或喇叭放尖锐声音挨个叫醒大车司机们,原以为这种工作只存在于前两次工业革命期间,这下长见识了。

机场安检的时候,忘把手机跟着背的包一起过安检了,又让工作人员(女)重新帮我过了一遍。她还问我“是不是刚高考完”,我听成了“是不是正好”,离谱。

候机的时候吃了桶泡面。旁边的显示屏放的是电视剧的广告。

上飞机后先看了会 《吕氏春秋》GXYZ 分传 ,然后开始看座位前的杂志,主题是SD旅游景点,每篇文章后还附了一篇英语短文,不知道是干什么的。期间发了飞机餐,无糖饼干加小面包加矿泉水加湿巾,无糖饼干越吃越能感觉到它的咸,那股味道还很难退去。耳朵没有什么感觉。

下飞机后,深切感受到了SH交通的“发达”,没导航几乎活不下去了。雨下得不是很大。

到家后发现家里有闲置电脑,有python和VS;旁边书架上找到三体一和三,门口书箱里找到了高等数学上下册,两本关于线性代数的大学教材。

中午细数了一下身上的包,发现有 \(28\) 个包,离谱。

下午先去了趟医院查了一下我两三个月的咳嗽,由于是周日,所以门诊没上班,挂号的时候挂的是急诊。等待做CT的路上看见门口放着一辆可移动病床,病床上的老人眼里透出生的渴望与万般无奈,像一个两三个月的婴儿被襁褓裹住,被子上还压着其他诸如两个枕头等杂物。四周坐的众多人的表情也大多是严肃,欢乐与这里无关。因为赶时间(因为票的【数据删除】),仅让家长在医院等结果,我则直接去东方明珠。

等待的时候 ,“导游”说了些乱七八糟的,门票则被当成了纪念品,想要就要,让家长帮忙取了。

上去后遇到了不少复旦附中的学生(穿着校服),看来以后要穿hz校服来旅游了。

从玻璃栈道上往下看。

这个邮箱属实绷不住了,真是卖纪念品的好方法。

外面还在下雨,风挺大。家长跟我打电话,通过电话问诊,最后得出来的结果是没有大碍,开的药也只是化痰的糖浆,没有消炎药。

游戏厅纯纯傻逼,忽悠小孩的弱智小游戏。

底层的上海历史博物馆东西挺多的,不错。

出来之后,晚饭找了家旁边的拉面解决了,面量少得可怜,但免费加一份面,我加了两份,家长还去隔壁店买了点生煎。

本来接下来还有拍摄的东方明珠旁云彩的移动的,体验到了什么是“风云变幻”,但由于是视频,懒得传了。

在天桥上四处转转。为啥大城市光污染这么严重,找不到合适的角度,真就“眼前有景道不得”是吧?

等了会儿晚上的游轮。感觉体验不是很好。

家里隔音效果不是很好,或许是楼层低的缘故,楼下的风吹草动和屋外的上下楼梯、开关门都能听得清清楚楚。

做题纪要

6.24

游记

早上到了个大点的“厂子”去“参观”,由于全部内容涉密,遂不详细写了。食堂的包子感觉跟hs一个味。

接着去海洋公园,检票的时候问我有没有带准考证,我就把电子版给他了。事后问了下家长,学生票能省不少钱呢。

把海贼王翻译成航海王是没想到的,哦,办主题商店也得交钱。

感触挺深的就是这个北极熊了。口口声声说是保护却被夺去了自由,迷茫、枉然间望着外面的游客,瘫坐间消磨时光。

影院短片用鱼的象征意义结束感觉挺新颖和典。

好点的就只有虎鲸表演了,其他的表演很烂,跟hz的差远了。

晚上补了下 【LGR-191-Div.4】洛谷入门赛 #24 的题。

做题纪要

luogu B3989 [语言月赛 202406] 优惠券

luogu B3990 [语言月赛 202406] 通配符匹配

luogu B3977 [语言月赛 202405] 更好的交换

6.25

游记

上午去自然博物馆,人挺多,可能是有 \(7,8\) 个学校组织研学的原因。

当我看见他们身穿同一服饰,惊叹间透出点点稚嫩,前面有领队老师带领或自由参观时,我深知我早已和他们不是一路人。

胸前的红领巾是那么引人注目,又是那么视若平常.

那注定是我的奢望。

这些矿不错,以后可能没机会看见了。

两个小时的时间差不多就转完了,然后去上交,期间找了家麻辣烫吃午饭。

和hz类似,不让我们进楼参观,能进的只有一个董浩云航运博物馆馆。

晚上去吃自助烤肉。羊肉很久才熟,吃起来半硬不硬的;牛肉还好;烤串油性很大,没吃;妈的,雪碧味道那么淡,是tm生怕我喝不出来是快过期的雪碧兑了很多白开水吗,艹。

做题纪要

CF1000F One Occurrence

莫队套值域分块,需要借助 inline 或超级快读的力量。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
#define ull unsigned long long
#define sort stable_sort 
#define endl '\n'
int a[500010],cnt[500010],sum[500010],ans[500010],L[500010],R[500010],pos[500010],klen,ksum;
struct ask 
{
    int l,r,id;
}q[500010];
bool q_cmp(ask a,ask b)
{
    return (pos[a.l]==pos[b.l])?((pos[a.l]%2==1)?(a.r<b.r):(a.r>b.r)):(a.l<b.l);
}
inline void init(int n,int m)
{
    klen=1000;
    ksum=n/klen;
    for(int i=1;i<=ksum;i++)
    {
        L[i]=R[i-1]+1;
        R[i]=R[i-1]+klen;
    }
    if(R[ksum]<n)
    {
        ksum++;
        L[ksum]=R[ksum-1]+1;
        R[ksum]=n;
    }
    for(int i=1;i<=ksum;i++)
    {
        for(int j=L[i];j<=R[i];j++)
        {
            pos[j]=i;
        }
    }
}
inline void add(int x)
{
    cnt[x]++;
    if(cnt[x]==1)
    {
        sum[pos[x]]++;
    }
    if(cnt[x]==2)
    {
        sum[pos[x]]--;
    }
}
inline void del(int x)
{
    cnt[x]--;
    if(cnt[x]==1)
    {
        sum[pos[x]]++;
    }
    if(cnt[x]==0)
    {
        sum[pos[x]]--;
    }
}
inline int query()
{
    for(int i=1;i<=ksum;i++)
    {
        if(sum[i]>=1)
        {
            for(int j=L[i];j<=R[i];j++)
            {
                if(cnt[j]==1)
                {
                    return j;
                }
            }
        }
    }
    return 0;
}
int main()
{
    int n,m,l=1,r=0,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    scanf("%d",&m);
    init(500000,m);
    for(i=1;i<=m;i++)
    {
        scanf("%d%d",&q[i].l,&q[i].r);
        q[i].id=i;
    }
    sort(q+1,q+1+m,q_cmp);
    for(i=1;i<=m;i++)
    {
        while(l>q[i].l)
        {
            l--;
            add(a[l]);
        }
        while(r<q[i].r)
        {
            r++;
            add(a[r]);
        }
        while(l<q[i].l)
        {
            del(a[l]);
            l++;
        }
        while(r>q[i].r)
        {
            del(a[r]);
            r--;
        }
        ans[q[i].id]=query();
    }
    for(i=1;i<=m;i++)
    {
        printf("%d\n",ans[i]);
    }
    return 0;
}

luogu P4315 月下“毛景树”

维护两个优先级不同的懒惰标记即可。

\(11\) 个数据点操作中有 \(u=v\) 的情况,我的代码需要特判才能过。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
#define ull unsigned long long
#define sort stable_sort 
#define endl '\n'
struct node
{
    int nxt,to;
}e[200010];
int head[200010],c[200010],cc[200010],siz[200010],fa[200010],dep[200010],son[200010],top[200010],dfn[200010],u[200010],v[200010],w[200010],cnt=0,tot=0;
struct SMT
{
    struct SegmentTree
    {
        int l,r,maxx,lazy_cov,lazy_add;
    }tree[800010];
    int lson(int x)
    {
        return x*2;
    }
    int rson(int x)
    {
        return x*2+1;
    }
    void pushup(int rt)
    {
        tree[rt].maxx=max(tree[lson(rt)].maxx,tree[rson(rt)].maxx);
    }
    void build(int rt,int l,int r)
    {
        tree[rt].l=l;
        tree[rt].r=r;
        tree[rt].lazy_cov=-1;
        tree[rt].lazy_add=0;
        if(l==r)
        {
            tree[rt].maxx=cc[l];
            return;
        }
        int mid=(l+r)/2;
        build(lson(rt),l,mid);
        build(rson(rt),mid+1,r);
        pushup(rt);
    }
    void pushdown(int rt)
    {
        if(tree[rt].lazy_cov!=-1)
        {
            tree[lson(rt)].lazy_cov=tree[rson(rt)].lazy_cov=tree[rt].lazy_cov;
            tree[lson(rt)].maxx=tree[rson(rt)].maxx=tree[rt].lazy_cov;
            tree[lson(rt)].lazy_add=tree[rson(rt)].lazy_add=0;
            tree[rt].lazy_cov=-1;
        }
        if(tree[rt].lazy_add!=0)
        {
            tree[lson(rt)].maxx+=tree[rt].lazy_add;
            tree[rson(rt)].maxx+=tree[rt].lazy_add;
            tree[lson(rt)].lazy_add+=tree[rt].lazy_add;
            tree[rson(rt)].lazy_add+=tree[rt].lazy_add;
            tree[rt].lazy_add=0;
        }
    }
    void update(int rt,int x,int y,int id,int val)
    {
        if(x<=tree[rt].l&&tree[rt].r<=y)
        {
            if(id==1)
            {
                tree[rt].lazy_cov=tree[rt].maxx=val;
                tree[rt].lazy_add=0;
            }
            else
            {
                tree[rt].maxx+=val;
                tree[rt].lazy_add+=val;
            }
            return;
        }
        pushdown(rt);
        int mid=(tree[rt].l+tree[rt].r)/2;
        if(x<=mid)
        {
            update(lson(rt),x,y,id,val);
        }
        if(y>mid)
        {
            update(rson(rt),x,y,id,val);
        }
        pushup(rt);
    }
    int query(int rt,int x,int y)
    {
        if(x<=tree[rt].l&&tree[rt].r<=y)
        {
            return tree[rt].maxx;
        }
        pushdown(rt);
        int mid=(tree[rt].l+tree[rt].r)/2,ans=0;
        if(x<=mid)
        {
            ans=max(ans,query(lson(rt),x,y));
        }
        if(y>mid)
        {
            ans=max(ans,query(rson(rt),x,y));
        }
        return ans;
    }
}T;
void add(int u,int v)
{
    cnt++;
    e[cnt].nxt=head[u];
    e[cnt].to=v;
    head[u]=cnt;
}
void dfs1(int x,int father)
{
    siz[x]=1;
    fa[x]=father;
    dep[x]=dep[father]+1;
    for(int i=head[x];i!=0;i=e[i].nxt)
    {
        if(e[i].to!=father)    
        {
            dfs1(e[i].to,x);
            siz[x]+=siz[e[i].to];
            son[x]=(siz[e[i].to]>siz[son[x]])?e[i].to:son[x];
        }
    }
}
void dfs2(int x,int father,int id)
{
    top[x]=id;
    tot++;
    dfn[x]=tot;
    cc[tot]=c[x];
    if(son[x]!=0)
    {
        dfs2(son[x],x,id);
        for(int i=head[x];i!=0;i=e[i].nxt)
        {
            if(e[i].to!=father&&e[i].to!=son[x])
            {
                dfs2(e[i].to,x,e[i].to);
            }
        }
    }
}
void update1(int pos,int val)
{
    if(dep[u[pos]]>dep[v[pos]])
    {
        T.update(1,dfn[u[pos]],dfn[u[pos]],1,val);
    }
    else
    {
        T.update(1,dfn[v[pos]],dfn[v[pos]],1,val);
    }
}
void update2(int u,int v,int id,int val)
{
    while(top[u]!=top[v])
    {
        if(dep[top[u]]>dep[top[v]])
        {
            T.update(1,dfn[top[u]],dfn[u],id,val);
            u=fa[top[u]];
        }
        else
        {
            T.update(1,dfn[top[v]],dfn[v],id,val);
            v=fa[top[v]];
        }
    }
    if(dep[u]<dep[v])
    {
        T.update(1,dfn[u]+1,dfn[v],id,val);
    }
    else
    {
        T.update(1,dfn[v]+1,dfn[u],id,val);
    }
}
int query1(int u,int v)
{
    int ans=0;
    while(top[u]!=top[v])
    {
        if(dep[top[u]]>dep[top[v]])
        {
            ans=max(ans,T.query(1,dfn[top[u]],dfn[u]));
            u=fa[top[u]];
        }
        else
        {
            ans=max(ans,T.query(1,dfn[top[v]],dfn[v]));
            v=fa[top[v]];
        }
    }
    if(dep[u]<dep[v])
    {
        ans=max(ans,T.query(1,dfn[u]+1,dfn[v]));
    }
    else
    {
        ans=max(ans,T.query(1,dfn[v]+1,dfn[u]));
    }
    return ans;
}
int main()
{
    int n,x,y,z,i;
    string pd;
    cin>>n;
    for(i=1;i<=n-1;i++)
    {
        cin>>u[i]>>v[i]>>w[i];
        add(u[i],v[i]);
        add(v[i],u[i]);
    }
    dfs1(1,0);
    for(i=1;i<=n-1;i++)
    {
        if(dep[u[i]]>dep[v[i]])
        {
            c[u[i]]=w[i];
        }
        else
        {
            c[v[i]]=w[i];
        }
    }
    dfs2(1,0,1);
    T.build(1,1,n);
    while(cin>>pd)
    {
        if(pd=="Change")
        {
            cin>>x>>z;
            update1(x,z);
        }
        if(pd=="Cover")
        {
            cin>>x>>y>>z;
            if(x!=y)
            {
                update2(x,y,1,z);
            }
        }
        if(pd=="Add")
        {
            cin>>x>>y>>z;
            if(x!=y)
            {
                update2(x,y,2,z);
            }
        }
        if(pd=="Max")
        {
            cin>>x>>y;
            cout<<query1(x,y)<<endl;
        }
        if(pd=="Stop")
        {
            break;
        }
    }
    return 0;
}

6.26

游记

早起发现雨还在下。故快九点了才从家里出发去复旦。顺带在复旦食堂吃了午饭,结果被告知要额外付 \(50 \%\) 的费用。

下午快两点的时候,不想去同济了,遂直接回家了。回家后收拾行李。

晚上被家长告知航班因天气原因延误了,遂晚出发了些。

取票发现机子坏了,去托运找人工办理,问去哪里的时候我口误说成了去秦皇岛。

候机的时候旁边的显示屏放的是实时北京卫视的《侦查英雄》。候机的时候在听《Reignite》。

家长给买的是靠窗的票,说让看看 SH 的夜景,但外面一直在下雨,根本啥都看不清。

上飞机后发现有蚊子,没拍到其“雅照”。

做题纪要

6.27

游记

上飞机后睡了 \(5,6\) 分钟,突然被疼醒了,飞机上下经过云层时气压变化有点快。加上上飞机的时候就有些上火,耳朵里面感觉很难受。

下飞机后,跟着家长回家了。回家的路上凑活睡了一会儿,回家后接着睡到了 \(10\) 点。

起床后收拾了下东西,下午就回学校了。

做题纪要

posted @ 2024-06-26 10:17  hzoi_Shadow  阅读(129)  评论(9编辑  收藏  举报
扩大
缩小