Here is a greedy algorithm for scheduling talks with the goal of maximizing the number of talks:
1. Sort all talks by ending time in increasing order.
2. Select the talk with the earliest end time without overlapping with previously selected talks.
3. Repeat step 2 until no more talks can be selected without causing overlaps.
The intuition is that by always selecting the talk that finishes earliest, we leave the largest window of opportunity to fit in additional talks later without causing overlaps. This greedy approach of making the locally optimal choice at each step to maximize immediate benefit turns out to produce the globally optimal solution of maximizing the total number of talks scheduled.