这次考试是存在很大问题的,(如果不是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考试反思的更多相关文章

  1. 20190716 NOIP模拟测试4 考试反思

    总分 127分 满分300 第一题 礼物 10分 一道期望题,看起来挺简单,但对于概率与期望这一块我还不怎么会,花了一个小时调他,最后只QJ了一下10%的测试点 第二题 通讯 90分 显然的缩点求解, ...

  2. NOIP模拟测试36考试反思

    这次考试..炸裂,归根到底是心态问题,考试的时候T1秒正解,但是调了三个小时死活没调出来,最后弃了,T2极水,没时间打了,T3题看都没看,总而言之就是不行. 教练说的对,一时强不一定一直强,心态其实也 ...

  3. NOIP模拟测试19「count·dinner·chess」

    反思: 我考得最炸的一次 怎么说呢?简单的两个题0分,稍难(我还不敢说难,肯定又有人喷我)42分 前10分钟看T1,不会,觉得不可做,完全不可做,把它跳了 最后10分钟看T1,发现一个有点用的性质,仍 ...

  4. [考试反思]NOIP模拟测试19:洗礼

    []260 []230[]210 []200[8]170[9]160 这套题一般,数据很弱,T1T2暴力都能A,而且都是一些思维题,想不到就爆0. 原因不明,很多一直很强的人在这一次滑铁卢了,于是我个 ...

  5. 2019.8.13 NOIP模拟测试19 反思总结

    最早写博客的一次∑ 听说等会儿还要考试[真就两天三考啊],教练催我们写博客… 大约是出题最友好的一次[虽然我还是炸了],并且数据也非常水…忽视第三题的锅的话的确可以这么说.但是T3数据出锅就是你的错了 ...

  6. NOIP模拟测试19

    T1: 题目大意:将一颗有N个节点的树分割,使得每个联通块大小相等,问一共有多少方案.(N<=1000000) 首先,一条很显然的性质,每个联通块的大小一定是N的因子. 然后,我们可以对于每个因 ...

  7. 「题解」NOIP模拟测试题解乱写II(36)

    毕竟考得太频繁了于是不可能每次考试都写题解.(我解释个什么劲啊又没有人看) 甚至有的题目都没有改掉.跑过来写题解一方面是总结,另一方面也是放松了. NOIP模拟测试36 T1字符 这题我完全懵逼了.就 ...

  8. 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组

    2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...

  9. 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色

    2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维 ...

随机推荐

  1. Redis 哨兵机制以及灾难演练

    #### 哨兵都采用这个配置即可 ##### 1.修改sentinel.conf配置文件 ![image](https://img2018.cnblogs.com/blog/1334966/20191 ...

  2. Windows 服务程序(二)

    服务控制管理器 (SCM, Service Control Manager),它在系统启动时自动启动,其主要作用是维护和管理一张服务信息表. OpenSCManager() 介绍:功能:建立了一个到服 ...

  3. Cobalt Strike之信息收集、木马钓鱼

    System Profiler使用 System Profiler 模块,搜集目标的各类机器信息(操作系统版本,浏览器版本等) Attacks->web drive-by->System ...

  4. Cocos2d-x 学习笔记(11.7) Repeat RepeatForever

    1. 成员变量 Repeat: unsigned int _times; //create参数 unsigned int _total; //执行的次数 float _nextDt; //startW ...

  5. Linux的一些常用命令(一)

    linux 快捷键1.ls 列出本地址上文件, -a 列出所有(包括隐藏文件) -l 按照列表方式显示 -t 按照时间方式排序 2.touch 创建文件 3.  echo 'abc' > 文件名 ...

  6. 利用python模拟菜刀反弹shell绕过限制

    有的时候我们在获取到目标电脑时候如果对方电脑又python 编译环境时可以利用python 反弹shell 主要用到python os库和sokect库 这里的服务端在目标机上运行 from sock ...

  7. postman-windows下newman的使用

    一.newman的安装 1.安装node.js下载https://nodejs.org/en/ C:\Users\iphauser>node -vv10.16.1C:\Users\iphause ...

  8. 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 ...

  9. ESP32 开发之旅① 走进ESP32的世界 安装开发环境

    1.前言     欢迎大家来到ESP32的世界,从现在开始,笔者将带领大家慢慢揭开ESP32神秘的面纱.     在学习ESP32之前,博主希望读者能有ESP8266的学习基础(ESP32 Wifi模 ...

  10. 触摸屏键盘插件Virtual Keyboard 该怎么用 Virtual Keyboard 入门指南

    最近公司有个项目,这个项目的显示器是触摸屏, 所以在一些需要简单输入的input需要加一个触摸屏的软键盘, 我在github上找了很多开源项目,最后选择了Virtual Keyboard, 以下是我自 ...