首页 > 其他分享 >NOIP 模拟 9

NOIP 模拟 9

时间:2024-11-17 21:21:48浏览次数:1  
标签:直接 NOIP sum 然后 父亲 choose prod 模拟

A 送信卒

直接二分。

B 共轭树图

看了好多篇题解都说的不太清楚,随便观察一下得知子树间互不影响,且没有边相交,在不连直接父亲的情况下,孩子的父亲一定比祖先的父亲靠上,所以这道题考虑的是和祖先的关系,而不是与孩子的关系,然后这个时候可简单地设计出一种状态,\(f_{u,i}\) 表示 \(u\) 节点连向深度为 \(i\) 的父亲的方案数,如果不考虑连直接父亲的情况,转移是比较简单的,\(f_{u,i}=\prod\sum_{k=1}^if_{v,k}\),如果加上直接连父亲的,就会导致边相交,不合法,考虑合法的部分,\(f_{v,i+1}\) 就是这一部分,对于孩子连向 \(i+1\) 就相当于连到了 \(u\),然后转移就是 \(f_{u,i}=\prod\sum_{k=1}^{i+1}f_{v,k}\),除了 \(n\),都有 \(f_{i,dep_i}=0\)。
发现上面的替代很不自然,考虑 \(f_{u,i}\) 表示在新树中,\(u\) 的深度为 \(i\) 的方案数,这样 \(v\) 可以向上随便连,深度就为 \([2,i+1]\),所以 \(f_{u,i}=\prod\sum_{k=2}^{i+1}f_{v,k}\),这个初值除了 \(n\) 都有 \(f_{u,1}=0\)。

C 摸鱼军训

把小于 \(x\) 的看成 \(0\),大于的看成 \(1\),然后手玩发现就是 \(1\) 往前平移,然后查答案就是找到第 \(k\) 个 \(1\) 的位置减去 \(k\) 即可,本质就是前 \(k\) 大排好序了,然后 \(x\) 每次移动都会装上一个 \(1\)。

D 神奇园艺师

对于一个质因数,都达到中位数一定最小,调整法证明即可。有一种暴力就是直接统计每个质数,然后将所有指数排序后,统计每个指数的贡献,枚举左边选多少个,右边选多少个,假设左边选了 \(a\) 个,右边选了 \(b\) 个,如果 \(a<b\) 那么贡献是负的,如果 \(a=b\) 那么没有贡献,否则贡献就是负的,暴力枚举可以做到 \(\mathcal{O}(n^3\log n)\) 的复杂度。
上面的做法太暴力了,并且这个东西一看推式子就很有前途,对于排名为 \(i\) 的数,正贡献的系数是 \(\sum_{a=0}^{i-1}\sum_{b=a+1}^{n-i}{i-1\choose a}{n-i\choose b}\),首先完全不用推的前缀和就可以减去一个枚举,然后发现 \(a\) 和 \(b\) 没联系,设 \(d=b-a\),有

\[\begin{aligned} &\sum_{d=1}^{n-i}\sum_{a=0}^{i-1}{i-1\choose a}{n-i\choose a+d}\\ =&\sum_{d=1}^{n-i}\sum_{a=0}^{\min(i-1,n-i-d)}{i-1\choose a}{n-i\choose n-i-a-d}\\ =&\sum_{d=1}^{n-i}{n-1\choose n-i-d}\\ =&\sum_{d=0}^{n-i-1}{n-1\choose d} \end{aligned} \]

中间是一个范德蒙德卷积式,然后就化成了组合数前缀和的形式,直接预处理即可。

总结

这场做了一整场 T2,一直在想和孩子的联系来设计状态,T3 看了一眼不咋会,T4 直接摆了,其实这场全是可做题,太菜了。

标签:直接,NOIP,sum,然后,父亲,choose,prod,模拟
From: https://www.cnblogs.com/Ishar-zdl/p/18551116

相关文章

  • NOIP 模拟 8
    搬的【MX-S5】梦熊NOIP2024模拟赛1(同步赛)A王国边缘倍增写脸上了。B买东西题反悔贪心写脸上了,首先按物品价格从小到大排序,这样之前用的优惠券一定可以给现在的优惠券用,如果给价格为\(a\),折扣价为\(w\)的物品用了优惠为\(x\)的优惠券,现在拿过来给\(b\)用后的贡献是......
  • NOIP 模拟 11
    T1暴力操作(opt)类似背包的处理出来除以每个数的最小代价,然后直接二分check即可,细节就是处理前后要做后缀min,然后求出\(\lfloor\frac{a}{x}\rfloor\lemid\)的最小\(x\),可以通过整除分块的套路,\(x=\lfloor\frac{a}{mid+1}\rfloor+1\)。T2异或连通(xor)trie树上的一个子树......
  • 201117 noi plus 模拟赛
    省流:\(40+85+48+0\)。逆天绿紫黑黑。不能再挂分了,t1\(100\to40\),t2\(100\to85\),t3\(84\to48\)。T1给一个\(n\timesm\)的网格图,每个点只能是#或.或S或T,若这个点为#则这个点是障碍,不能到达,若是.则是空地,可以到达,S是起点,T是终点。每次你可以走四联......
  • NOIP2024加赛5
    暴力操作(opt)拜谢丁真首先题目有一个很明显的性质:我们肯定只会对前\(\cfrac{n+1}{2}\)个数进行操作使它变小。最后的答案很明显没看出来具有二分答案的性质,考虑怎么check。实则就是要判断前\(\cfrac{n+1}{2}\)个数是否都能\(\lemid\)。我们可以方便的找出\(a_i\)变......
  • NOIP2016 提高组 愤怒的小鸟
    NOIP2016提高组愤怒的小鸟比较板的状压dp,结果做了3天才写完。算法一暴力搜索所有猪的分组情况,同组要满足能一根抛物线打完。时间复杂度\(O(n^n\timesn)\),实现的好的话大概能过\(60pts\)。最难写的大概是函数判断的部分。想一次写对就一定要打好草稿先理清思路。这是经验......
  • 20241023 模拟赛
    20241023模拟赛A.浇水考虑统计每个点被浇水了几次,容易用二维前缀和维护,最后如果这个点在对应颜色的矩阵里就扣除一个次数,最后有次数的就枯萎。B.藤养巴士赛时考虑树形dp,和树上差分解法殊途同归。设\(f_u\)表示,假设所有目标在\(u\)子树中的人都已经到了\(u\)子树中,......
  • 20241022 模拟赛
    20241022模拟赛A.枚举高手考虑dp,设\(f_{i,j}\)表示考虑到第\(i\)个数,和为\(j\)的答案,\(g_{i,j}\)表示方案数。考虑两种转移:一种是在原序列的末尾加上一个\(1\),一种是把现有的数一起加上\(1\),容易发现这样既能保证有序性又能不重不漏。时间复杂度\(O(nm)\)。最近总......
  • NOIP2021 做题笔记
    这次又被抓过去写noip2021了\(qaq\)P7960[NOIP2021]报数可以用类似于质数筛的方法筛一遍,做到\(\mathcalO(\)值域\()\)的预处理,以及\(\mathcalO(1)\)的查询。#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#definemxn10000010#definemxm200......
  • 2024.11.16模拟赛
    总结:日常犯困,日常去厕所清醒,日常疯狂调试,不日常四个半小时的模拟赛。打了T1的60分暴力+特殊样例,T4的40分暴力+特殊样例,但是T1不知道为什么\(dfs\)爆栈了,所以没骗到特殊样例的分,T4特殊样例式子推错,也没骗到分,所以最后T130分,T420分,共50分,挂了50分。关于T1:四个人,想了四个半小时,摸......
  • 使用 Raku 编写简单的文字识别模拟程序
    Raku(以前称为Perl6)是一种现代的多范式编程语言,支持函数式编程、面向对象编程等多种编程风格。它有着强大的正则表达式支持,并且语法灵活,适合用于文本处理和其他各类程序设计。本文将使用Raku编写一个简单的模拟文字识别程序,判断输入的字符矩阵是否与预定义的字符模式匹配。项......