剧情回放:xuefeng:考场上你们只打暴力不打正解,我不满意!

  skyh:考场怒切T2以表明自己拥护xuefeng的决心

  BoboTeacher:这场考试就没想让你们上100

  神犇skyh:(笑而不语)

  众蒟蒻:跪。

  T1 数论

    忘删调试信息跪了20。

    正解运用了迭代收敛的思想..

    首先$ d(x)=\pi (c_i +1) $表明$ d(x) $中各个质数的贡献是独立的

    即:考虑了一部分质数之后,如果此时数x不优,那么将来加(乘)上其他质数相同的贡献之后仍然不优。

    举例,$ d(x)=4,d(y)=5 $,那$ d(x)*2 $一定小于$ d(y)*2 $吧

    所以分别考虑每个质数,具体做法:

      0.开个数组$a$,初始只有一个数1.

      1.进入迭代,枚举下一个质数$p$,用数组中每个数乘上它的次幂$p^c$塞到数组$b$,当然结果要在$M$以内

      2.将b数组按原数大小排序,从头开始枚举,用堆维护 已经枚举到的数中前$K+1$大的约数个数,如果大于堆内所有元素就抛弃,否则塞进$a$并更新堆

      3.检测到$a$数组多次迭代没有变化,结束循环,否则返回1

    Ps:1.这是分别考虑每个质数的贡献,拓展可能为优秀解的数来找到更多的可能优秀解

       2.堆的使用是根据题目定义,直接去掉目前不优的数的策略具有正确性

       3.由于加入大质数是非常不优的,所以可能枚举到很小的p就结束了

    神题。积累思想。

  T2 位运算

    天皇用脚切掉的题

    首先注意到他只需要 构!造!出!一!组!可!行!解!  解没有限制,有就行

    其次是否有解只与数中1的个数有关,和1的位置也无关。

    所以可以dp判断有没有达到$cnt[c]$个1的可行解,然后疯狂构造就行

    讨论,特判,考虑各种特殊情况,善用$min,max$。

  T3 旅行

    NC哥一眼艹掉的题

    与其说是$DFS$,不如说是在$B$序列上$DP$,只不过是在树上转移罢了。

    所以注定了$DFS$不再是板子..一切打板子的习惯都将被粉碎..

    

    发现如果现在停一个点$B[id]$,且当前$DFS$序列与$B$的前$1~id$位全部匹配

    若下一步走向点$t$且$t<B[id+1]$,那么可以确定此次$DFS$序列的字典序一定小于$B$序列

    如果$t>B[id+1]$,则一定大于,不合法。

    所以当$t!=B[id+1]$时,接下来的贡献都在这个地方解决了,不需要递归。

    只有$t==B[id+1]$时,需要递归解决。

    注意到当走完一个子树之后,可能目前的$DFS$序仍然与$B$匹配,还要重复执行这个过程。

    所以$DFS$的主体是循环。

    递归的过程,与其说是递归,不如说是状态的转移。

    回溯的过程,与其说是回溯,不如说是回父亲找下一个状态。

    根本不是搜索,不是换根树P,而是在树上转移的序列$DP$(胡绉)

    

    每一次回到(或第一次到达)一个节点,都可以选择走序列的下一位(如果找的到的话)

    或者走小于下一位的儿子。如果是后者,那么剩余的路径可以自由排列了。

    注意,“剩余的路径”也是需要维护的。因为可能此时位置的其他儿子是之前走过的路径,是唯一确定的,不能参与排列。

    注意,“剩余的路径”的总方案数很难确定。除了当前位置的儿子可以自由排列,排完之后父亲的儿子,爷爷的儿子,太爷的儿子...都解放了可以自由排列。

    为了解决前者,对每个节点使用数据结构。观察到每个点对此贡献相同,只需维护个数。

    为了解决后者,维护一个全局变量。观察到每从$a$走到$b$,只是让$a$处的阶乘降了一阶。又考虑到“剩余路径”的总方案是各个节点方案的乘积,不妨直接让全局变量除去$a$剩余儿子数,即可正确维护“剩余路径”的总方案。

    考场上要大胆。

NOIP模拟 22的更多相关文章

  1. noip模拟22[d·e·f]

    noip模拟22 solutions 哈哈哈,这次暴力打满直接190,其实不到哈哈哈,187.. 这次的题暴力极其好打,但是正解确实不简单... 打了好久才改完这个题,改完的时候爽暴了 这些一个字母的 ...

  2. [考试总结]noip模拟22

    又发现模拟 \(22\) 的总结也咕掉了,现在补上它... 似乎又是gg的一场. 以为自己的部分分数打的很全,然而到后面发现自己的树剖打假了 \(\color{green}{\huge{\text{树 ...

  3. Noip模拟22 2021.7.21

    T1 d 简化题意就是找到相对平均长宽的偏移量较大的矩形给他删掉 可以说是个贪心,按照a,b分别为第一关键字排序 然后假装删去要求的那么多个按a排序的较小的,然后再去b中, 找到 删去的a中的那几个矩 ...

  4. 2021.7.21考试总结[NOIP模拟22]

    终于碾压小熠了乐死了 T1 d 小贪心一波直接出正解,没啥好说的(bushi 好像可以主席树暴力找,但我怎么可能会呢?好像可以堆优化简单找,但我怎么可能想得到呢? 那怎么办?昨天两道单调指针加桶,我直 ...

  5. NOIP模拟22

    T1d 一道垃圾贪心,写个堆优化或者桶就行 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; ...

  6. NOIP 模拟22

    这次考试真的是像教练说的真的挺难的,但是人家rank1还是100+, 但是咕咕蛊!

  7. NOIP 模拟 $22\; \rm f$

    题解 \(by\;zj\varphi\) 对于一个数,如果它二进制下第 \(i\) 位为 \(1\),那么 \(\rm x\) 在这一位选 \(1\) 的贡献就是和它不同的最高为为 \(i\) 的数的 ...

  8. NOIP 模拟 $22\; \rm e$

    题解 对于这个 \(abs\) 就是求大于 \(r\) 的最小值,小于 \(r\) 的最大值,建权值线段树或平衡树. 因为是 \(k\) 个点的联通块,就是求它们的 \(lca\) 到它们的链,可持久 ...

  9. NOIP 模拟 $22\; \rm d$

    题解 很好的贪心题 考虑去掉的矩形一定是几个 \(a\) 最小的,几个 \(b\) 最小的,枚举去掉几个 \(a\),剩下的去掉 \(b\) 先对 \(a\) 排序,用小根堆维护 \(b\) ,记录哪 ...

随机推荐

  1. yii2 对字段 自动加一 或 减一

    用于数字类型,将值进行 累加 或者 累减 $count = 1, 就是加一 .   $count = -1, 就是减一 . $effect =  Model::updateAllCounters( [ ...

  2. d3.js 绘制北京市地铁线路状况图(部分)

    地铁线路图的可视化一直都是路网公司的重点,今天来和大家一起绘制线路图.先上图. 点击线路按钮,显示相应的线路.点击线路图下面的站间按钮(图上未显示),上报站间故障. 首先就是制作json文件,这个文件 ...

  3. 利用procedure批量插入数据

    正文   要求在页面查询到5000条数据,为了方便插入,准备用shell脚本写curl命令调用自己写的代码接口,但是速度慢,而且写的时候遇到点儿小问题,故用sql语句写了这个功能   由于operat ...

  4. TCP三次握手、四次握手

    前言 TCP用于应用程序之间的通信.当应用程序希望通过TCP与另一个应用程序通信时,它会发送一个通信请求.这个请求必须被送到一个确切的地址.在双方“握手”之后,TCP将在两个应用程序之间建立一个全双工 ...

  5. [AI开发]视频结构化类应用的局限性

    算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基 ...

  6. CentOS 7.6 Telnet服务搭建(Openssh升级之战 第一任务备用运输线搭建)

    (以下内容亲手完成,如果需要搬走记得把写博的小白的名字和邮箱一起搬走) 出来玩(学习),总是要还的! 有不明的问题的时候,都来博客园转转,总能找到答案或者灵感,开博3个月都没发一篇帖(不晓得管理员有何 ...

  7. 代码审计准备之Thinkphp3

    0x01环境部署: 下载: 获取ThinkPHP的方式很多,官方网站(http://thinkphp.cn)是最好的下载和文档获取来源. 官网提供了稳定版本的下载:http://thinkphp.cn ...

  8. Spring Cloud Alibaba(二) 配置中心多项目、多配置文件、分目录实现

    介绍 之前Spring Cloud Config基础篇这篇文章介绍了Spring Cloud Config 配置中心基础的实现,今天继续聊下Spring Cloud Config 并结合nacos做服 ...

  9. Go 零基础 30 min 入门

        不知不觉用 Go 开发也两年多了. 筹备点经验汇总, 方便后面的同学能快速上手.  提纲     1. Go 安装     2. Go ide 搭建     3. Go modules 模块管 ...

  10. SpringBoot中神奇的@Enable*注解?

    在SpringBoot开发过程,我们经常会遇到@Enable开始的好多注解,比如@EnableEurekaServer.@EnableAsync.@EnableScheduling等,今天我们就来分析 ...