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,反悔的贪心,一做就废的推公式技巧,一支笔,一个本子
没了
总而言之:体味了负面情感
这未必是件坏事
丰富我们的人生阅历
把负面情感转换为成长助力,可以获得美好情感
加油吧
GDOI 2021 普及组溺水记的更多相关文章
- GDOI 2022 普及组游记
To LuoguDAY -1 期中考成绩下来了,全无了除了历史 (96) 和生物 (95) 还能看,剩下的-,语文 101.5 ,少错一道选择和断句就 107.5 了,居然比雌兔还低 数学少错一道选择 ...
- NOIP2017普及组翻车记
我就是一个这么个人:平常训练好好的,一到考场就炸. 不管是NOIP还是考试都是这样. 比赛时我脑抽,第二题相减后,居然一点一点地模10. 后来觉得很慢,用近乎一个小时时间,打了另一个方法(不是字典树, ...
- noip2017爆炸记——题解&总结&反省(普及组+提高组)
相关链接: noip2018总结 noip2017是我见过的有史以来最坑爹的一场考试了. 今年北京市考点有一个是我们学校,我还恰好被分到了自己学校(还是自己天天上课的那个教室),于是我同时报了普及提高 ...
- [题解]noip2016普及组题解和心得
[前言] 感觉稍微有些滑稽吧,毕竟每次练的题都是提高组难度的,结果最后的主要任务是普及组抱一个一等奖回来.至于我的分数嘛..还是在你看完题解后写在[后记]里面.废话不多说,开始题解. 第一题可以说的内 ...
- NOIP2017普及组初赛试题及答案
普及组C++语言试题 一.单项选择题(共 20 题,每题 1.5 分,共计 30 分:每题有且仅有一个正确选项) 1.在 8 位二进制补码中,10101011 表示的数是十进制下的( ). A. 43 ...
- 2017.12.10《“剑锋OI”普及组多校联盟系列赛(14)#Sooke#Kornal 的课余时间 》分析报告
报告内容如下 - - [导语] ------ 太晚了,时间也紧,一切尽量从简吧 PS:本文题目来自剑锋OI 所以废话也不多说,进入正题吧,代码直接跟在题目后边儿,主要分析在代码前,次要的就写在代码后面 ...
- NOIP2018普及组模拟赛
向老师给的模拟赛,还没普及组难... 题目在洛谷团队里. 第一试三道水题,我46分钟就打完了,然后就AK了. 第二试一看,除了第二题要思考一段时间之外,还是比较水的,但是我得了Rank倒1,115分. ...
- noip2016普及组题解和心得
前言 感觉稍微有些滑稽吧,毕竟每次练的题都是提高组难度的,结果最后的主要任务是普及组抱一个一等奖回来.至于我的分数嘛..还是在你看完题解后写在[后记]里面.废话不多说,开始题解. (其实这篇博客只有题 ...
- noip2017普及组
过了这么久才来写博客,也是我这么一段时间都很低迷吧.... 老实来说,今年应该是要打提高组的...可还是打了普及组... 其实最猥琐的还是我连普及都写挂了,作为一个学了两年的人,图论,进阶dp都写过的 ...
随机推荐
- MFC软件国际化的几个问题及其解决方案
作者:马健 邮箱:stronghorse_mj@hotmail.com主页:https://www.cnblogs.com/stronghorse/ 以前我以为PDG相关软件只会在国内流行,所以发行简 ...
- CTF大赛模拟-CFS三层内网漫游
CTF大赛模拟-CFS三层内网漫游 环境: 三台虚拟机,三个网络. target 1:192.168.161.178 ,192.168.52.132 (linux) target 2:192.168. ...
- 在Vue3项目中使用pinia代替Vuex进行数据存储
pinia是一个vue的状态存储库,你可以使用它来存储.共享一些跨组件或者页面的数据,使用起来和vuex非常类似.pina相对Vuex来说,更好的ts支持和代码自动补全功能.本篇随笔介绍pinia的基 ...
- 新手小白入门C语言第六章:C运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 小编将会为大家逐一介 ...
- 使用 VS Code 撰写 Markdown 文档
众所周知, VS Code 是微软和社区一起开发的一款很优秀的高级代码编辑器.它不仅可以写出一手好代码,还能写出一篇好文章.利用 Markdown 就可以写出一篇排版美观的技术文章了. 而 Markd ...
- 人机验证reCAPTCHA v3使用完备说明
v2简介 相信大家都碰到过下面的展示的 人机验证界面: reCaptcha 是 Google 公司的验证码服务,方便快捷,改变了传统验证码需要输入n位失真字符的特点. reCaptcha 在使用的时候 ...
- Java基础语法Day_01
第1节 java运行环境 day01_01_Java语言发展史 day01_02_计算机进制转换 day01_03_计算机存储单元 day01_04_命令提示符_基本介绍 day01_05_命令提示符 ...
- 『现学现忘』Git对象 — 15、blob对象介绍
目录 (一)Git对象的存放目录 (二)Git中对象类型 (三)blob对象 1.blob对象说明 (1)blob对象定义 (2)blob对象说明 (3)blob对象存储的方式 (4)查看blob对象 ...
- 【VMware】在移动硬盘或U盘中安装便携linux系统
背景: 操作系统课需要在Linux环境下进行编程.本来是给了个傻瓜式的Ubuntu虚拟机镜像,但奈何虚拟机这东西我这老本子跑起来巨卡,装双系统又卡,只能选择把系统装进便携设备里了. 前期准备: 一个2 ...
- 将Excel数据转换为Java可识别时间(Date、Timestamp)
引言 Excel的时间,POI读取到的是double,这个值不是timestamp.需要进行一些转换,将它转换为Date或者Timestamp. Excel中的日期数据: 程序中读取到的数据: 如何转 ...