RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
USACO0276 파일 입출력

Why Did the Cow Cross the Road

Platinum II 플래티넘 II
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

Why did the cow cross the road? We may never know the full reason, but it is
certain that Farmer John's cows do end up crossing the road quite frequently.
In fact, they end up crossing the road so often that they often bump into
each-other when their paths cross, a situation Farmer John would like to remedy.

Farmer John raises \(N\) breeds of cows (\(1 \leq N \leq 100,000\)), and each of his
fields is dedicated to grazing for one specific breed; for example, a field
dedicated to breed 12 can only be used for cows of breed 12 and not of any other
breed. A long road runs through his farm. There is a sequence of \(N\) fields on
one side of the road (one for each breed), and a sequence of \(N\) fields on the
other side of the road (also one for each breed). When a cow crosses the road,
she therefore crosses between the two fields designated for her specific breed.

Had Farmer John planned more carefully, he would have ordered the fields by
breed the same way on both sides of the road, so the two fields for each breed
would be directly across the road from each-other. This would have allowed
cows to cross the road without any cows from different breeds bumping into
one-another. Alas, the orderings on both sides of the road might be different,
so Farmer John observes that there might be pairs of breeds that cross. A pair
of different breeds \((a,b)\) is "crossing" if any path across the road for breed
\(a\) must intersect any path across the road for breed \(b\).

Farmer John would like to minimize the number of crossing pairs of breeds. For
logistical reasons, he figures he can move cows around on one side of the road
so the fields on that side undergo a "cyclic shift". That is, for some
\(0 \leq k < N\), every cow re-locates to the field \(k\) fields ahead of it, with
the cows in the last \(k\) fields moving so they now populate the first \(k\)
fields. For example, if the fields on one side of the road start out ordered by
breed as 3, 7, 1, 2, 5, 4, 6 and undergo a cyclic shift by \(k=2\), the new order
will be 4, 6, 3, 7, 1, 2, 5. Please determine the minimum possible number of
crossing pairs of breeds that can exist after an appropriate cyclic shift of the
fields on one side of the road.

Problem credits: Brian Dean

제약

Problem credits: Brian Dean

입력 형식

The first line of input contains \(N\). The next \(N\) lines describe the order, by
breed ID, of fields on one side of the road; each breed ID is an integer in the
range \(1 \ldots N\). The last \(N\) lines describe the order, by breed ID, of the
fields on the other side of the road.

출력 형식

Please output the minimum number of crossing pairs of breeds after a cyclic
shift of the fields on one side of the road (either side can be shifted).

파일 입력 / 출력
이 문제는 표준 입출력을 사용하지 않습니다. 프로그램은 다음 파일을 읽고 써야 합니다:
입력을 읽을 파일 mincross.in
출력을 쓸 파일 mincross.out
예제 1
입력
5
5
4
1
3
2
1
3
2
5
4
출력
0
문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2016-2017 > February > Platinum

태그

평가 및 의견

Why Did the Cow Cross the Road

개요
출제자 난이도 Platinum II 플래티넘 II 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Why Did the Cow Cross the Road

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8