Tópico Compartilhe L

Significado das perguntas: n indivíduo cercado por um anel, todo mundo tem algumas moedas de ouro, moedas de ouro iniciais e entregou a cada pessoa pode colocar as pessoas vizinha, pergunte quantas moedas passar, pelo menos, fazer com que todos o mesmo número de moedas de ouro?

Análise: Em primeiro lugar, não podemos garantir que haverá no melhor dos casos dois enviados adjacente moedas do ouro para o outro, porque o público para que eles não recebi partes iguais, então podemos ser representado pelo número i bi de pessoas enviadas para a esquerda de ouro, pode ser negativo, significa um feed back negativo para a esquerda, então, assumindo que o número de moedas de ouro por p é igual a (ouro total médio), AI é o número i do número original de moedas de pessoas, em seguida, é fácil de obter:

A1-B1 + B2 = p

A2-B2 + B3 = p

......

um-bn + b1 = p

E o que pedimos é a soma dos valores absolutos de bi, por isso reconversão

b2 = p-A1 + B1

b3 = p-a2 + b2

......

bn = p-an + bn-1

Em seguida, todos os ensaios b2-BN-1 certas é uma substituição, isto é, b1

b2 = p-A1 + B1

b3 = p-a2 + (p-A1 + B1) = p-a1 + a2 + p-b1

......

bn = p-a1 + a2-P + ...... + p-an-1 + b1

E p, a1-um são constantes, deu entrada, para que escrevê-lo conveniente para fazer-nos olhar c

| B1 | = | b1 | // aqui também pode ser escrita como | b1 | = | b1-c1 |, c1 = 0

| B2 | = | B1-C2 | , C2 = a1-p

| B3 | = | B1-C3 | , C3 = a1 + a2-p-p

......

| Bn | = | B1-c | , CN = A1 + A2-p-p-p + ...... + ou 1-

Por escrito na forma b1 ci-lo?

Porque | ab & | distância correspondente ao número de eixos a e b

O resultado final é, por conseguinte, | b1 | + | b2 | + | b3 | + ...... + | bn | = | B1-C1 | + | B2-C2 | + ...... + | bn-cn | 

A única b1 é desconhecida, de modo que o resultado final é, na verdade, na linha de números a partir de C1, C2, ......, CN e a mínima distância

Este deveria ter aprendido na escola secundária

Estas n pontos representados na linha de números

Desta vez, c1-cn c eu vejo isso como a matriz original após a matriz de pequeno a grande ordem drenado

Então, aparentemente, a fim de garantir | b1-c1 | + | b1-cn | valor a menor, b1 deve ser entre c1-cn

Para garantir | entre um valor mínimo, deve B1-C2-CN-1 | B1-C2 | + | B1-cn-1

......

Finalmente, se n é um número par, / 2 valores B1 para tomar cn cn / 2 + 1 pode ser entre

Se n for ímpar, então, B1 pode ter apenas c (n + 1) / 2 

Por conveniência deixar B1 = c (n + 1) entre nós / 2 pode ser um

Aqui encontramos c (n + 1) / 2 pode ser nth_element () O (n) pode estar interessado em aprender sobre cplusplus, é claro, também possível classificar

Finalmente, o valor de b1 é calculada para trazer a linha das fórmulas originais

código:

 

Acho que você gosta

Origin www.cnblogs.com/lin4xu/p/12661849.html
Recomendado
Clasificación