各省省选
「HNOI2008」GT考试-KMP+dp+矩阵快速幂
· ✏️ 547 words · ☕ 2 mins read

阿申准备报名参加 $GT$ 考试,准考证号为 $n$ 位数 $X_1X_2\cdots X_n(0\le X_i\le 9)$,他不希望准考证号上出现不吉利的数字。

他的不吉利数字 $A_1A_2\cdots A_m(0\le A_i\le 9)$ 有 $m$ 位,不出现是指 $X_1X_2\cdots X_n$ 中没有恰好一段等于 $A_1A_2\cdots A_m$,$A_1$​ 和 $X_1$ 可以为 $0$。

阿申想知道不出现不吉利数字的号码有多少种,输出模 $K$ 取余的结果。


「SDOI2009」HH去散步-矩阵快速幂+dp
· ✏️ 731 words · ☕ 2 mins read

HH 是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回。 又因为 HH 是个喜欢变化的人,所以他每天走过的路径都不完全一样,他想知道他究竟有多少种散步的方法。

现在给你学校的地图(假设每条路的长度都是一样的都是 $1$ ),问长度为 $t$ ,从给定地点 $A$ 走到给定地点 $B$ 共有多少条符合上述条件的路径。


「ZJOI2012」网络-LCT
· ✏️ 949 words · ☕ 2 mins read

有一个无向图 $G$ ,每个点有个权值,每条边有一个颜色。这个无向图满足以下两个条件:

  • 对于任意节点连出去的边中,相同颜色的边不超过两条。
  • 图中不存在同色的环,同色的环指相同颜色的边构成的环。

在这个图上,你要支持以下三种操作:

  • 修改一个节点的权值。
  • 修改一条边的颜色。
  • 查询由颜色 $c$ 的边构成的图中, $u$ 到节点 $v$ 之间的简单路径上的节点的权值的最大值。

对于 100% 的数据,保证颜色不多于 $10$ 种。


「SCOI2008」奖励关-期望dp
· ✏️ 424 words · ☕ 1 mins read

系统将依次随机抛出 $k$ 次宝物,每次你都可以选择吃或者不吃。宝物一共有 $n$ 种,系统每次抛出这 $n$ 种宝物的概率都相同且相互独立。

吃一次第 $i$ 种宝物将得到 $P_i$ 分,但并不是每种宝物都是可以随意获取的。第 $i$ 种宝物有一个前提宝物集合 $S_i$ 。只有当 $S_i$ 中所有宝物都至少吃过一次,才能吃第 $i$ 种宝物。注意,$P_i$ 可以是负数。

假设你采取最优策略,平均情况你一共能在奖励关得到多少分值?


「JLOI2015」城池攻占-左偏树
· ✏️ 1104 words · ☕ 3 mins read

有 $m$ 个骑士攻占 $n$ 个城池。除 $1$ 号城池外,城池 $i$ 会受到另一座城池 $f_i$ 的管辖,其中 $f_i < i$。也就是说,所有城池构成了一棵有根树。第 $i$ 个骑士的初始战斗力为 $s_i$,第一个攻击的城池为 $c_i$。

每个城池有一个防御值 $h_i$,如果一个骑士的战斗力大于等于城池的生命值,那么骑士就可以占领这座城池;否则占领失败,骑士将在这座城池牺牲。占领一个城池以后,骑士的战斗力将发生变化,然后继续攻击管辖这座城池的城池,直到占领 $1$ 号城池,或牺牲为止。

除 $1$ 号城池外,每个城池 $i$ 会给出一个战斗力变化参数 $a_i$;$v_i$。若 $a_i = 0$,攻占城池 $i$ 以后骑士战斗力会增加 $v_i$;若 $a_i = 1$,攻占城池 $i$ 以后,战斗力会乘以 $v_i$。注意每个骑士是单独计算的。也就是说一个骑士攻击一座城池,不管结果如何,均不会影响其他骑士攻击这座城池的结果。

对于每个城池,输出有多少个骑士在这里牺牲;对于每个骑士,输出他攻占的城池数量。


「HNOI2013」游走-期望方程
· ✏️ 733 words · ☕ 2 mins read

一个无向连通图,顶点从 $1$ 编号到 $N$ ,边从 $1$ 编号到 $M$ 。 小 Z 在该图上进行随机游走,初始时小 Z 在 $1$ 号顶点,每一步小 Z 以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编号的分数。当小 Z 到达 N 号顶点时游走结束,总分为所有获得的分数之和。 现在,请你对这 $M$ 条边进行编号,使得小 Z 获得的总分的期望值最小。


「HAOI2012」高速公路-期望+线段树
· ✏️ 730 words · ☕ 2 mins read

Y901 高速公路是一条由 $N-1$ 段路以及 $N$ 个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为 $1 \sim N$ ,从收费站 $i$ 行驶到 $i+1$ (或从 $i+1$ 行驶到 $i$ )需要收取 $V_i$ 的费用。高速路刚建成时所有的路段都是免费的。

政府部门根据实际情况,会不定期地对连续路段的收费标准进行调整,根据政策涨价或降价。

求对于给定的 $l,r(l < r)$ ,在第 $l$ 个到第 $r$ 个收费站里等概率随机取出两个不同的收费站 $a$ 和 $b$ ,那么从 $a$ 行驶到 $b$ 将期望花费多少费用呢?


「ZJOI2014」力-快速傅立叶变换
· ✏️ 479 words · ☕ 1 mins read

给出 $n$ 个数 $q_i$ ,给出 $F_j$ 定义为:

$$
F_j = \sum _ {i < j}\frac{q_i q_j}{(i-j)^2} - \sum _ {i > j}\frac{q_i q_j}{(i-j)^2}
$$

令 $E_i = \frac{F_i}{q_i}$ ,求 $E_i$ 的值。


「SCOI2010」股票交易-dp+单调队列
· ✏️ 642 words · ☕ 2 mins read

lxhgww预测到了未来 $T$ 天内某只股票的走势,第 $i$ 天的股票买入价为每股 $AP_i$ ,第 $i$ 天的股票卖出价为每股 $BP_i$ (数据保证对于每个 $i$ ,都有$AP_i \ge BP_i$ ),第$i$ 天的一次买入至多只能购买 $AS_i$ 股,一次卖出至多只能卖出 $BS_i$ 股。两次交易(某一天的买入或者卖出均算是一次交易)之间,至少要间隔 $W$ 天;在任何时间一个人的手里的股票数不能超过 $MaxP$ 。

在第 $1$ 天之前,lxhgww手里有数目无限的钱,但是没有任何股票,在 $T$ 天以后, lxhgww 能赚到的钱最多是多少?


「HAOI2016」找相同字符-后缀数组+单调栈
· ✏️ 1661 words · ☕ 4 mins read

给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。当这两个子串中只要有一个取得位置不同时,两个方案不同。


「TJOI2017」DNA-后缀数组
· ✏️ 784 words · ☕ 2 mins read

加里敦大学的生物研究所发现了决定人喜不喜欢吃藕的基因序列 $S$ ,有这个序列的碱基序列就会表现出喜欢吃藕的性状,但是研究人员发现对碱基序列 $S$ ,任意修改其中不超过 $3$ 个碱基,依然能够表现出吃藕的性状。现在研究人员想知道这个基因在 DNA 链 $S0$ 上的位置。所以你需要统计在一个表现出吃藕性状的人的 DNA 序列 $S0$ 上,有多少个连续子串可能是该基因,即有多少个 $S0$ 的连续子串修改小于等于三个字母能够变成 $S$ 。


「CQOI2016」手机号码-数位dp
· ✏️ 785 words · ☕ 2 mins read

手机号码是一个有 $11$ 位且不含前导 $0$ 的数。满足条件手机号码的必须同时满足:号码中出现至少 $3$ 个相邻的相同数字;号码中不能同时出现 $8$ 和 $4$ 。

给定两个数 $L$ 和 $R$ ,统计出 $[L,R]$区间内所有满足条件的手机号码的个数。 $L$ 和 $R$ 都是符合定义的手机号码。


「ZJOI2010」数字计数-数位dp
· ✏️ 689 words · ☕ 2 mins read

给定两个正整数 $a$ 和 $b$ ,求在 $[a,b]$ 中的所有整数中,每个数码(digit)各出现了多少次。


「JSOI2016」最佳团体-树上背包+0/1分数规划
· ✏️ 690 words · ☕ 2 mins read

JSOI 信息学代表队一共有 $N$ 名候选人,这些候选人从 $1$ 到 $N$ 编号。方便起见,JYY 的编号是 $0$ 号。每个候选人都由一位编号比他小的候选人$R_i$推荐。如果 $R_i = 0$ ,则说明这个候选人是 JYY 自己看上的。

为了保证团队的和谐,JYY 需要保证,如果招募了候选人 $i$,那么候选人 $R_i$ 也一定需要在团队中。当然了,JYY 自己总是在团队里的。每一个候选人都有一个战斗值 $P_i$ ,也有一个招募费用 $S_i$。JYY 希望招募 $K$ 个候选人(JYY 自己不算),组成一个性价比最高的团队。也就是,这 $K$ 个被 JYY 选择的候选人的总战斗值与总招募费用的比值最大。