Hdu 5303 맛 있 는 사과 욕심

1214 단어 알고리즘
제목 링크:
HDU5303
제목:
링 길이 L 인 길이 가 있 고 창 고 는 위치 0 곳 에 있 습 니 다.
이 길 에는 사과 나무 n 그루 가 있어 사과 나무의 위치 와 사과 수 를 알려 준다.
한 번 에 최대 K 개의 사 과 를 담 을 수 있 는 바 구 니 를 쓰 냐 고 물 었 습 니 다.   이 길에 있 는 모든 사 과 를 창고 로 되 찾 으 려 면 최소한 가 야 할 거리 이다.
문제 풀이 방향:
이 길 은 고리 모양 으로 되 어 있 으 니, 먼저 과일 나 무 를 두 부분 으로 나 누고, 동 그 란 왼쪽 은 일 부 를 계산 하고, 동 그 란 오른쪽 은 다른 부분 을 계산한다.
모든 사 과 를 거리 에 따라 정렬 하고 가방 과 비슷 한 생각 으로  왼쪽, 오른쪽 을 통계 하여 사 과 를 채집 하 는 데 필요 한 최소 거 리 를 되 돌아 가 는 데 사용 합 니 다.
마지막 으로 한 바퀴 더 가 야 할 상황 을 고려 합 니 다: 왼쪽 에 k1 이 더 많 습 니 다 (
판 가름   k1 을 가 지 러 오 는 거리 + k2 를 가 지 러 오 는 거리  원주 장 L 과 의 크기 관 계 는 그 에 상응하는 답 을 얻 을 수 있 습 니 다.
코드:
#include
#include
#include
#include
#define LL long long
#define maxn 100050
using namespace std;
int dis[maxn],cnt;
int ldis[maxn],rdis[maxn];
int cnt1,cnt2;
LL lsum[maxn],rsum[maxn];

int cmp(int a,int b)
{
    return a

좋은 웹페이지 즐겨찾기