05 2019 档案

摘要:"题目" 潮考我的题,之后我就给秒了 显然这个数据范围很是区间$dp$,我们设$dp[i][j]$表示把区间$[i,j]$染成目标颜色的最小花费 首先初始化显然$dp[i][i]=1$ 区间$dp$的常规套路显然,枚举断点$i\leq k include define re register def 阅读全文
posted @ 2019-05-30 20:47 asuldb 阅读(267) 评论(0) 推荐(0) 编辑
摘要:"题目" 首先看到这个出现长度至少为$2$的回文子串 这就等价于不能出现两个连续且相同的字符 于是我们用概率生成函数来搞 设$g_i$表示$i$次操作后游戏没有结束的概率,$f_{i,j}$表示$i$次操作之后出现最后两个字符都是$j$的概率,这样的话游戏就结束了 再定义$f_i=\sum_{j=1 阅读全文
posted @ 2019-05-30 17:03 asuldb 阅读(216) 评论(0) 推荐(1) 编辑
摘要:"题目" 神仙题啊神仙题 显然这个东西一脸不可求的样子啊,这种东西我们显然需要搞一个容斥什么的 于是设$g_i$表示至少存在$i$个联通块(联通块内部的边没有要求,联通块和联通块之间不存在边)的方案数,$f_i$表示恰有$i$个联通块 有 $$g_x=\sum_{i=x}^n\begin{Bmatr 阅读全文
posted @ 2019-05-28 21:55 asuldb 阅读(388) 评论(0) 推荐(0) 编辑
摘要:"题目" 概率生成函数牛逼! 显然我们还是先设些生成函数出来 设$f_{i,j}$表示第$i$个人在第$j$次抛硬币之后获胜的概率,$g_i$表示第$i$抛硬币之后无人获胜的概率,对应的生成函数分别是$F_i(x),G(x)$ 先明确一下我们要求的东西就是$F_i(1)$ 非常显然的有$g_i=g_ 阅读全文
posted @ 2019-05-28 15:23 asuldb 阅读(206) 评论(0) 推荐(0) 编辑
摘要:"题目" 显然这个题的期望就是逗你玩的,我们算出来总贡献除以$nm$就好了 设$ans_t=\sum_{i=1}^n\sum_{j=1}^n(a_i+b_j)^t$ 二项式定理展开一下 $$ans_t=t!\sum_{i=0}^t\frac{\sum_{j=1}^na_j^i}{i!}\frac{\ 阅读全文
posted @ 2019-05-27 16:56 asuldb 阅读(133) 评论(0) 推荐(0) 编辑
摘要:"题目" 显然有一个暴力$dp$ $dp_{i,j}$表示前$i$个数选了$j$个的答案 转移显然 $$dp_{i,j}=dp_{i 1,j}+dp_{i 1,j 1}\times i$$ 由于元素是有顺序的,答案是$dp_{A,n}\times n!$ 复杂度是$O(nA)$的显然过不了 我们观察 阅读全文
posted @ 2019-05-26 19:21 asuldb 阅读(99) 评论(0) 推荐(0) 编辑
摘要:"题目" 刷水题涨信心 显然这是个广义容斥,我们现在算一下至少有$i$个完美数的方案数就好了 这$1000$的数据范围显然在暗示$n^2$的dp 我们注意到这个条件大概就是$P_i=i 1$或$P_i=i+1$,于是我们可以想象成左右两边各$n$个点去完成一个一一匹配 设$dp[i][j][k][p 阅读全文
posted @ 2019-05-26 16:55 asuldb 阅读(143) 评论(0) 推荐(0) 编辑
摘要:"题目" 51nod的数学题都还不错啊 首先直接算显然是没有办法算的,因为$fib$的lcm这个东西还是太鬼畜了 我们考虑到$fib$数列的一个非常好的性质是$gcd(fib_i,fib_{j})=fib_{gcd(i,j)}$,而$gcd$对应的是各质数次幂的最小值,$lcm$是各质数次幂的最大值 阅读全文
posted @ 2019-05-26 13:02 asuldb 阅读(224) 评论(0) 推荐(0) 编辑
摘要:第一类斯特林数还不怎么会呢,于是就先写第二类了 第二类斯特林数 第二类斯特林数$\begin{Bmatrix}n\\m\end{Bmatrix}$表示把$n$个元素分配到$m$个无标号集合的方案数 递推形式是 $$\begin{Bmatrix}n\\m\end{Bmatrix}=\begin{Bma 阅读全文
posted @ 2019-05-24 12:46 asuldb 阅读(265) 评论(0) 推荐(0) 编辑
摘要:"题目" 什么神仙题啊 答案非常显然就是 $$\sum_{i=1}^nw_i\times \sum_{i=1}^ni\binom{n 1}{i 1}S_2(n i,k 1)$$ 这是因为考虑到每一个$w_i$的地位都是对等的,于是每一个$w_i$被计算进总答案的系数都是相同的,我们算一下那个系数就好 阅读全文
posted @ 2019-05-23 21:32 asuldb 阅读(373) 评论(0) 推荐(0) 编辑
摘要:"题目" 求 $$\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k$$ 首先这个次大公约数显然就是$gcd$除一下最小质因子了 于是 $$\sum_{i=1}^n\sum_{j=1}^n(\frac{(i,j)}{minp((i,j))})^k$$ 显然可以枚举$gcd$,之后 阅读全文
posted @ 2019-05-15 21:56 asuldb 阅读(469) 评论(0) 推荐(0) 编辑
摘要:"题目" luogu的Romtejudge挂了我就当我过了吧 求 $$\sum_{i=1}^n\binom{n}{i}i^k$$ 其实是个思博套路题,但是我现在这个水平还是刷刷板子吧 处理$x^k$是一个套路了 $$x^k=\sum_{i=1}^k\begin{Bmatrix} k \\i \end 阅读全文
posted @ 2019-05-14 21:41 asuldb 阅读(308) 评论(0) 推荐(0) 编辑
摘要:"题目" 显然这个题不强制在线我们就有一个非常优秀的树剖做法 但是现在强制在线使得这个问题变得看起来有些难搞了 于是就变成了动态点分治的板子题了 我们先建一棵点分树,对于每一个分治重心我们存一下当前分治块内所有点到这个点的距离,用一个vector存下来 我们再存一下每个点作为分治重心的时分治块内部所 阅读全文
posted @ 2019-05-14 20:58 asuldb 阅读(144) 评论(0) 推荐(0) 编辑
摘要:"题目" 如果是$hash$做法的话显然就是把每一个位置后面的$k$个位置的hash值拿出来做一个莫队板子就好了 考虑一下牛逼的$SAM$ 我们完全可以构造出来一棵后缀树,对于每个点找到其祖先里深度最小且$len include include include include define re r 阅读全文
posted @ 2019-05-12 21:17 asuldb 阅读(171) 评论(0) 推荐(0) 编辑
摘要:"题目" 套路的根号分治啊 我们设置一个值$S$ 对于$S\leq x$的操作,我们直接暴力修改,显然这样只会修改$\frac{n}{S}$次,所以我们需要一个能够$O(1)$修改的数据结构,自然是首选分块 对于$S x$的操作,我们对于每一个$x$维护一个块,我们维护这个块的前缀和就好了,复杂度是 阅读全文
posted @ 2019-05-12 20:21 asuldb 阅读(168) 评论(0) 推荐(0) 编辑
摘要:"题目" 套路题啊 发现正向计数不太好记,考虑容斥 考虑求至少有$i$段连续四个位置是不合法的,容斥系数显然是$( 1)^i$ 我们先选出这样的$i$段长度为$4$的区间来 我们考虑分配一下空格,问题就等价于把$n 4i$个空格分到$i+1$组里,插板一下就能知道答案是$\binom{n 3i}{i 阅读全文
posted @ 2019-05-11 15:48 asuldb 阅读(255) 评论(0) 推荐(0) 编辑
摘要:"题目" 这题太傻了,众所周知二项式定理 $$(x+1)^n=\sum_{k=0}^n\binom{n}{k}x^k$$ 于是把这个组合数放到矩阵里转移就好了 由于矩阵长得很特殊接近一个下三角,于是可以魔改一波优化常数 代码 阅读全文
posted @ 2019-05-11 11:03 asuldb 阅读(220) 评论(0) 推荐(0) 编辑
摘要:"题目" 就是一个签到题啊,然而没有判乘0于是签到失败成功退役 模数只有$1e7+19$于是我们可以线性求所有逆元了 我们只需要考虑如何解决操作1和操作5即可,其余的操作就是简单的模拟一下即可 发现操作1和操作5还是本质上就是询问一个单点的值 注意到实际上有用的位置只有$1e5$个,于是我们可以离散 阅读全文
posted @ 2019-05-10 21:44 asuldb 阅读(312) 评论(0) 推荐(1) 编辑
摘要:还是退役了呀 Day 1 早上loli发了套题结果啥都不会 之后胡爷爷就秒了道数据结构 不过也没什么人做,于是全机房都在愉快的划水 下午来机房打了场luogu的$rated$赛,还是啥都不会 之后就愉快地回家了 Day 0 中午滚到slyz门口坐车 车上还是很空的,于是享受到了一个人独占两个座位的快 阅读全文
posted @ 2019-05-09 20:24 asuldb 阅读(554) 评论(8) 推荐(1) 编辑
摘要:"题目" 退役前抄一道生成函数快乐一下 就是让我们做一个完全背包,但是朴素的做法显然是$O(nm)$的 把每一个物品搞成一个多项式,显然这个多项式所有$v_i$的倍数箱为$1$,剩下的为$0$ 我们写成生成函数的话就是$\frac{1}{1 x^{v_i}}$ 也就是我们我们要求的答案就是 $$\p 阅读全文
posted @ 2019-05-04 08:42 asuldb 阅读(192) 评论(0) 推荐(0) 编辑
摘要:"题目" 显然存在一个这样的柿子 $$S^{(k)}_i=\sum_{j=1}^iS^{(k 1)}_j$$ 我们可以视为$S^{(k)}$就是由$S^{(k 1)}$卷上一个长度为$n$全是$1$的多项式得来的 设这样的全是$1$的多项式为$A$,给出的多项式为$F$我们要求的就是$F\times 阅读全文
posted @ 2019-05-03 19:42 asuldb 阅读(180) 评论(0) 推荐(0) 编辑
摘要:"题目" bzoj第400题留念 这道题如果只有前三组数据的话还是很水的呀,我们完全可以点分 首先我们先倍长那个字符串,直到这个字符串的长度大于等于$n$ 我们把这个字符串做一遍$hash$,记下每一个前缀每一个后缀的$hash$值是多少 之后套路点分,对于当前的分治重心找出一个前缀一个后缀来拼接, 阅读全文
posted @ 2019-05-03 15:56 asuldb 阅读(224) 评论(0) 推荐(0) 编辑
摘要:"题目" 先来考虑没有$D$的限制该怎么做 这不睿智题吗,每次对于矩阵上的每一个位置找一个最小的加起来 我们强行网络流一下 对于矩阵上的每一个位置$(i,j)$,我们建出一条长度为$h$的链来,源点像链头连$a_{1,i,j}$的边,链尾像汇点连$\infty$的边,对于链中的第$k$个点,向$k+ 阅读全文
posted @ 2019-05-03 11:48 asuldb 阅读(105) 评论(0) 推荐(0) 编辑
摘要:"题目" 过于神仙啊,抄题解.jpg 首先$n$并不是很大啊,我们可以直接用$f_{i,j}$表示$i$到$j$是否存在一个回文路径 对于一条回文路径,如果在两端分别添加一个相同的字符,那么仍然是一个回文路径,于是我们可以利用这个来打一个暴力$bfs$ 就像这样 非常显然这个复杂度一点也不科学,卡满 阅读全文
posted @ 2019-05-02 21:39 asuldb 阅读(247) 评论(0) 推荐(0) 编辑
摘要:题目 这是一份甚至不能稳定通过的代码 可以将目标转化为,对于每个点 \(i\) 求出它能到达的结点集合 \(S_i\) ,答案就是 \(\displaystyle \frac{\sum |S_i|}{2}\)。 除以 2 是因为计算的时候没有区分大小关系。 每个点能到达的集合实际上是一棵连通子树,这 阅读全文
posted @ 2019-05-02 14:40 asuldb 阅读(286) 评论(0) 推荐(0) 编辑