刷了一下,写一下。

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. JAVA反序列化漏洞基础原理

    JAVA反序列化漏洞基础原理 1.1 什么是序列化和反序列化? Java序列化是指把Java对象转换为字节序列的过程: Java反序列化是指把字节序列恢复为Java对象的过程: 1.2 为什么要序列化 ...

  2. Playfield 类方法的注释

    前言 本篇随笔的底包采用的是百度炉石兄弟吧20200109折腾版中自带的 routines 文件. 本次仅为绝大多数方法添加 xml 注释和简单解析,没有具体解析与重构. Playfield 类方法众 ...

  3. 10 个不为人知的Python冷知识

    1. 省略号也是对象 ... 这是省略号,在Python中,一切皆对象.它也不例外. 在 Python 中,它叫做 Ellipsis . 在 Python 3 中你可以直接写-来得到这玩意. > ...

  4. jmeter 脚本录制方式详解

    关于jmeter脚本录制方式,主要分为第三方工具录制.jmeter本身代理方式录制以及人为手写脚本的三种方式.其中第三方工具录制主要有3种主流工具进行录制,badboy   BlazeMeter    ...

  5. 自动化测试报告----allure2(一)

    以前都是使用TestNG自带的报告.jenkins中的报告等但没有个性化装饰报告,然而接触过allure2后发现原来报告还可以这么酷,接下来就带大家一起看一下allure2 报告炫在哪里? 我们先看如 ...

  6. Linux下实现高可用软件-Keepalived基础知识梳理

    Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepali ...

  7. 鸿蒙内核源码分析(互斥锁篇) | 比自旋锁丰满的互斥锁 | 百篇博客分析OpenHarmony源码 | v27.02

    百篇博客系列篇.本篇为: v27.xx 鸿蒙内核源码分析(互斥锁篇) | 比自旋锁丰满的互斥锁 | 51.c.h .o 进程通讯相关篇为: v26.xx 鸿蒙内核源码分析(自旋锁篇) | 自旋锁当立贞 ...

  8. Python3入门系列之-----file方法操作

    file方法 file处理文件的一些方法,创建一个file对像后即可对文件进行读写相关操作,首先你得打开文件,此处用到open函数 open函数 语法:file_objcet = open(file_ ...

  9. vue成就购物城的功能 (展示增删改查)

    <!DOCTYPE html><html> <!DOCTYPE html> <html> <head> <meta charset=& ...

  10. Kettle学习笔记(一)— 环境部署及运行

    目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...