「刷题」THUPC泛做
刷了一下,写一下。
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(\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泛做的更多相关文章
- 「刷题」Triple
正解是普通型母函数+FFT. 才学了多项式,做了一道比较好的题了. 首先有三个斧子被偷了. 我们考虑构造一种普通型母函数. 就是说一种多项式吧,我的理解. 系数是方案,下标,也就是所谓的元指数代表的是 ...
- 「刷题」xor
说实话这道题没有A掉,不过所有的思路都是我自己想的,我觉得这个思路真的很棒很棒很棒的. 首先这个题的题面描述告诉我这种运算有封闭性,满足结合律和交换率,那么其实这个东西是个群运算了,而且这个群有单位元 ...
- 「刷题」JZPKIL
这道反演题,真牛逼. 以下用$B$代表伯努利数,$l*g=f$代表狄利克雷卷积,先推式子. 对于给出的$n,x,y$求一百组数据的$ans$ $\begin{array}{rcl} ans & ...
- 「刷题」GERALD07加强版
是LCT了. 首先我们不知道联通块怎么数. 然后颓标签知道了是LCT. 那么考虑一下怎么LCT搞. 有一个很普遍的思路大家也应该都知道,就是如何求一个区间中某种颜色的个数. 这个可以很简单的用主席树来 ...
- 「刷题」可怜与STS
又是一道假期望,我们发现一共有$ C_{2n}^m $种情况. 而$ \frac{(2n)!}{m!(2n-m)!}=C_{2n}^m $ 其实结果就是各个情况总伤害. 1.10分算法,爆搜10分. ...
- 「刷题」Color 群论
这道题乍一看挺水的,直接$ Ploya $就可以了,可是再看看数据范围:n<=1e9 那就是有1e9种置换,这不歇比了. 于是考虑式子的优化. 首先证明,转i次的置换的每个循环结大小是 $ gc ...
- 「刷题」卡特兰数&prufer序列
1.网格 转换模型,翻折容斥出解. 2.有趣的数列 抽象一下模型,把奇数项当作横坐标,偶数项当作纵坐标,就是从n*n矩阵左下角走到右上角并且每一步x<=y的方案数,发现是卡特兰数,关于gcd,可 ...
- 「PKUWC2018/PKUSC2018」试题选做
「PKUWC2018/PKUSC2018」试题选做 最近还没想好报THUSC还是PKUSC,THU发我的三类约(再来一瓶)不知道要不要用,甚至不知道营还办不办,协议还有没有用.所以这些事情就暂时先不管 ...
- 「刷题笔记」AC自动机
自动AC机 Keywords Research 板子题,同luoguP3808,不过是多测. 然后多测不清空,\(MLE\)两行泪. 板子放一下 #include<bits/stdc++.h&g ...
随机推荐
- redis存取数据Hash
一.概念 二.存取散列Hash值 1. 2.JSON字符串存取,没有更新值的字段资源浪费 使用散列Hash存取,可以单独到一个或多个字段: 3.hsetnx,属性不存在就新增并赋值,属性已存在啥也不干 ...
- 案例九:shell脚本自动创建多个新用户,并设置密码
此脚本是用来批量创建用户并设置用户密码,在企业用非常实用. 脚本一 #!/bin/bash for name in $( seq 1 100 ) do useradd "user$name& ...
- 使用 elementUI 树形控件Tree 编辑数据
操作新增/编辑功能时初始化数据: 应用属性 default-checked-keys 给Tree节点赋默认值(赋值数据为节点数组Arr)前,应先清空数组Arr,并且配合使用 this.$refs.tr ...
- HCNP Routing&Switching之路由策略工具Route-Policy
前文我们了解了路由过滤和路由过滤工具Filter-Policy使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15316188.html:今天我们来 ...
- ecshop调用指定栏目下的文章的方法
打开 index.php 添加 fun函数一个,需放在<php与?>中间. /** * 获得指定栏目的文章列表. * @param int $cid 栏目ID * @param int $ ...
- Python - with 语句
管理外部资源的背景 在编程中会面临的一个常见问题是如何正确管理外部资源,例如文件.锁和网络连接 有时,程序会永远保留这些资源,即使不再需要它们,这种现象称为内存泄漏 因为每次创建和打开给定资源的新实例 ...
- Selenium+Tesseract-OCR智能识别验证码爬取网页数据
1.项目需求描述 通过订单号获取某系统内订单的详细数据,不需要账号密码的登录验证,但有图片验证码的动态识别,将获取到的数据存到数据库. 2.整体思路 1.通过Selenium技术,无窗口模式打开浏览器 ...
- 鸿蒙内核源码分析(时钟任务篇) | 触发调度谁的贡献最大 | 百篇博客分析OpenHarmony源码 | v3.05
百篇博客系列篇.本篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度谁的贡献最大 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...
- 四、mybatis动态sql
# 前言前面mysql都是通过静态sql进行查询的,但是如果业务复杂的时候,我们会遇到引号问题,或者多一个空格,这就使得sql代码编写错误了,所以为了解决这个问题,我们有了动态sql. Mybatis ...
- Vue router中携带参数与获取参数
Vue router中携带参数与获取参数 携带参数 query方式,就是?+&结构,例如/login?id=1 <router-link :to="{ name:'login' ...