???

为什么上来就有三个问号?

这也说明今天的不同

标题你们也看了

没错

我们就是要来讲讲省选落选,怎么进NOI。

声明:以下事件没有任何批判的意思,只是阐述事实

之前看到NOI的参赛选手分为ABCD四类

于是就好奇这四类有什么区别

于是上网搜了一下,找到如下结果:

学习第七天(揭露进入NOI的特殊方法)_类名

很明显,我被右下角的回复给吸引了

没办法,我是个穷鬼,这个W一开始还是震到我了

于是我开始调查

在官网上找到了CD类名额分配方案的文件,但其中C类的规定比较模糊:

学习第七天(揭露进入NOI的特殊方法)_#include_02

什么算巨大贡献呢?

给CCF捐献10W,好像的确是个重大的贡献

似乎名正言顺

而且有如下一个条款:

学习第七天(揭露进入NOI的特殊方法)_类名_03

所以还是要缴费的

但是具体是多少并没有提到。

但我紧接着就发现D类名单上有一个我认识的人,于是果断的问他:

学习第七天(揭露进入NOI的特殊方法)_#include_04

出于保护隐私,该糊的都糊掉了
这么一看的确是坐实了
既然D类是2W,那么我觉得那个10W恐怕也是真的。

当然,这并没有什么黑暗的东西,其实透明度还是很好的
虽然价格不菲,但的确为大家提供了一个途径,而且CCF也不容易,毕竟不是一个盈利性的组织。
反正我是没机会了,今年就要AFO了
祝你们好运!

信息学

第一题:寻找主人

这一题很水,直接用最小表示法即可
​寻找主人题解​​

我就不另讲了
代码如下:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=1000005;
char a[maxn],b[maxn];
//int n;
int getmin(char* c){
int n=strlen(c);
int i=0,k=0;
int j=1;
while(i<n&&j<n){
if(c[i]<c[j]){
j++;
}else if(c[i]>c[j]){
i=j++;
}else{
for(k=1;k<n;k++){
if(c[(i+k)%n]<c[(j+k)%n]){
j=(j+k+1);
break;
}else if(c[(i+k)%n]>c[(j+k)%n]){
i=j;
j=(j+k+1);
break;
}
}
}
}
return min(i,j);
}
int main(){
scanf("%s%s",a,b);
int aa=getmin(a);
int bb=getmin(b);
int n=strlen(a);
for(int i=0;i<n;i++){
if(a[(aa+i)%n]!=b[(bb+i)%n]){
printf("No");
return 0;
}
}
printf("Yes\n");
for(int i=0;i<n;i++){
printf("%c",a[(aa+i)%n]);
}

return 0;
}

第二题:Tab

这道题,哇,波兰的
好像也就一条有趣的性质就能解决
那就是无论怎么变换
原来在同一行的,变换后还在同一行
原来在同一列的,变换后还在同一列
而且,请注意,元素各不相同!!!
(我一开始没有看见,折腾了一会)
所以我们对于第一个矩阵,记录他的每一个元素的位置
然后读入第二个矩阵的时候判断即可
代码如下:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int T,n,m;
int visx[2000005],visy[2000005];
int a[1005][1005];
int b;
const int maxn=1000000;
int main(){
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
memset(visx,-1,sizeof(visx));
memset(visy,-1,sizeof(visy));
bool jud=true;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%d",&b);
visx[b+maxn]=i;
visy[b+maxn]=j;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%d",&a[i][j]);
if(visx[a[i][j]+maxn]==-1||visy[a[i][j]+maxn]==-1){
jud=false;
}else if(visx[a[i][j]+maxn]!=visx[a[i][0]+maxn]||visy[a[i][j]+maxn]!=visy[a[0][j]+maxn]){
jud=false;
}
}
}
if(jud){
printf("TAK\n");
}else{
printf("NIE\n");
}


}
return 0;
}

第三题:嘿嘿嘿,明天继续

物理

找了去年清华的夏令营卷子做了一下,感觉还可以

数学

今天,把昨天的卷子简单订正了一下
然后就开始愉快的刷题了
在刷数学的时候,有了自己的一些感想
其实有时候刷题要比思考简单的多
事实上,思考有时是很难受的
而刷题不需要思考
所以有时候刷题也会感觉到快乐
但也不能刷题过多
因为总会有迷茫的那一天

总结

没错,我又把面试给忘了
呵呵
明日复明日,明日何其多
既然明天这么多,那么我们花费一个明天来做这个事,应该可以吧?
明天加油。