... העלות שלנו ליישר את כל הרשימה כלפי מעלה. או שיכולנו גם בשלב 3 -
לחשב את העלות של ליישר את המספר הנוכחי כלפי מעלה. ובשלב 4 - לעבור על כל הרשימה ולסכום את כל העלויות. עד כאן נראה שהדברים יחסית ברורים. אני אציין ואומר, ... להביא את כל המספרים לערך המקסימאלי שלהם. ולתובנה הזאת, שניתן
לחשב את הכל בריצה אחת, ניתן להגיע באמצעות ניסוי ידני, שבו פותרים את התרגיל שוב ושוב בצורה ידנית כמה פעמים. נניח שהרשימה היא כזאת: (2,3,3,3,5) כנל. ... + (5-3=2) + (5-3=2) + (5-3=2) = 9 פעולות אבל מצד האמת, אפשרי
לחשב זאת גם כך: (5 5 = 25) דהיינו, המקסימאלי שהיה אם כל הערכים היו זהים לערך הגדול ביותר, שהוא 5 כנל. (2+3+3+3+5 = 16) דהיינו, סכום נוכחי של כל הערכים. ... לחלקים. התחלנו במקרה שהוא יחסית קל, שבו יש לנו רק מחיר1 ועלינו
לחשב את מחיר1 בלבד. וראינו שבעצם ניתן לעשות זאת בזמן ריצה שהוא O(N). ועכשיו נמשיך לחלק לחלקים ונעבור לחלק קצת יותר קשה של השאלה, והוא, בהינתן רשימה של ... בערך 1, אך ורק שני מספרים שונים בבת אחת. האם היינו יודעים
לחשב את כמות הפעמים שניתן לבצע את פעולת ההגדלה הזאת? ואסביר: נשים רגע אחד בצד את תהליך איתור המספר הגדול ביותר. נשים רגע אחד בצד גם את תהליך החישוב של ... בערך 1, עד שכל המספרים מגיעים לערך הגבוה ביותר. האם נדע איך
לחשב את זה? כי אם לא, אז ממילא לא נוכל לפתור את השאלה הגדולה. אז איך בעצם יודעים כמה פעמים ניתן לבצע הגדלה כפולה, דהיינו, שמגדילים שני ערכים בבת אחת? ... היה לנו תהליך של למצוא את המספר הגדול ביותר. יש לנו גם תהליך של
לחשב כמה פעמים נצטרך לבצע הגדלה של כל המספרים בכל פעם מספר אחד, עד למקסימום. יש לנו גם תהליך של
לחשב, כמה מקסימום פעמים נוכל לבצע הגדלה כפולה של שני ערכים בבת אחת. ומכאן נובעת רמת הקושי הבאה של השאלה, שהיא, שיש לנו עוד חישוב אפשרי,
לחשב, במידה ונבצע X הגדלות כפולות, כמה Y הגדלות בודדות נבצע. דהיינו, אם יש לנו צורך להגדיל את כל המספרים נניח בסכום של 500. אז כעיקרון, במידה ונרצה ... חייבים לבצע הגדלות בודדות. ואחרי שנדע את כל זה, עכשיו נוכל
לחשב את העלות של כל ההגדלות. עד כאן זה בעצם סיכום ביניים של מה שהבנו עד כה. ועכשיו נעבור לחלק נוסף של השאלה, שעומד בפני עצמו, והוא, בהינתן לנו מחיר1 ... את החלק הזה של השאלה? אז לשם כך לכאורה בעצם עלינו לקחת רשימה,
לחשב את כל האפשרויות האפשריות להגדיל את הרשימה למקסימום. באמצעות כל השילובים של הגדלה בודדת ושל הגדלה כפולה. ומכאן נוכל לדעת, מהו המחיר המינימלי שעלינו ... היינו יודעים מראש, איך הכי יעיל למלא את הרשימה, אז היה יותר קל
לחשב את העלות. דהיינו, אם ננתח את כל האפשרויות, נראה שבסופו של דבר, יש רק 3 אפשרויות אפשריות. שהן: מבחינת המחיר שנשלם: 1 - זה לא משנה אם נבצע הגדלה ... כפולות (סהכ 200) ונצטרך לבצע עוד 300 הגדלות בודדות. ומכך נוכל
לחשב את העלות המינימלית, בהכפלה של מחיר1 + מחיר2 בהתאם. במילים אחרות, כרגע ניתן להבין שבעצם כדי לפצח את השאלה המקורית, בסך הכל עלינו לגלות איך יודעים ... את המספר הגדול ביותר. 2 - את המספר הקטן ביותר. 3 - אחכ נצטרך
לחשב את הכמות של כל שאר ההגדלות שעלינו לבצע, שאינן מעמודה אחת בלבד של MIN אל MAX. 4 - ואז נוכל לדעת בקלות כמה סהכ הגדלות נוכל לבצע מכל סוג כנל. אחדד ש: עלינו תמיד
לחשב רק עמודה אחת בלבד, של MIN אל MAX, ואם יש כמה עמודות של MIN שצריכים להגדיל אותן ל MAX, אז כל שאר העמודות האלו, למעט עמודה אחת, יחשבו בחישוב הכללי ...