luoguP4102 [HEOI2014]林中路径

原题传送门:>Here<

当路径长度$=L$,且只要求路径条数时,我们是很容易做的,只要用邻接矩阵乘一下就好了。

然而此题需要路径长度$\le L$的路径的长度平方和,感觉些微复杂。

我们先考虑$\le L$怎么做。

1220模拟赛 区间积

题目大意:

给一个序列和一些限制$l,r,ans$表示需要使得

$$\prod_{i=l}^{r}a_i\equiv ans(mod \space 10)$$

询问满足条件的序列个数。序列中每个数$0\le a_i< 10$。

我们发现$10$不是个素数,很难处理,所以我们把$10$拆成$2$和$5$,分别处理。

对于每个素数,我们考虑判断每个区间中有没有$0$。

设$g_{l,r}$为区间$[l,r]$中可以有$0$时的方案数,$f_{l,r}$为没有$0$时的方案数。

loj#6508. 「雅礼集训 2018 Day7」B

原题传送门:>Here<

我们发现有性质$(a,n)=1$,也就是说,$a\cdot i+b \mod n$的取值不会重复。

我们考虑对$S[0\cdots m-1]$建线段树,线段树下标为$a\cdot i + b\mod n$,存储的值是当前区间内$T$上对应位置为$1$的数的个数。

这样说可能有点抽象,我详细说明一下。

以样例为例:

1
2
3
9 5 6 4 3
101
...

构成的$S$的$a\cdot i+b\mod n$数组的前$m$项为

bzoj5405 platform

原题传送门:>Here<

我们考虑对原串反向建后缀自动机。这样后缀自动机上的每一个点表示的就是原串上的一堆前缀。

我们发现一个性质:这些前缀的排名必定是连续的。

我们考虑证明。

0108模拟赛 无人生还

原题传送门:>Here<

第一问

$prufer$序列乱搞即可,

$$ans={(n-2)! \over \prod_{i=1}^{n}(d_i-1)!}$$

P4183 [USACO18JAN]Cow at Large P

原题传送门:>Here<

我们先考虑只求一个点时怎么做。

设$f_i$为$i$到叶结点的最短距离。

假设我们在处理$root$的答案。可以发现,

当$dis_{root,i}\ge f_i$时,$i$的子树只需要放一个人就可以“封锁”。

可以发现满足这个条件的点构成很多棵子树,而我们的答案就是子树的个数。

现在我们考虑怎么得到子树个数。

设$val_i=2-d_i$,其中$d_i$表示点$i$的度数。

我们可以发现,一棵子树的权值和正好等于$1$。

考虑为什么是这样。

设一棵子树中有$x$个点,那么有$x-1$条在子树内的边。所以贡献即为$2*x-2(x-1)=2$。因为我们求的是“子树”权值和,所以必有一条连出去的边。这样贡献即为$2-1=1$。

所以我们只要对于$dis_{i,j}\ge f_j$,将$ans_i$加上$2-d_j$即可。

这样复杂度是$O(n^2)$的。

考虑点分治。则对于$i$,满足条件的$j$满足$dis_i+dis_j\ge f_j$。

移项一下,得到$dis_i\ge f_j-dis_j$。后面那个东西用树状数组维护一下即可。

loj#6131. 「2017 山东三轮集训 Day1」Fiend

原题传送门:>Here<

答案可以看作是

$$\sum_{p}(-1)^\tau\prod_{i=1}^{n}[p_i\in [l_i,r_i]]$$

其中$\tau$表示排列$p$的逆序对个数。

我们(考后)发现这个东西等价于求一个$n*n$矩阵$M$的行列式,其中$M$满足$M_{i,j}=[j\in [l_i,r_i]]$

这个行列式显然不能直接求,我们又发现查到几个性质:

  • 一个单位矩阵(只有主对角线上是$1​$,其他地方均为$0​$的矩阵,即$M_{i,j}=[i=j]​$)的行列式为$1​$;(性质1)
  • 交换矩阵的两行(列),矩阵的行列式变为相反数;(性质2)
  • 把矩阵的某一列(行)的各元素乘以同一数然后加到另一列(行)对应的元素上去,行列式不变。(性质3)

loj#6130. 「2017 山东三轮集训 Day1」Fable

原题传送门:>Here<

(考场上居然没写出来。。。心态爆炸)

我们发现,对于每轮冒泡排序,

  • 如果一个数前面有比它大的数,则该数向前移动一位;
  • 否则该数一直往后移,直到碰到一个$\ge$该数的数。

设$w_i$为$i$前面大于$a_i$的数的个数。

我们发现对于每个数,第一种移动会进行$min(w_i,k)$次。所以对于$w_i\ge k$的点,我们知道它会移动到$i-k$。

对于其他点,他们最后的值必定是有序的,所以拖出来排序,并插入原来的空当中即可。

luoguP4003 无限之环

前言

原题传送门:>Here<

网络流神仙题。。。我服了。

建模

我们发现一对联通的接头可以看做一条从一个格子到相邻格子的路径。我们考虑按奇偶分开,奇数点连源点,偶数点连汇点。

把每个格子拆成上下左右中五个点,对于有接头的方向,从中间点到对应点连边。

接下来我们考虑如何表示旋转。

loj#6503. 「雅礼集训 2018 Day4」Magic

原题传送门:>Here<

首先对题意进行一些转换:

  • 我们发现枚举格子肯定不可行,考虑枚举颜色;

  • 直接做无标号排列也不可行,考虑先对卡牌进行编号,最后再将答案除以本质相同的排列数,即$$n!\prod_{i=1}^{m}a_i!$$

  • 恰好$K$的魔术对也不能处理,考虑先做出$\ge K$的方案数,再容斥出答案,即$\sum_{i=K}^{n}(-1)^{i-K}\binom{i}{K}f_i$。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×