按照题意来进行DP。
定义 dp[i][j] 表示从第 i 个数到第 n 个数,进行加法和乘法的运算后,运算结果为 j 的方案数。
假设第 i 个数为 y,那么可以枚举第 i+1 状态下结果为 0 到 9 的方案数。 用 x 来表示。
小蓝有一个长度为 n 的正整数序列。她每次可以选择序列的最后两个数,对它们进行加法或乘法运算,但只保留运算结果的个位数(即除以 10 的余数),并将这个个位数追加到序列末尾,同时删去原来的两个数。经过 n−1 次操作后,序列中只剩下一个数。给定初始序列,请你计算最终剩下的数恰好为 0,1,2,…,9 各有多少种不同的操作序列。两种操作序列视为不同,当且仅当在某一步选择的运算类型(加法或乘法)不同。由于答案可能很大,请将每个结果对 109+7 取模。
初始序列的长度 n 不超过 200000。序列中的每个数都是不超过 109 的正整数。
第一行包含一个整数 n(1≤n≤200000)。 第二行包含 n 个整数,表示初始序列,每个数均为不超过 109 的正整数。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册