刷了一下,写一下。

T1.

天天爱射击

可以这样想。

我们二分一下每一块木板在什么时刻被击碎。

然后直接用主席树维护的话是\(O(nlog^2n)\)的。

会\(T\),而且是一分不给那种。。。

那么换个想法,既然都用主席树了,还二分啥。

可以直接主席树上查区间排名。

似乎也可以整体二分。

复杂度\(O(nlogn)\)

T2.

机场

很神仙的一个网络流。

首先离散时间点。

然后先假设飞机都停到\(B\)区了。

那么一架飞机是否在\(A\)处停,有两种选择。

一种停一种不停。

分别建边,然后费用设为两种情况的代价即可。

这样某些流在某些事件溜出去,然后再混进来,这个过程中出去就相当于是在\(A\)停了一停。

求最小费用最大流即可。

费用就是答案。

T3

体育成绩统计

按题意模拟。

T4

玩游戏

我们发现我们只需要\(check\)出两人得分是否是个数\(n\)的等差数列求和。

如果不是判无解。

否则我们尽量用大的数给第一个人决策。

可以发现因为最小的数是1,所以无论如何都会存在解。

T5

小\(L\)的计算题

和清华集训2017生成树计数一样。

是那道题的套路之一。

T6

绿绿与串串

是一个类似马拉车+\(dp\)的东西。

一个点的回文如果右端点到\(n\)那么合法。

如果一个点的右端点合法并且左端点到\(1\)那么也合法。

代码特别妙。

T7

好图计数

一个比较厉害的\(dp\)。

我们发现联通的好图和不连通的好图是一一对应的。

设\(i\)个点的好图个数\(f_i\),\(i\)个点联通的好图个数是\(g_i\)。

那么当\(i>1\)的时候\(f_i=2g_i\)

设\(f_0=1\)。

设\(\{f\}\)的生成函数为\(F(x)\)。

那么\(F(x)=\sum\limits_{i=0}^{+\infty}f_ix^i\)。

然后考虑求\(F(x)\)。

因为一个好图的每一个连通块自然都是好图。

那么我可以用\(f\)和\(g\)来求出\(f\)。

考虑每一个连通块的大小和这种大小的连通块在图中存在的个数以及这种大小连通块的种类数。

那么有:

\[F(x)=\prod\limits_{i=1}^{+\infty}\left(\sum\limits_{j=0}^{+\infty}x^{ij}\right)^{g_i}
\]

那么用一下形式幂级数求和,然后开始倒腾式子。

\[\begin{aligned}
F(x)&=\prod\limits_{i=1}^{+\infty}\left(\frac{1}{1-x^i}\right)^{g_i}\\
ln(F(x))&=\sum\limits_{i=1}^{+\infty}g_iln\left(\frac{1}{1-x^i}\right)\\
\frac{F'(x)}{F(x)}&=\sum\limits_{i=1}^{+\infty}\frac{g_iix^{i-1}}{1-x^i}\\
F'(x)&=F(x)\sum\limits_{i=1}^{+\infty}g_iix^{i-1}\sum\limits_{j=0}^{+\infty}x^{ij-1}\\
[x^n]F'(x)&=(n+1)f_{n+1}\\
&=\sum\limits_{k=0}^{n}f_k\left([x^{n-k}]\left(\sum\limits_{i=1}^{+\infty}g_iix^{i-1}\sum\limits_{j=0}^{+\infty}x^{ij-1}\right)\right)\\
&=\sum\limits_{k=0}^{n}f_k\sum\limits_{i|(n-k+1)}g_ii\\
\end{aligned}\]

设\(s_i=\sum\limits_{j|i}g_jj\)

然后求出\(f\)之后就可以顺手求出一个\(g\)来。

可以做一个\(O(n^2)\)的递推卡常过去。

或者就干脆做一个\(nlog^2n\)的分治\(NTT\)就行了。

T8

找树

似乎是远古杂题了。

事实上我们要求的就是每一种权值的方案数是否为0.

怎么做?

首先我们发现不能拆位来做。

就很恶心。

否则可以直接做矩阵树定理来求这个东西。

我们其实仍然可以拆位来做。

用\(exFWT\)来把每一位拆成点值。

然后直接用边缘矩阵树定理处理这个桶,求出每一个位置应当有的权值。

这相当于对所有的点值做一个树形乘法。

正好符合点值对位相乘的性质。

得到的新桶我们在\(exFWT\)回来就得到了最终的方案数数组。

\(exFWT\)的用法是在每一位可以用不同的位运算来计算。

只需要在不同的位用不同的\(FWT\)计算方法就可以。

正确性显然。

「刷题」THUPC泛做的更多相关文章

  1. 「刷题」Triple

    正解是普通型母函数+FFT. 才学了多项式,做了一道比较好的题了. 首先有三个斧子被偷了. 我们考虑构造一种普通型母函数. 就是说一种多项式吧,我的理解. 系数是方案,下标,也就是所谓的元指数代表的是 ...

  2. 「刷题」xor

    说实话这道题没有A掉,不过所有的思路都是我自己想的,我觉得这个思路真的很棒很棒很棒的. 首先这个题的题面描述告诉我这种运算有封闭性,满足结合律和交换率,那么其实这个东西是个群运算了,而且这个群有单位元 ...

  3. 「刷题」JZPKIL

    这道反演题,真牛逼. 以下用$B$代表伯努利数,$l*g=f$代表狄利克雷卷积,先推式子. 对于给出的$n,x,y$求一百组数据的$ans$ $\begin{array}{rcl} ans & ...

  4. 「刷题」GERALD07加强版

    是LCT了. 首先我们不知道联通块怎么数. 然后颓标签知道了是LCT. 那么考虑一下怎么LCT搞. 有一个很普遍的思路大家也应该都知道,就是如何求一个区间中某种颜色的个数. 这个可以很简单的用主席树来 ...

  5. 「刷题」可怜与STS

    又是一道假期望,我们发现一共有$ C_{2n}^m $种情况. 而$ \frac{(2n)!}{m!(2n-m)!}=C_{2n}^m $ 其实结果就是各个情况总伤害. 1.10分算法,爆搜10分. ...

  6. 「刷题」Color 群论

    这道题乍一看挺水的,直接$ Ploya $就可以了,可是再看看数据范围:n<=1e9 那就是有1e9种置换,这不歇比了. 于是考虑式子的优化. 首先证明,转i次的置换的每个循环结大小是 $ gc ...

  7. 「刷题」卡特兰数&prufer序列

    1.网格 转换模型,翻折容斥出解. 2.有趣的数列 抽象一下模型,把奇数项当作横坐标,偶数项当作纵坐标,就是从n*n矩阵左下角走到右上角并且每一步x<=y的方案数,发现是卡特兰数,关于gcd,可 ...

  8. 「PKUWC2018/PKUSC2018」试题选做

    「PKUWC2018/PKUSC2018」试题选做 最近还没想好报THUSC还是PKUSC,THU发我的三类约(再来一瓶)不知道要不要用,甚至不知道营还办不办,协议还有没有用.所以这些事情就暂时先不管 ...

  9. 「刷题笔记」AC自动机

    自动AC机 Keywords Research 板子题,同luoguP3808,不过是多测. 然后多测不清空,\(MLE\)两行泪. 板子放一下 #include<bits/stdc++.h&g ...

随机推荐

  1. JDK7u21反序列化详解

    目录 前言 环境 倒序分析 TemplatesImpl AnnotationInvocationHandler HashMap 总结 前言 听说jdk7u21的反序列化涉及的知识量很多,很难啃,具体来 ...

  2. 如何高效掌控K8s资源变化?K8s Informer实现机制浅析

    作者 王成,腾讯云研发工程师,Kubernetes contributor,从事数据库产品容器化.资源管控等工作,关注 Kubernetes.Go.云原生领域. 概述 进入 K8s 的世界,会发现有很 ...

  3. 从线上日志统计接口访问量QPS

    这一阵子在面试,连续遇到好几家(大小厂都有)问我的项目线上qps的情况了,说实话,我作为一个大头兵,本来没关注过这个数据,只能含混地给个"大概.也许"的回答. 回来之后,我决定对业 ...

  4. Sentry 监控 - Environments 区分不同部署环境的事件数据

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  5. Flutter 对状态管理的认知与思考

    前言 由 编程技术交流圣地[-Flutter群-] 发起的 状态管理研究小组,将就 状态管理 相关话题进行为期 两个月 的讨论. 目前只有内定的 5 个人参与讨论,如果你对 状态管理 有什么独特的见解 ...

  6. css 圆形脉冲动画

    需求: 项目需要在3D场景增加动画按钮,直接添加到场景时 当场景过大的时候 .加载比较麻烦 因在找资料时发现这玩意居然要付费.故做此记录, 效果: 参考: 1.https://www.jiangwei ...

  7. 『Python』优雅的记录日志——loguru

    1. 安装 pip install loguru 2. 初识 from loguru import logger logger.debug("This is a debug..." ...

  8. centos7 .net core 使用supervisor守护进程后台运行

    安装supervisor yum install supervisor 配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/superviso ...

  9. english note(6.2 to 5.30)

    notes 6.2 to 5.30  http://www.51voa.com/VOA_Special_English/suicide-rates-among-young-americans-on-t ...

  10. P6177-Count on a tree II/[模板]树分块

    正题 题目链接:https://www.luogu.com.cn/problem/P6177 题目大意 \(n\)个点的一棵树\(m\)次询问树上颜色. 强制在线 \(1\leq n\leq 4\ti ...