HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

12
HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong

Transcript of HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Page 1: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

HKOI 2014 Senior

Pharmaceutical CompanyProblem Prepared by : Gary Wong

Page 2: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Problem

• Find the maximum number of capsules they can produce

• Find the earliest possible time for the workers to finish the synthesis process in such case

Page 3: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Solution 1

• Write a function to achieve this– given the time the workers finished the synthesis

work, find the number of capsules they can produce

• Exhaust the finishing time for X workers, from 1 to T

• Complexity = O( T * ( X + Y ) )• Score = 50

Page 4: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Observation 1

• If the synthesis process is too long, the Y workers cannot finish the capsuling process

• If the synthesis process is too short, the number of capsules will not be maximized

• There must be a critical time slot (s – t), such that– More than t units of time, the capsuling process cannot

be finished– Less than s units of time, the number of capsules will

not be optimal

Page 5: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Possible Idea 1

• One might use binary search to locate one terminal of that time slot t

• Is t units of time the answer?

Page 6: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Tricky Part

• In that time slot, the number of capsules can be produce might be identical

• Recalled from the problem statement– “If there are multiple solutions that can maximize

the number of capsules, output the earliest time for the shift”

• Obviously finding t is not good enough• What should we do to find s?

Page 7: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Possible Idea 2

• After the binary search, we’ve already known the optimal number of pills we can make

• Studying the property of s– Using less than s units of time, the number of pills

apparently is not maximum– Using time from s to t, the number of pills is

identical• In other words, s is another critical point

Page 8: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Solution 2

• Write a function to achieve this– given the time the workers finished the synthesis

work, find the number of capsules they can produce

• Use binary search to locate t from 1 to T• Use binary search to locate s from 1 to t• Complexity = O((X + Y) ln T)• Score = 100

Page 9: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Observation 2

• Using two binary search is not convenient enough

• For example,– X = 1, he need 3 units of time to produce a pill– Giving him 3, 4, 5 units of time, the number of pill

he could produce is same• Once we locate the time of t• Find x = min(t mod Ta[i])• The optimal time is actually t - x

Page 10: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Solution 3

• Write a function to achieve this– given the time the workers finished the synthesis

work, find the number of capsules they can produce• Use binary search to locate t from 1 to T• Find the minimum modulus• Output t – x and the pills can be made• Complexity = O((X + Y) * ln T)• Score = 100%

Page 11: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

Tricky Case

• If the time is only enough to produce 0 pill, what should we output?– (0, 0)?

• No!• As the boss is very mean, X workers need to

prepare and clean up before Y workers arrive

Page 12: HKOI 2014 Senior Pharmaceutical Company Problem Prepared by : Gary Wong.

• END