NOIP模拟测试19考试反思
这次考试是存在很大问题的,(如果不是T1T2出乎意料地A了,鬼知道会发生什么)
T2A是情理之中,考试的时候测的极限数据跑的很快(无论m什么范围),但是T1真的。。。。。。
T3没有分配太多的时间+没有看清题,WA0
T1正解:这道题,只要有N/D个节点的size可以整除D,那么就可行。
如果说某个节点的size可以整除D,那么当递归到这个节点的时候,一定会把这个节点的子树砍掉,而且砍掉的大小至少为D,则D*N/D即可
主要想说一下T2的优化思路:
基础:二分答案+检验O(n^2*log n)
我们可以发现,在检验的时候,第一个区间是可以直接枚举的,这样就把枚举起点改成枚举第一个区间
bool check(int tim){
register int tot=,tl=n+,tr=n+;
register int now=a[n+],cnt;
while(now<=tim)tl--,now+=a[tl];now-=a[tl],tl++;
while(now<=tim)tr++,now+=a[tr];now-=a[tr],tr--;
while(tl!=n+){
cnt=;tot=;
for(register int j=tr+;j<=tl+n-;j++){
if(j+t<=tl+n-&&sum[j+t]-sum[j-]+tot<=tim){tot+=(sum[j+t]-sum[j-]);j+=t;continue;}
tot+=a[j];if(tot>tim)tot=a[j],cnt++;if(cnt>m){cnt=m+;break;}
}
if(cnt<=m)return ;
now-=a[tl];tl++;while(now<=tim)tr++,now+=a[tr];now-=a[tr],tr--;
}
return ;
}
如代码所示,
这个区间的数量是小于n的(先把左指针移动到最左,然后尽可能往右移动右指针,后面每次左指针右移一个,右指针再尽量扩展)
这样就可以跑过m较大的数据(>100都可以),要是知道数据是2333我就不优化了但追求卓越的我们还要去跑过m较小的点,如果m比较小,那么分出来的区间就是比较大的,然后分块大法就应运而生。
预处理出来前缀和,代码中的t就是根号n,即:能跳就直接跳,倍增思路也是类似。
成功AC,比正解快一倍(逃)
也许,当对正解毫无头绪的时候,优化暴力才是最好的做法。
T3并不难(本来以为会有很多AK的23333333),却没有时间去思考了。
时间分配
下次加油吧
NOIP模拟测试19考试反思的更多相关文章
- 20190716 NOIP模拟测试4 考试反思
总分 127分 满分300 第一题 礼物 10分 一道期望题,看起来挺简单,但对于概率与期望这一块我还不怎么会,花了一个小时调他,最后只QJ了一下10%的测试点 第二题 通讯 90分 显然的缩点求解, ...
- NOIP模拟测试36考试反思
这次考试..炸裂,归根到底是心态问题,考试的时候T1秒正解,但是调了三个小时死活没调出来,最后弃了,T2极水,没时间打了,T3题看都没看,总而言之就是不行. 教练说的对,一时强不一定一直强,心态其实也 ...
- NOIP模拟测试19「count·dinner·chess」
反思: 我考得最炸的一次 怎么说呢?简单的两个题0分,稍难(我还不敢说难,肯定又有人喷我)42分 前10分钟看T1,不会,觉得不可做,完全不可做,把它跳了 最后10分钟看T1,发现一个有点用的性质,仍 ...
- [考试反思]NOIP模拟测试19:洗礼
[]260 []230[]210 []200[8]170[9]160 这套题一般,数据很弱,T1T2暴力都能A,而且都是一些思维题,想不到就爆0. 原因不明,很多一直很强的人在这一次滑铁卢了,于是我个 ...
- 2019.8.13 NOIP模拟测试19 反思总结
最早写博客的一次∑ 听说等会儿还要考试[真就两天三考啊],教练催我们写博客… 大约是出题最友好的一次[虽然我还是炸了],并且数据也非常水…忽视第三题的锅的话的确可以这么说.但是T3数据出锅就是你的错了 ...
- NOIP模拟测试19
T1: 题目大意:将一颗有N个节点的树分割,使得每个联通块大小相等,问一共有多少方案.(N<=1000000) 首先,一条很显然的性质,每个联通块的大小一定是N的因子. 然后,我们可以对于每个因 ...
- 「题解」NOIP模拟测试题解乱写II(36)
毕竟考得太频繁了于是不可能每次考试都写题解.(我解释个什么劲啊又没有人看) 甚至有的题目都没有改掉.跑过来写题解一方面是总结,另一方面也是放松了. NOIP模拟测试36 T1字符 这题我完全懵逼了.就 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组
2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色
2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维 ...
随机推荐
- Redis 哨兵机制以及灾难演练
#### 哨兵都采用这个配置即可 ##### 1.修改sentinel.conf配置文件 
服务控制管理器 (SCM, Service Control Manager),它在系统启动时自动启动,其主要作用是维护和管理一张服务信息表. OpenSCManager() 介绍:功能:建立了一个到服 ...
- Cobalt Strike之信息收集、木马钓鱼
System Profiler使用 System Profiler 模块,搜集目标的各类机器信息(操作系统版本,浏览器版本等) Attacks->web drive-by->System ...
- Cocos2d-x 学习笔记(11.7) Repeat RepeatForever
1. 成员变量 Repeat: unsigned int _times; //create参数 unsigned int _total; //执行的次数 float _nextDt; //startW ...
- Linux的一些常用命令(一)
linux 快捷键1.ls 列出本地址上文件, -a 列出所有(包括隐藏文件) -l 按照列表方式显示 -t 按照时间方式排序 2.touch 创建文件 3. echo 'abc' > 文件名 ...
- 利用python模拟菜刀反弹shell绕过限制
有的时候我们在获取到目标电脑时候如果对方电脑又python 编译环境时可以利用python 反弹shell 主要用到python os库和sokect库 这里的服务端在目标机上运行 from sock ...
- postman-windows下newman的使用
一.newman的安装 1.安装node.js下载https://nodejs.org/en/ C:\Users\iphauser>node -vv10.16.1C:\Users\iphause ...
- C# 求Π Π/4=1-1/3+1/5-1/7+......+1/(2*n-3)-1/(2*n-1); (n=2000)
double a = 0.0;//最终Π的结果 double类型 int n; for (n = 1; n <= 2000; n++) { if (n % 2 == 1) { a += 1.0 ...
- ESP32 开发之旅① 走进ESP32的世界 安装开发环境
1.前言 欢迎大家来到ESP32的世界,从现在开始,笔者将带领大家慢慢揭开ESP32神秘的面纱. 在学习ESP32之前,博主希望读者能有ESP8266的学习基础(ESP32 Wifi模 ...
- 触摸屏键盘插件Virtual Keyboard 该怎么用 Virtual Keyboard 入门指南
最近公司有个项目,这个项目的显示器是触摸屏, 所以在一些需要简单输入的input需要加一个触摸屏的软键盘, 我在github上找了很多开源项目,最后选择了Virtual Keyboard, 以下是我自 ...