Record -「NOIP-S 2020」赛后总结
不是特别想说伤心的事情。
T1 一遍过完所有大样例,此时只过去了十几二十分钟,不过之前花了半个小时通读了整个 PDF 所以此时大概过了 1h。
T2 大概花了十几分钟胡出了一个反着枚举就是正解的 n^2 暴力。
又花了一个多小时写出了一个能过第一个小样例的 180 行垃圾。
然后,就没有然后了。
后面三个小时全部调试去了。
大概可以从这里看到我考场思路的经过
//T1:给你n个点,其中m个没有入度,接受.
//没有出度为终点.问,每个终点最终的水量.
//先考虑直接模拟.
//找出m(m很小)个起点,然后,dfs.
//Beware of your long long
//过完dyl了,记得最后15min检查long long
//
//T2:数据范围大概1e5+5e4的样子。
//先考虑一个暴力。
//C是一定在最后的,我们考虑从后往前枚举C。
//然后看前面的循环的个数,设前面的循环节为SS。
//那么就有(|S|-|C|)/(|SS|)个基循环节。
//里面随便划分两个字符串分别做A,B,方案数为|S|-1。
//然后我们可以用基循环节再组成一些新的循环节,这个要看(|S|-|C|)/(|SS|)的因数个数。
//但是我们需要满足F(A)<=F(C)。
//这个我们每次统计一遍即可。
//但是但是
//如何找循环节?
//找出来了。
//然后,我们把循环节中所有前缀(不含空串)的F值找出来,计为funa[j],1<=j<i。
//然后把(|S|-|C|)/(|SS|)的因数分解出来,计为ps[k],然后就计算funa[j]*ps[k]<=F(C)的情况有多少种,但是时间复杂度好像退化le,好像没有,。算了先打。
//哦对了我们可以把funa排个序,用单调性来优化成O(n^2*log)应该能过一半左右。(funa本身不具有单调性。)
//
//思路比较乱,重新整理一下如何计算答案。
//设当前的C=S[i,n]。
//枚举的前缀A=S[1,j],B=S[j+1,i-1](不关心)
//设M=(|S|-|C|)/(|SS|),即基循环节=SS一共有多少节。
//设P(M)表示M的某一个因数。
//如果当前的F(A)<=F(C),那么对于P(M)为奇数的情况,我们用P(M)个SS可以重新组成又一个循环节。
//枚举一个j in [1,i-2],来计算答案。
//这里相当于把我们当前的S[1,i-1]分成了M段,看当前我们枚举的j在哪一段。
//设在第x段,如果x|M,那么ans+=M/x;否则ans++。
//计算当前在哪一段:
//法1:用变量
//法2:算
//恩,dyl没过。初步判断是算漏了,不存在算重的问题。
//不好像也有算多了。。。1
//大概知道哪里有问题了。
//当|SS|=1时,一个循环节里不知道怎么摆B。
//需要特判,当|SS|=1,不算基循环节的贡献。
//不过我答案是少了阿。。。
//还是不行。
//
//
//3
//nnrnnr
//zzzaab
//mmlmmlo
现场发明了一个不用 KMP 线性求循环节的方法(苦笑)。
lps[len] = mps[1];
// how to work the "loop day (xun huan jie)" out
// open an array to store the LD
// then (for j=2 to i-1), t o "beautiful orange (mei ju)" the prefix
// cur means currently we where we should match (under S LD meaning)
// len means the length of the LD
// lst means the previous fail matched position
// when we "lost match (shi pei)" we then add S[lst,j] into the LD
// then put lst into zero,put cur into one
// when finish 1 round matching (cur==len+1), we should:
// 1. change cur into 1
// 2. change lst into j+1
// remember to special check if the (|S|-|C|)/(|SS|) isn't in Z situation
for ( int j = 2; j < i; ++ j ) {
if ( mps[j] != lps[cur] ) {
cur = 1;
for ( int k = lst; k <= j; ++ k ) lps[++ len] = mps[k];
lst = j + 1;
}
else {
cur ++;
if ( cur == len + 1 ) cur = 1;
}
// oneDebug ( j, cur, lst, len );
}
if ( ( i - 1 ) % len ) {
len = i - 1;
for ( int j = 1; j <= len; ++ j ) lps[j] = mps[j];
}
中式英语令人愁。
中午大家一起吃饭的时候发现 T1 题读错了。
发现 T2 枚举 A 或者倒着枚举 C 咱就是对的呢。
SyadouHayami 说我 CCF 系列的比赛考一次炸一次。
我倒觉得不一定就是考得炸了,也许只是单纯的菜而已。
并不想写什么深刻的思考,这样反而不像我。
只是想说,没有办法,只能这样了。
已经做好听从 GM、ZSL、MOM、LF 的指令 go back 的准备了。
再见,明年再见。
Record -「NOIP-S 2020」赛后总结的更多相关文章
- 「NOIP模拟赛」数位和乘积(dp,高精)
统计方案数,要么组合数,要么递推(dp)了. 这是有模拟赛历史以来爆炸最狠的一次 T1写了正解,也想到开long long,但是开错了地方然后数组开大了结果100->0 T3看错题本来简单模拟又 ...
- 「NOIP模拟赛」Round 3
Tag 计数+LIS, 二分+ST表, 计数+记搜 A. 改造二叉树 Description 题面 Solution 如果目标序列非严格递增,或者说目标序列是不下降的,那么答案就是 \(n\) 减去最 ...
- 「NOIP模拟赛」Round 2
Tag 递推,状压DP,最短路 A. 篮球比赛1 题面 \(Milky\ Way\)的代码 #include <cstdio> const int N = 2000, xzy = 1e9 ...
- 「NOIP 2020」微信步数(计数)
「NOIP 2020」微信步数(Luogu P7116) 题意: 有一个 \(k\) 维场地,第 \(i\) 维宽为 \(w_i\),即第 \(i\) 维的合法坐标为 \(1, 2, \cdots, ...
- 「NOIP 2017」列队
题目大意:给定一个 $n times m$ 的方阵,初始时第 $i$ 行第 $j$ 列的人的编号为 $(i-1) times m + j$,$q$ 次给出 $x,y$,让第 $x$ 行 $y$ 列的人 ...
- 深圳即将启动首届「全国人工智能大赛」:超过 500 万大奖 & 政府资助,潜信息你读懂了吗!
人工智能加速“视频/视觉”发展,近期,深圳市即将迎来人工智能领域权威赛事之一——首届「全国人工智能大赛」(The First National Artificial Intelligence Chal ...
- 迄今为止最硬核的「Java8时间系统」设计原理与使用方法
为了使本篇文章更容易让读者读懂,我特意写了上一篇<任何人都需要知道的「世界时间系统」构成原理,尤其开发人员>的科普文章.本文才是重点,绝对要读,走起! Java平台时间系统的设计方案 几乎 ...
- 「Netty实战 02」手把手教你实现自己的第一个 Netty 应用!新手也能搞懂!
大家好,我是 「后端技术进阶」 作者,一个热爱技术的少年. 很多小伙伴搞不清楚为啥要学习 Netty ,今天这篇文章开始之前,简单说一下自己的看法: @ 目录 服务端 创建服务端 自定义服务端 Cha ...
- 转载:人家编写的程序:「雀神 AI」Suphx
下文转载自:https://news.51cto.com/art/202004/613746.htm 按:虽然还是玩棋牌乐的AI,但相对于我们日常编写的XX管理系统,好比哺乳动物 VS 鱼类了. 20 ...
- 「有数可据」选择IT行业的1000个理由!
这你要我编 我也编不出一千个呀 现如今转行IT 还需要1000个理由吗? 不 不需要的 一个就好 10月初 CSDN博主「有数可据」 发布了 2020年10月国内程序员薪资情况 他本人是这样说的☟ ...
随机推荐
- OSI7层模型和TCP/IP模型
前言 在计算机网络领域中,OSI7层模型和TCP/IP模型是两个重要的概念.本文将对这两个模型进行介绍和比较,让大家了解它们的区别和联系. 目录 前言 OSI7层模型 TCP/IP模型 OSI7层模型 ...
- Google Code Prettify 代码高亮插件使用小结
Google Code Prettify 是 Google 的一款代码高亮插件,它由 js 代码和 css 代码构成,用来高亮显示 HTML 页面中的源代码. Google Code Prettify ...
- DHCP配置;DHCP Relay配置
目录 DHCP 配置 实验拓扑 实验需求 实验步骤 1. 基于全局地址池的DHCP服务器给客户端分配IP地址 DHCP server 上配置如下 2. 在PC1上设置为DHCP自动获取方式,ipcon ...
- 无限分解流----Fork/Join框架
Fork译为拆分,Join译为合并Fork/Join框架的思路是把一个非常巨大的任务,拆分成若然的小任务,再由小任务继续拆解.直至达到一个相对合理的任务粒度.然后执行获得结果,然后将这些小任务的结果汇 ...
- 自然语言处理 Paddle NLP - 情感分析技术及应用-理论
自然语言处理 Paddle NLP - 信息抽取技术及应用 定义:对带有感情色彩的主观性文本进行 分析.处理.归纳和推理的过程 主观性文本分析:技术难点 背景知识 电视机的声音小(消极) 电冰箱的声音 ...
- 一个高性能、低内存文件上传流.Net组件
推荐一个用于轻松实现文件上传功能的组件. 项目简介 一个基于 .NET 平台的开源项目,提供了一个简单易用的 API,可以在 Web 应用程序中快速集成文件上传功能. 优化多部分流式文件上传性能:减少 ...
- Nginx使用Lua脚本加解密RSA字符串
本文主要介绍使用Lua脚本对采用RSA加密后的字符串进行解密的过程. 使用第三方类库lua-resty-rsa,参考地址:https://github.com/spacewander/lua-rest ...
- 基于GPT搭建私有知识库聊天机器人(四)问答实现
前文链接: 基于GPT搭建私有知识库聊天机器人(一)实现原理 基于GPT搭建私有知识库聊天机器人(二)环境安装 基于GPT搭建私有知识库聊天机器人(三)向量数据训练 在前面的文章中,我们介绍了如何使用 ...
- 基于ChatGPT上线《你说我猜》小游戏
摘要 AIGC.GPT.休闲小游戏三者可以怎么结合? AIGC.GPT与小游戏的结合为游戏体验带来了新的可能性.AIGC(Artificial Intelligence Game Content)作为 ...
- 订单逆向履约系统的建模与 PaaS 化落地实践
导读 本文重点介绍了京东零售电商业务在订单逆向履约上面的最佳技术实践,京东零售快退平台承接了零售几乎所有售前逆向拦截和退款业务,并在长期的业务和技术探索中沉淀了丰富的业务场景设计方案.架构设计经验,既 ...