【反思】洛谷8月月赛 Div.2 & RiOI Round 2 赛后反思

RiOI R2 赛后反思

赛时开了一个 T1, 但是 \(0pts\), 然后就跑去跟人对线然后复盘(主要是我的锅,我忘记对线怎么开始的了)到了吃饭(雾

不过本来我也不会做,不能怪人家

赛后是 shenshen 教我 T1 + 看的若归老师的反思捏

推歌:歌爱ユキ&稲葉曇《キミに回帰缐》(希望没打错

是我的错吗
铅笔盒里的东西消失了
身体也轻飘飘起来

这首歌简直每个字都是在说我自己,所以从听到第一次到现在都很喜欢。

听稻不听这首?没品!听稻不听这首?没品!听稻不听这首?没品!听稻不听这首?没品!听稻不听这首?没品!听稻不听这首?没品!听稻不听这首?没品!听稻不听这首?没品!听稻不听这首?没品!
——网易云热评

展开目录

A hacker

当时看到位运算下意识找规律,结果找的数太小没有代表性(瘫

这个观点 shenshen 跟我说过,若归老师的博客里也有,这里引用一下若归老师的博客:

若转出二进制后第 \(i\)\(n\) 的值为 \(1\),\(m\) 的值为 \(0\), 需要进行 「ACCEPT」操作。
若转出二进制后第 \(i\)\(n\) 的值为 \(0\),\(m\) 的值为 \(1\), 需要进行「BOTH」操作。

所以只有 \(0,1,2\) 三种可能(相等,进行一次或/与操作,或/与操作都进行);

如果 \(a | b = a\), 则说明 \(a\)\(b\) 的子串,反之亦然,由此可以得到 AC 代码。

展开代码
#include<bits/stdc++.h>
#define ll long long
#define Mywife Cristallo
using namespace std;
const int N = 2 * 1e5 + 5;
ll T, n, m;
int main() {
    scanf("%lld", &T);
    while(T--) {
        scanf("%lld%lld", &n, &m);
        if(n == m) {printf("0\n"); continue; }
        if(((n | m) == n)||((n | m) == m)) printf("1\n");
        else printf("2\n");
    }
    return 0;
}

看到了出题人的代码:

#include<iostream>
long long t,x,y,z;
int main(){std::cin>>t;while(t--)std::cin>>x>>y,z=x&y,printf("%d\n",(z!=x)+(z!=y));}

感觉打开了新世界的大门。

B weight

从这题开始shenshen一直担任着战地记者的艰巨工作所以我是看若归老师博客学的

若归老师说可以压缩成一维,排序后二分,但是其实不用二分也行:

展开代码
#include<bits/stdc++.h>
#define ll long long
#define Mywife Cristallo
using namespace std;
const int N = 1e3 + 5;
int n, q, v, a[N * N], flag;
int main() {
    scanf("%d%d", &n, &q);
    for(int i = 1; i <= n * n; ++i) scanf("%d", a + i);
    sort(a + 1, a + 1 + n * n, greater<int>());
    while(q--) {
        flag = 0;
        scanf("%d", &v);
        for(int i = 1; i <= n; ++i) if(a[i] < v) {flag = 1; printf("%d\n", i - 1); break; }
        if(!flag) printf("%d\n", n);
    }
    return 0;
}

感觉自己总是有一些让人摸不着头脑的 CE:

C equals

听说暴搜卡常+特判能过,不知道

正解似乎是贪心

反正看不懂

change

《div.2》

《黑题》

posted @ 2023-08-06 08:31  _Kiichi  阅读(100)  评论(4编辑  收藏  举报