NOIP 2024

FurippuWRY

2024-11-30 22:20:52

生活·游记

还是跟流水账一样。

福州外国语考。

Day [?, -2]

我是 frp,每晚七点双十绿色网吧等你来战。

带了电脑去学校。

然后每天晚上在宿舍打 mc 或 i wanna。

由于自习课都润机房了,于是欠了一大坨的作业,放到课上库库补。

感觉 whk 和 OI 都没法平衡了捏。

Day -2 晚上家长把圣剑送来了,放宿舍抽屉充电,然后老兵(宿管)不知道怎么就来了,于是很顺利地被抓了。

疑似 517 开热点,抓到咱头上了 /fn。

老兵人还怪好的嘞,看我明天润福州就还我了。

看群里发现家长都在交钱,觉得很疑惑,不是免费吗,到 noi 官网一看,是带队老师免费。

瞎。

Day -1

刷手机到两点。

怎么有人半夜睡然后上课根本不困的。

由于是十点才走,打算听两节课。

掏出手机看一眼锣鼓,发现 __int__ 被 jc,遂转发。

顺便被 zmh 转了。

第二节一下课就润,顺便给贝肯拍了张骇死人的照片。

brt 晃到火车站。

从北广场绕到南广场才进的站。

内向胆小腼腆,一路上没跟几个人说过话。

上车。

手机没啥电了,想着等会车上充一下,印象中动车每个座位底下都会有插座,可以充。

但我找了半天没有诶,这是动车吗。

在车厢前段找到了插座,充。

打了好久的 i wanna,看了一会题,但一题都没做。

给 i wanna 写了个自己按 z 的 py 程序,然后它按的没我手按的快。

下车,大巴晃晃晃到酒店。

看酒店大堂有个咖啡机,于是炫了一杯卡布奇诺。

打崩铁,被 zjw 搭话,顺便认识了一下。

ww 终于有人能聊天了。

其实倒也不是谁都不认识,比如有俩是见的比较多的,但都不熟,甚至有一个都和我一样从一中来的,但比我还内向胆小腼腆。

和那个一中的哥们分到了同一间。

玩电脑。玩电脑。玩电脑。玩电脑。玩电脑。玩电脑。

吃饭。

辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣。

玩电脑。玩电脑。玩电脑。

开了个会,说福外的机子内存就 4g,系统还占了 2g,逆天。

洗澡,发现沐浴露的味道和大堂里的一样。

打了两把农,想着赢一把就睡,玩到了十一点都没赢。

睡觉。

Day 0

睡不着。睡不着。睡不着。

酒店的被子是连着床尾的,拉不上来就很难受,而且忘了开空调,热的半死,旁边那哥们也睡了,我也不敢开,怕打扰他,再加上我下午喝了咖啡、

1:18 发了个动态,

如果我这次 noip 似了,卡布奇诺全责。

上个厕所,顺便开了个空调。

1:29 睡着。

6:30 醒。

不知道是不是吹空调吹的,一直流鼻涕。

早饭炫了一堆培根,豪赤。

顺便再来一杯卡布奇诺。

收东西,走路到福外。

福外外边一堆人,好像是考美术的。

ccf 你咋这么会挑日子,上次 csp 和成人高考撞上,现在和艺考撞上。

十分迅速地拍了个照发朋友圈和动态、

交了手机耳机手表,进学校。

一进学校就能看见福外的高级放洋屁,好像是德语(

教学楼总给我一种那种老社区的居民楼的感觉。

候考。

看见有一些实验中学的,感觉很奇怪,实验中考市排一万好像就能上,咋还出了一堆 csp 高分,这种爷不应该都来一双了吗。

进考场,看电脑桌面上有 360,chrome 点进去主页是 2345 的网址,这么牛。

看了眼任务管理器,内存是 8g 的,挺好。

开了 devcpp,被监考拿下了,不让打。

开考。

T1 想着是不是两段有交集的区间中可以随便排序,差不多就是如下

11100
00111

然后统计 [1, 5] 中 1 和 0 的个数计算就行了,但做法似乎假了。

不知道哪里写挂了,老是给我爆 RE,比如说 for (int i = 0; i < n; ++i) cout << v[i]; 会爆,但在 v[i] 后边多输出个空格就又不会爆了,就很奇怪。

然后 cnt1++ 和 cnt2++ 也能给我 RE 了。

啥东西。

T1 大样例性质 C 的点和最后一个点死活过不去,此时做了快 2h 了,遂放弃。

前面的人是不是平时都很暴躁啊,敲键盘敲的老大声。

开 T2,感觉题面写的十分甚至九分意义不明啊,但还是能理解就是了。

一开始想着打标记然后枚举一下,然后看到了 n \le 10^9

逆天。

看到结果似乎和 2^k \bmod (10^9+7) 有关,于是写了个 py 程序放后台跑,找对应的 k

但似乎没啥用。

多想一下好像组合数学就能处理,但是只推出了 m=1 的柿子,别的情况老是和样例不一样。

后面两没时间看了,全输出 0。

上个厕所,洗手台水龙头的摩擦力很大哈。

被 T2 硬控到考试结束。

心情很平静,不知道该说啥,这次也没写什么鲜花在代码里。

稍微估个 80pts 罢。

看了一下历年分数线,感觉差不多几十分就有三等,三等就三等吧,有奖就行。

不知道能不能混个省选啊,但我这个水平省选也是来混的,来了也是来玩的(

拍了合照,人机笑。

吃个饭,润了。

到火车站手机又快没电了。

动车上和教练坐一起,我在旁边打 i wanna。

打 mc 被小朋友围观。

哦那个小朋友好像比我还有实力 /kk。

拍了张很美的夕阳。

到厦门,直接润去学校拿作业,该补的还是得补(

Day 懒得算

在学校吃完饭发现出分时间提前了,于是一下冲到信息楼,发现办公室的门都是关的。

好急好急好急好急好急好急好急好急好急。

回了家拿到代码直接测,75pts,差不多二三等。

随便啦,开心就好,明年再来。

测了一些别的同学的代码,感觉这些题个人差很严重啊,有些佬 T1 T2 都爆了,但反而有些更菜一点的 AC 了。

省选不知道能不能去,但现在 oi 也得放下一会了。

恶补 whk。恶补 whk。恶补 whk。恶补 whk。恶补 whk。恶补 whk。恶补 whk。

code

#include <bits/stdc++.h>
#define db cout<<"AAA\n";

using namespace std;

const int N = 1e5 + 9;

int T, n;
string a, b, s, t;
bool v[N];

int main() {

    freopen("edit.in", "r", stdin);
    freopen("edit.out", "w", stdout);

    cin >> T;
    while (T--) {
        int ans = 0;
        memset(v, 0, sizeof v);
        cin >> n >> a >> b >> s >> t;
        int l, r;
        int f = 0;
        for (int i = 0; i < n; ++i) {
            if (s[i] == '1' && !f) {
                l = i;
                f = 1;
            }
            if (s[i] == '0' && f == 1) {
                r = i - 1;
                f = 2;
            }
            if (f == 1) {
                //cout << i << '\n';
                v[i] = 1;
            }
            if (r == l && f == 2) {
                //cout << l << '\n';
                v[l] = 0;
                f = 0;
            }
            if (t[r] == '1' && f == 2) {
                int j;
                for (j = r; j < n; ++j) {
                    if (t[j] == '0') break;
                    v[j] = 1;
                }
                f = 0;
            }
        }
        //for (int i = 0; i < n; ++i) cout << v[i] << ' ';
        //cout << '\n';
        int cnt1 = 0, cnt2 = 0, len;
        f = 0, l = 0, r = 0;
        for (int i = 0; i < n; ++i) {
            //cout << f << '\n';
            if (v[i] && !f) {
                l = i;
                f = 1;
            }
            else if (!v[i] && f) {
                r = i - 1;
                f = 0;
                len = r - l + 1;
                ans += (min(cnt1, cnt2) + min(len - cnt1, len - cnt2));
                cnt1 = 0;
                cnt2 = 0;
                len = 0;
            }
            if (!v[i] && !f) {
                if (a[i] == b[i]) ++ans;
            }
            if (f) {
                if (a[i] == '1') ++cnt1;
                if (b[i] == '1') ++cnt2;
            }
        }
        if (f) {
            r = n - 1;
            len = r - l + 1;
            ans += (min(cnt1, cnt2) + min(len - cnt1, len - cnt2));
        }
        cout << ans << '\n';
        cnt1 = 0, cnt2 = 0, len = 0;
        l = 0, r = 0, ans = 0;
        f = 0;
    }

    return 0;
}
/*
1
6
101100
010111
110111
111101

101100
010111

101010
101011
*/
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const ll N = 1e5 + 9, mod = 1e9 + 7;

ll T, n, m, v;
ll c[N], d[N];
map<ll, ll> p;

ll fpm(ll a, ll b, ll m) {
    ll r = 1;
    a %= m;
    while (b) {
        if (b & 1) r = r * a % m;
        a = a * a % m;
        b >>= 1;
    }
    return r;
}

int main() {

    freopen("assign.in", "r", stdin);
    freopen("assign.out", "w", stdout);

    cin >> T;
    while (T--) {
        p.clear();
        ll ans = 1, k = 0, cnt = 0;
        bool f = 0;
        cin >> n >> m >> v;
        for (ll i = 1; i <= m; ++i) {
            cin >> c[i] >> d[i];
            if (p[c[i]]) {
                if (p[c[i]] != d[i]) {
                    ans = 0;
                    f = 1;
                    break;
                }
                else {
                    k++;
                    continue;
                }
            }
            else p[c[i]] = d[i]; 
            if (p[c[i] - 1]) cnt++;
            if (p[c[i] + 1]) cnt++;
        }
        m -= k;
        if (m == 1 && !f) ans = fpm(v * v, n - 1, mod);
        else if (m != 1 && !f) {
            ans = (((fpm(v * v, cnt + 1, mod) * fpm(cnt + 1, m - 1, mod) % mod) * m % mod) * m) % mod;
        }
        //for (int i = 1; i <= n; ++i) cout << p[i] << ' ';
        cout << ans << '\n';
    }

    return 0;
}
// 129600
#include <bits/stdc++.h>

using namespace std;

int main() {

    freopen("traverse.in", "r", stdin);
    freopen("traverse.out", "w", stdout);

    cout << 0;

    return 0;
}
#include <bits/stdc++.h>

using namespace std;

int n, u, v, q, l, r, k;

int main() {

    freopen("query.in", "r", stdin);
    freopen("query.out", "w", stdout);

    cin >> n;
    for (int i = 1; i < n; ++i) {
        cin >> u >> v;
    }
    cin >> q;
    while (q--) {
        cin >> l >> r >> k;
        cout << 0 << '\n'; 
    }

    return 0;
}