I am trying to solve some approximation problems but not able to analyze how to design algorithm for such problems. Please provide some tips on solving such kind of problems. Also if you have solved such kind of problems please share them. Thanks!
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 160 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | Dominater069 | 154 |
8 | awoo | 154 |
10 | luogu_official | 151 |
I am trying to solve some approximation problems but not able to analyze how to design algorithm for such problems. Please provide some tips on solving such kind of problems. Also if you have solved such kind of problems please share them. Thanks!
Name |
---|
Intuition, trial and error, proof by AC are all applicable for such problems. I'm assuming you really mean approximation and not things like binary search. This is the kind of problem you're almost never too sure if your solution is enough.
An example: https://codeforces.net/gym/100512 problem J. Given a DAG, output a vertex that can reach at least half of the vertices than the maximum. My solution is just taking random starting points and mark the vertices that can reach it. Now, assume the most frequent one is the answer. This has very good chance of passing and I'm not sure about the exact probability but it makes sense.