Это в экселе? смотря, какая формула. например, формула в d2 была такая: "=d3*a2". формула написана в относительных координатах, и означает: ячейку на 1 ниже умножить на ячейку на 3 левее и в той же строке. при копировании формулы в ячейку e1 там появится формула: "=e2*b1". а если в формуле присутствует знак $, то это уже абсолютная ссылка, она от переноса не меняется. например, "=d3*a$2". в этом случае ссылка по первой ячейке поменяется и будет e2, а по второй ячейке поменяется только номер столбца, и получится "=e2*b$2"
ribcage52
13.08.2021
Можно поступить следующим образом: создаем multimap. читаем слова из словаря, для каждого слова находим все , вставляем их в multimap в качестве ключа, значение можно ставить любое (например, (int) 1). после этого в цикле читаем слова-образцы и выводим значение count от каждого слова-образца. программа будет иметь примерно такую структуру: multimap< string, > subprefixes input n n times: input s for j = 0..size of s: if s[..j] is subprefix of s: subprefixes.insert(pair< string, > (s[..j], input m m times: input s print subprefixes.count(s) остался вопрос, как определять, является ли s[..j] . конечно, можно это делать наивно: пройти циклом для всех возможных длин подстрок j и проверить, правда ли, что s[0] = s[s.size() - j - 1], s[1] = s[s.size() - как можно ускорить всё это? 1) выберем какое-нибудь достаточно большое (по сравнению с символов) простое число x, например, x = 1009. вычислим для строки s все хеши по формуле для n = 1..len s (это делается за линейное время относительно len s, если предпросчитать все степени x от нулевой до 50) теперь если у строки s длины k есть длины j, то обязательно – проверить это быстрее, чем ходить циклом. 2) необязательно хранить в multimap-е подстроки, это дорого и по времени и по памяти. можно хранить хеши. 3) можно вместо одного multimap-а создать 50 multimap-ов, в каждом хранить только одной длины. получаем примерно такое: pow = new long long[51] pow[0] = 1 for i = 1..50: pow[i] = x * pow[i - 1] suprefixes = new multimap< long long, > [51] input n n times: input s h = hashes(s) k = len s for j = 1..k: if h[j] * pow[k - j] == h[k] - h[k - j - 1]: suprefixes[j].insert(pair(h[j], input m m times: input s print puprefixes[len s].count(hash(s)) в принципе, для такого решения multimap не нужен, достаточно иметь map, и хранить для каждого ключа количество вхождений. это можно делать и для multimap.