Índice
1. Competição por equipes
Team Competition__Nioke.com (nowcoder.com)
responder:
Ponto-chave: O valor do nível da equipe é igual ao segundo valor de nível mais alto do jogador
Detalhes: valor do nível do jogador <= 10^9, intervalo de dados do tipo int < 2147483647, três 10^9 excederam o intervalo de dados int, então usamos o tipo long long para calcular o valor combinado.
Para maximizar o valor combinado, precisamos obter o maior valor de segundo nível a cada vez, então devemos escolher 2 números grandes e 1 número decimal para nossa divisão e garantir que o valor de segundo nível seja o maior possível.
É fácil pensar dessa maneira, só precisamos classificar os dados de pequeno para grande e pegar o segundo maior número de trás para frente .
Supondo que existam n grupos, pesquise n vezes e o número de dados seja size. Na matriz, há uma fórmula para encontrar o segundo maior número: a[size-2*(i+1)]
código:
#include <iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
int n=0;
while(cin>>n)
{
long long sum=0;
vector<int>v;
v.resize(3*n);
for(int i=0;i<3*n;i++)
{
cin>>v[i];
}
//排序
sort(v.begin(),v.end());
for(int i=0;i<n;i++)
{
//公式:每次找划分第二大的数,划分最小数+2最大数,sum+第二大数
sum+=v[v.size()-2*(i+1)];
}
cout<<sum<<endl;
}
return 0;
}
2. Exclua caracteres comuns
Excluir caracteres comuns__Nioke.com(nowcoder.com)
responder:
Idéia: Para excluir caracteres comuns, precisamos apenas marcar os caracteres comuns. Ao percorrer a primeira string, se o caractere tiver sido marcado, ele será excluído. Podemos usar o mapeamento de hash (unordered_map também é OK), aqui usamos um matriz de 256 (os códigos ASCII têm 256 caracteres no total) tamanho int para estatísticas de mapeamento.
código:
#include <iostream>
#include<string>
using namespace std;
int main() {
string str1;
string str2;
getline(cin,str1);
getline(cin,str2);
//采用哈希映射的思想
int hash[256]={0};
for(int i=0;i<str2.size();i++)
{
hash[str2[i]]++;
}
string res="";
for(int i=0;i<str1.size();i++)
{
if(!hash[str1[i]])
res+=str1[i];
}
cout<<res<<endl;
return 0;
}