תכנות דינאמית

הדפסת הרצף הביטוני הארוך ביותר
2026

הדפסת הרצף הביטוני הארוך ביותר

הבעיה הביטונית הארוכה ביותר היא למצוא את רצף המשנה הארוך ביותר של רצף נתון כך שתחילה הוא עולה ואז פוחת. רצף, הממוין בסדר הולך וגדל, נחשב לביטוני כשהחלק ההולך ופוחת ריק. באופן דומה, רצף סדר יורד נחשב לביטוני כשהחלק ההולך גדל כריק. דוגמאות:

הדפס שרשרת זוגות באורך מרבי
2026

הדפס שרשרת זוגות באורך מרבי

ניתן לך n זוגות של מספרים. בכל זוג, המספר הראשון תמיד קטן מהמספר השני. זוג (c, d) יכול לעקוב אחר זוג אחר (a, b) אם b < c. ניתן ליצור שרשרת זוגות בצורה זו. מצא את השרשרת הארוכה ביותר שיכולה להיווצר מקבוצה נתונה של זוגות. דוגמאות:

מצא את כל השילובים של מספרי k-bit עם n סיביות שנקבעו כאשר 1  <= n  <= k בסדר ממוין
2026

מצא את כל השילובים של מספרי k-bit עם n סיביות שנקבעו כאשר 1 <= n <= k בסדר ממוין

בהינתן מספר k, מצא את כל השילובים האפשריים של מספרי k-bit עם n-bit שנקבע כאשר 1 <= n <= k. הפתרון צריך להדפיס תחילה את כל המספרים עם סיביות קבוצה אחת, ואחריו מספרים עם קבוצה של שתי סיביות,.. עד למספרים שכל ה-k-bit שלהם מוגדרים. אם לשני מספרים יש אותו מספר של סיביות מוגדרות, מספר קטן יותר צריך לבוא ראשון. דוגמאות:

עלות מינימלית ליצירת שני מיתרים זהים
2026

עלות מינימלית ליצירת שני מיתרים זהים

נתון שתי מחרוזות X ו-Y, ושני ערכים costX ו-costY. עלינו למצוא עלות מינימלית הנדרשת כדי להפוך את שתי המחרוזות הנתונות לזהות. אנו יכולים למחוק תווים משתי המחרוזות. העלות של מחיקת תו ממחרוזת X היא costX ומ-Y היא costY. העלות של הסרת כל התווים ממחרוזת זהה.

עלות מינימלית למילוי משקל נתון בשקית
2026

עלות מינימלית למילוי משקל נתון בשקית

נותנים לך שקית בגודל W ק"ג ומספקות לך עלויות של חבילות במשקלים שונים של תפוזים בעלות מערך[] כאשר עלות[i] היא בעצם העלות של 'i' ק"ג חבילת תפוזים. כאשר עלות[i] = -1 פירושו שחבילת 'i' ק"ג של תפוזים אינה זמינה. מצא את העלות הכוללת המינימלית לקניית W kg תפוזים בדיוק ואם לא ניתן לקנות בדיוק W kg תפוזים אז הדפס -1. ניתן להניח שיש היצע אינסופי של כל סוגי החבילות הזמינים. הערה: מערך מתחיל מאינדקס 1.

נתיב עם ערך ממוצע מקסימלי
2026

נתיב עם ערך ממוצע מקסימלי

נתון מטריצה ​​מרובעת בגודל N*N, כאשר כל תא משויך לעלות ספציפית. נתיב מוגדר כרצף ספציפי של תאים שמתחיל מהתא השמאלי העליון נע רק ימינה או למטה ומסתיים בתא הימני התחתון. אנו רוצים למצוא נתיב עם הממוצע המרבי על כל הנתיבים הקיימים. הממוצע מחושב כעלות הכוללת חלקי מספר התאים שבהם ביקרו בנתיב.

סכום מקסימלי של זוגות עם הבדל ספציפי
2026

סכום מקסימלי של זוגות עם הבדל ספציפי

נתון מערך של מספרים שלמים ומספר k. נוכל לזווג שני מספרים של המערך אם ההפרש ביניהם קטן בהחלט מ-k. המשימה היא למצוא את הסכום המקסימלי האפשרי של זוגות מפורקים. סכום של זוגות P הוא הסכום של כל מספרי 2P של זוגות.

בעיית זיווג חברים
2026

בעיית זיווג חברים

בהינתן n חברים, כל אחד יכול להישאר רווק או יכול להיות בזוג עם חבר אחר. כל חבר יכול להיות מזווג פעם אחת בלבד. גלה את המספר הכולל של הדרכים שבהן חברים יכולים להישאר רווקים או שניתן להתחבר אליהם.

נתיב סכום מינימום במערך תלת מימד
2026

נתיב סכום מינימום במערך תלת מימד

בהינתן מערך תלת מימדי [l][m][n], המשימה היא למצוא את סכום הנתיב המינימלי מהתא הראשון של המערך לתא האחרון של המערך. אנו יכולים לעבור רק לאלמנט סמוך, כלומר, מתא נתון (i, j, k), ניתן לעבור תאים (i+1, j, k), (i, j+1, k) ו-(i, j, k+1), מעבר אלכסוני אסור, אנו עשויים להניח שכל העלויות הן מספרים שלמים חיוביים.