题解
题面描述
给定一个仅由字符 0,1,2,…,9 组成的长度为 n 的字符串 t。定义一个数字字符串的权值为其所有子串中同时满足以下两个条件的子串数量:
- 子串所表示的整数为偶数,即末尾数字属于集合 {0,2,4,6,8};
- 子串不存在前导零(例如 “02” 或 “020” 均不合法),但单个字符 “0” 是合法的。
P2804.第2题-小红的字符串
题目内容
小红定义,一个由0,1,2,...,9这十个数字构成的数字字符串的权值为,它的全部子串中,同时
满足下方这两个条件的数量:
1.字符串所表示的整数是偶数,即末尾数字属{0,2,4,6,8};
2.字符串不存在前导零(例如"02"或"020"均不合法),但单个字符0 是合法的。
小红现在想知道,对于给定的数字字符串t,它的全部子串的权值之和是多少。由于答案可能很大,请将答案对(109+7)取模后输出。
子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。
输入描述
第一行:一个正整数n(1≤n≤2×105)代表字符串t的长度。
第二行:一个长度为n,仅由字符0到9组成的字符串t。
输出描述
一个整数,表示小红的数字字符串中所有子串的权值之和,结果对109+7取模。
样例1
输入
3
203
输出
9
说明
字符串“203"有六个子串:
- "2",权值为1;
- "0",权值为1;
- "3",权值为0;
- "20",权值为3;
- "03",权值为1;
- "203",权值为3;
综上,答案为 9
样例2
输入
3
202
输出
13