2015 년 JXNUACS 알고리즘 그룹 겨울방학 첫 번 째 주 경기 1005 수 는 희소 성 이 비싸다
2305 단어 시합
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65535/2400K (Java/Other)
Total Submission(s) : 30 Accepted Submission(s) : 0
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
n 개 수 를 제시 합 니 다.이 n 개 수 중 일 부 는 모두 1 번 나 타 났 고,일 부 는 모두 2 번 나 타 났 으 며,일 부 는 모두 3 번 나 타 났 습 니 다.어떤 수 는 n 번 나 타 났 습 니 다.
물건 은 희귀 하기 때문에 현재 작은 KD 는 한 번 나 온 숫자 에 만 관심 이 있 습 니 다.프로그램 을 만들어 서 찾 아 주 고 오름차 순 으로 출력 해 주세요.
Input
첫 번 째 줄 에는 정수 t 가 있 는데 모두 t 조 테스트 데이터 가 있 음 을 대표 합 니 다.
각 조 의 테스트 데 이 터 는 두 줄 이 있 고 첫 번 째 줄 에 n 을 입력 하면 n 개의 수가 있 음 을 나타 내 며 n 의 수치 범 위 는[1,10^6]이다.
두 번 째 줄 에는 n 개의 숫자 가 있다.각 숫자의 크기 범위[1,10^6].
Output
각 그룹의 데이터 에 대응 하 는 출력 은 두 줄 이 있다.
첫 번 째 줄 은 정 수 를 출력 하여 한 번 나타 난 수의 개 수 를 나타 낸다.
두 번 째 줄 은 오름차 순 으로 출력 횟수 가 한 번 인 숫자 로 두 숫자 사 이 를 빈 칸 으로 분리 합 니 다.
Sample Input
3
5
1 2 2 3 3
7
1 2 2 3 4 4 2
2
2 2
Sample Output
1
1
2
1 3
0
Author
JXNU_WY
이 문제 의 산법 은 모두 쉽게 생각 할 수 있 지만,이것 은 내 가 고찰 해 야 할 곳 이 아니다.이 문 제 는 분석 능력 을 시험 한 것 이다.
우선 각종 데이터 형식 이 차지 하 는 메모리 크기 를 한눈 에 알 아야 한다.제목 이 메모리 에 걸 렸 습 니 다.한정 메모 리 는 2 천 400 K 다.
특히 bool 형식 은 자바 에서 한 자 리 를 차지 하고 c 와 c++는 바이트 입 니 다.
이 문제 에서 성형 배열 을 열 면 총 바이트 를 계산 해 볼 수 있 습 니 다.
4*1000000/1024=3906K
분명히 메모리 초과.
이 문제 에서 두 개의 bool 배열 을 열 때 사용 하 는 총 바이트 는:
2*1000000/1024=1953K
프로그램 에 있 는 다른 변 수 를 더 하면 초 메모리 입 니 다.
그럼 또 하나의 배열 이 있 습 니 다.그것 이 바로 문자 배열 입 니 다.
문자 배열 의 모든 요 소 는 하나의 바이트 를 차지 하기 때문에 128 가지 상태 가 있 기 때문에 하 나 를 열 면 충분 합 니 다.
총 바이트:976 K
게다가 프로그램 에서 다른 변수 가 차지 하 는 메모리 도 여유 가 있다.
다음은 C++의 참고 코드 입 니 다.
#include
#include
#include
#include
using namespace std;
const int L=1000005;
char b[L];
int main()
{
int n,a,t;
cin.sync_with_stdio(false);
cin>>t;
while(t--)
{
cin>>n;
bool flag=false;
memset(b,0,sizeof(b));
int sum=0;
for(int i=0;i>a;
if(b[a]==0) b[a]=1,sum++;
else if(b[a]==1) b[a]=2,sum--;
}
cout<
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Codeforces Round #670(Div.2) 문제 해결먼저 하나의 서열을 어떻게 하강하지 않고 상승하지 않는 서열로 분해할 것인가를 고려해라.감법만 해서 이 서열을 상승하지 않는 서열로 바꾸는 것을 고려하면, 최대치가 이전 서열의 최소치와 같을 때까지 모든 극장 불하강...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.