GDOI 2021 普及组溺水记
Day 1
T1
一看样例:答案不就是 \(\dfrac{\max_{i=1}^n a_i +1}{2}\) 吗?
于是自信打上,拍都不拍。然后就,,对了?
插曲:自己出了一个极端数据,发现 scanf 跑了 \(1.05s\) ,急忙打了一个快读
T2
开始打了一个暴力,就连样例都 T 飞
后来想好像一直向前是最优的,于是打了一个这
然而我没有全排列,炸了。
正解:
#include<bits/stdc++.h>
using namespace std;
const int N=43200;
int T,sx,sy,sz,ex,ey,ez,ans;
inline int A(int x,int y) {
return min(abs(x-y),N-abs(x-y));
}
inline bool check() {
if(A(sx,sy)==A(ex,ey)) {
if(A(sy,sz)==A(ey,ez))return 1;
if(A(sz,sx)==A(ey,ez))return 1;
}
if(A(sx,sz)==A(ex,ey)) {
if(A(sz,sy)==A(ey,ez))return 1;
if(A(sy,sx)==A(ey,ez))return 1;
}
if(A(sy,sz)==A(ex,ey)) {
if(A(sz,sx)==A(ey,ez))return 1;
if(A(sx,sy)==A(ey,ez))return 1;
}
return 0;
}
int main() {
freopen("rescue.in","r",stdin);
freopen("rescue.out","w",stdout);
scanf("%d",&T);
while(T--) {
scanf("%d%d%d%d%d%d",&sx,&sy,&sz,&ex,&ey,&ez);
ans=2100000000;
for(int i=0;i<N;i++) {
if(check()) ans=min(ans,min(i,N-i));
sx=(sx+1)%N,sy=(sy+12)%N,sz=(sz+720)%N;
}
if(ans==2100000000)puts("ERROR");
else printf("%d\n",ans);
}
}
T3
一道神奇的题目,直接贪心找环,然而直接爆零
总结
T1:规律题要打对拍,不然风险太大
T2:考虑要全面
T3:学会放弃
出成绩
膜拜广州二中高手,其实
如果 BF 来估计能 AK
总分 \(100+40+0=140\)
Day 2
T1
想到了 KMP ,然后又想到之前的一道题,于是陷入单个数组的查分无法自拔
赛后:我*,只要移一下项就可以了!!!!!!!!!!!!!!!!!!
Sol:题意变为 \((x_{i+j-1}+z_j)\mod 256=y_{i+j-1}\) 移项后 \((y_{i+j-1}-x_{i+j-1}+256)\mod 256=z_j\)
等量代换后是一个 kmp 模板
#include<bits/stdc++.h>
using namespace std;
const int N=200005;
int n,m,A,B,C,D,E,x[N],y[N],z[N],nxt[N],ans[N],len;
int main() {
freopen("noise.in","r",stdin);
freopen("noise.out","w",stdout);
scanf("%d%d%d%d%d%d%d",&n,&m,&A,&B,&C,&D,&E);
for(int i=1;i<=n;i++)scanf("%d",&y[i]);
for(int i=1;i<=m;i++)scanf("%d",&z[i]);
x[1]=A;
for(int i=2;i<=n;i++)x[i]=((x[i-1]<<B)+(x[i-1]>>C)+D)%E;
for(int i=1;i<=n;i++)y[i]=(y[i]-x[i]+256)%256;
for(int i=2,j=0;i<=m;i++) {
while(j && z[i]^z[j+1])j=nxt[j];
if(z[i]==z[j+1])j++;
nxt[i]=j;
}
for(int i=1,j=0;i<=n;i++) {
while(j && y[i]^z[j+1])j=nxt[j];
if(y[i]==z[j+1])j++;
if(j==m)ans[++len]=i-m+1,j=nxt[j];
}
if(!len)return puts("wrong"),0;
printf("%d\n",len);
for(int i=1;i<=len;i++)printf("%d ",ans[i]);
}
T2
好的,连续三个数异或不为 0:有手就行
多一个数:*
推了半个小时式子的我放弃去打了一个 dfs
T3
直接一个贪心 \(O(n^3)\) 似乎常数太大导致没有 \(50\)
或者贪心错误
总之这个分骗地可以
总结
T1:合并同类项
T2:学会放弃
T3:加个快读
出成绩
巨啊 \(LWT\) 160 ,比 \(SJH\) 多 \(10pts\) 可还行
一个周末就这么度过了,回去不用写作业的欢乐
题外话
DY 宿舍欢乐多
—— GTJ
可能 ZS 只有我们带了电脑
edge://surf
好家伙一个比小恐龙好玩的玩意儿,比赛时都可以腐
监考老师看了我一眼然后若有所思的笑了
耀华实验学校
床是真的矮,一坐下去可能会撞头。。。然后一天 400
伙食也一般。可能是深圳市大城市,房价物价都贵
成群的巨佬
1 年初中, 1 年高中。 22 岁麻省理工博士的科学家。。。
国外各大大学的学霸们。。。
初二报送清华,高一全省第一进省队的。。。
All At All
第一次打省赛,炸的惨
唯一的收获:数位 dp,反悔的贪心,一做就废的推公式技巧,一支笔,一个本子
没了
总而言之:体味了负面情感
这未必是件坏事
丰富我们的人生阅历
把负面情感转换为成长助力,可以获得美好情感
加油吧
最新文章
- canvas画布属性globalAlpha 和 createRadialGradient函数出现的设置问题
- ThinkCmfX模板常量
- android修改debug keystore文件使之和正式keystore sha1一致
- 【解决】SharePoint Foundation 2013 未显示搜索框
- (转载)FT232RL通信中断问题解决办法总结
- noip2014-day2-t2
- hdu 1269 迷宫城堡 强连通分量
- encodeURI(encodeURI(name)) ;文件上传
- 【jsonp】
- ASP.NET MVC5+ORACLE 身份认证
- [LeetCode226]Invert Binary Tree
- RabbitMQ-从基础到实战(3)— 消息的交换
- 测试输出System.err与System.out
- Android-Gradle(四)
- 常见的JavaWeb安全问题及修复
- 什么是CLOS架构?
- 微信小程序记账本进度六
- Vue.js基础(二)
- Racket Cheat Sheet
- JSP九大内置对象与Servlet学习笔记[转]