#P17355. [ECNA 2024] Average Substring Value

[ECNA 2024] Average Substring Value

题目描述

设 ss 是一个完全由十进制数字(0--9)组成的非空字符串。若 ss 的长度为 nn,从左到右把各位编号为 1,2,3,…,n1,2,3,\ldots,n。对于 1≤i≤j≤n1\le i\le j\le n,令 s[i,j]s[i,j] 表示由第 ii 位到第 jj 位组成的子串,包括两个端点。因此,本题只考虑非空子串。

每个子串的价值定义为该子串中最大的数字。求 ss 的所有子串价值的平均数。

注意,两个位于不同位置的子串即使字符串内容相同,也视为不同子串。例如,若 s=1010s=\texttt{1010},则 s[1,2]=s[3,4]=10s[1,2]=s[3,4]=\texttt{10},但二者仍是两个不同的子串,其价值都为 11。

输入格式

输入为一个只含十进制数字的非空字符串 ss,长度不超过 200000200000。

输出格式

输出一行,表示 ss 的所有子串价值的平均数。

  • 如果平均数是整数,直接输出该整数;
  • 如果平均数是小于 11 的真分数,即 a/ba/b,其中 a,ba,b 为正整数且 a<ba<b,则以最简形式输出 a/b;
  • 如果平均数大于 11 且不是整数,先输出整数部分,再输出一个空格和最简真分数部分 a/b。
123
2 1/3
4084
6
1010
4/5
00000
0