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》
《黑题》
标签:没品,洛谷,int,long,Div.2,反思,听稻,这首 From: https://www.cnblogs.com/Kiichi/p/RiOIR2fansi.html