劝君更尽一杯酒,西出阳关无故人

· · 生活·游记

本来是不存在这篇文章的。

不知道写什么来着,后边有空了可能会补充

联赛之后我说省选至少要死得体面一点,要是碰到会做的题进了当然更好。

结果是,D1开场一眼看出来T1的dp和T2的自动机,但是由于傻逼安全软件不让我运行心态爆炸(详见这里),T1写了一万年之后,T2调不出来了。遂最终拼了些暴力。于是这就坠了。然后D2我说我一定要好好翻盘,结果是T1秒了之后丢了没判corner,后边两题拼尽全力拼了44pts。

虽然不挂分也进不了,但是至少死得体面点了吧。

不知从何谈起,可能现在的记性实在是有些差了。姑且想到什么写什么吧。

其实正式开始学OI还是得从初三算起,在此之前我的生活中都被其他我所更在意的事情所填满了。OI也不过只是一件兴趣罢了。

记得当时暑假里在讲 FFT,还有一些高级数据结构。我惊奇地发现我不仅能理解一部分,甚至还能解释其中一部分的原理。这给了我莫大的自信。后续CSP也是如此,我在最后5分钟的时候把T3结构体调出来了!考完发现我居然是我们这一届的最高分!

虽然模拟赛还是经常被吊着打(当然到下半学期就不是这样的了),不过我也决心一定要进入省队。

结果是高一赛季整个从csp炸到省选,wc没去成,apio差点也没去成。

接着训了半年,记得一直从暑假到联赛前一周都挺高光的,模拟赛一直打得挺好。偶尔也能切出一些自认为之前完全不敢相信的题。谁知联赛上T2看到分讨有些麻烦就跳了,回来想的时候也不认真想,觉得他都联赛T2了肯定有更简单的做法。遂无效思考,T2T3只有eps分。靠T4勉强上了200pts。

接下来几个月的记忆反而是最模糊的,只记得在冬令营前一段时间状态还可以,其他时候都是浑浑噩噩的。

口上说的要翻盘,实际上感觉也没有怎么额外的努力。

所以最后就这样了。

当然,最可惜的不是没有进队,而是没有尽力吧。

当然可能以我的心态只能发挥出这样的水平了。

只是在我的个人叙事中,我明明可以倒在冲锋的第一线,倒在胜利的黎明前,倒在敌人的枪口上。可最终我只是犹犹豫豫地一点一点往前蠕动,最后像也够一样被一脚踢死了。

最后是致谢,

感谢 popo老师 模拟赛后不怨其烦地给我中译中题解。

感谢 hb老师 愿意听我发些情感问题上的牢骚并给我做疏导。

感谢 NATO老师 的指导与鼓励。

以及其他这一路上的伙伴。

希望 sin_watt 和 NATO 能在NOI中取得好成绩。也希望退役的同学们可以迅速恢复过来,投入到文化课的学习之中。

希望大家都有美好的未来。

考场上最后几分钟也写不出来什么好看的文字了,随便看看吧。

#include<bits/stdc++.h>
//#define int long long
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
#define pb push_back
using namespace std;
const int N=250+10,KK=2000+10,inf=1e9;
bool MS;int id,used;
inline void Min(int&u,int v){v<u?u=v:u;}
int n,m;
int a[N],b[N];
namespace force
{
    int ans[N];
    int p[N];
    int h[N];
    int ls[N];
    int tag;
    void check()
    {
        rep(i,1,n)h[i]=a[i];
        rep(w,1,n-m)
        {
            if(p[w]==1)
            {
                rep(i,3,n-w+1)ls[i-2]=h[i];
                ls[n-w]=(h[1]^h[2]);
            }
            else
            {
                rep(i,1,n-w-1)ls[i+1]=h[i];
                ls[1]=(h[n-w]^h[n-w+1]);
            }
            rep(i,1,n-w)h[i]=ls[i];
        }
        rep(i,1,m)
        if(h[i]!=b[i])return;
//      rep(i,1,n-m)cout<<p[i]<<" ";cout<<'\n';
        if(!tag)
        rep(i,1,n-m)ans[i]=p[i];
        tag=1;
    }
    void dfs(int deep)
    {
        if(deep==n-m+1)
        {
            check();
            return;
        }
        p[deep]=1;
        dfs(deep+1);
        p[deep]=2;
        dfs(deep+1);
    }
    void getans()
    {
        tag=0;
        dfs(1);
        if(tag)
        {
            cout<<"Yes\n";
            rep(i,1,n-m)cout<<ans[i]<<(i==n-m?"":" ");
            cout<<'\n';
        }
        else
        {
            cout<<"No\n";
        }
    }
}
void solve()
{
    cin>>n>>m;
    rep(i,1,n)
    {
        cin>>a[i];
    }
    rep(i,1,m)cin>>b[i];
    if(m==1)
    {
        int tot=0;
        rep(i,1,n)
        {
            tot^=a[i];
        }
        if(tot==b[1])
        {
            cout<<"Yes\n";
            rep(i,1,n-1)cout<<"1 ";
            cout<<'\n';
        }
        else cout<<"No\n";
    }
    else if(id<=2)force::getans();
//  f[]
}
bool MT;
signed main()
{
    freopen("night.in","r",stdin);
    freopen("night.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int T=1;
    cin>>id>>T;
    while(T--)
        solve();
    cerr<<(&MS-&MT)/1048576.0<<"MB "<<clock()<<"ms\n";

}
/*
你说得对,但是,这个鬼机器编译要10s,调T1直接红温了,后边两题特殊性质都拼不出来,遂爆炸。

那我还能说什么,的确是没有料到吧,谁能想到我把一切决策都做到最优了但是还是栽在了机器这里。

虽然大家都这样,但是可能我确实心态差一点吧,反正是没法去noi了。

祝愿,sinwatt,鲤鱼江,NATO,前路顺利。

Dovish先走一步了。

*/

劝君更尽一杯酒,西出阳关无故人。