Their analysis in terms of chess pieces also helps: https://code.google.com/codejam/contest/3264486/dashboard#s=...
That's really sad that this pattern of bad explanations is so frequent in the internet.
21–30 of 33 posts
Their analysis in terms of chess pieces also helps: https://code.google.com/codejam/contest/3264486/dashboard#s=...
That's really sad that this pattern of bad explanations is so frequent in the internet.
Now I just need to understand flow networks: https://en.m.wikipedia.org/wiki/Flow_network
Is this trolling? I don't understand most of it and it ends in the middle of the unfollowable explanation.
Another comment links to the official writeup. The official writeup says that you can think about it as the "rook subproblem" and the "bishop subproblem" separately. This is the easiest way to think about it imo.
It's not really a maximum matching problem if a greedy algorithm works.
Which greedy algorithm do you mean? I meant that bipartite matching was enough for getting the answer, not that the two are equivalent.
I wonder if there is a real cause and effect relationship between being good at this kind of games and being a good coder. I suspect not.
I've been playing these games for a couple of years (initially, for interviews preparation), and it's been very instructive. The competition format makes it convenient and addictive. There's no doubt that I improved a lot on algorithms, data structures and on "small scale" coding. While this is useful, it is quite different than what you do when working on real projects.
Now I just need to understand flow networks: https://en.m.wikipedia.org/wiki/Flow_network
I think college lectures are still the best resource for learning problem solving. You might want to work through https://youtu.be/xWTc8xuHX00?list=PL-XXv-cvA_iDbtIylJDpPPJfa...
1) Most of the software engineering work is product development, just wrapping already existing algorithm and optimized computer program into apis and test and maintain it.
2) There are very few software engineering work involving writing algorithm and optimized computer program.
One example, everyone here might have just used mysql database. But if you look into the code, you might see there are complex data structure, and algorithm are being used.
https://github.com/mysql/mysql-server
Its a good thing to solve these kind of algorithmic problems.
I wonder if there is a real cause and effect relationship between being good at this kind of games and being a good coder. I suspect not.
I wonder too. I think it's like asking whether a math olympiad champion would make a great engineer. Certainly they have a lot of potential because they show extraordinary abilities, but there is much more to being a good coder than just being able to solve very short and extremely specific problems. I've been playing these games for a couple of years (initially, for interviews preparation), and it's been very instru…
Puzzles are fun, but it's best not to put too much predictive faith in them, because otherwise you're just affirming the consequent. Exceptional individuals are quite likely to be good at puzzles, but you cannot (in my experience) assume that because someone is good at puzzles, they have actual skill in solving real-world problems. I've worked with too many counterexamples.
I wonder if there is a real cause and effect relationship between being good at this kind of games and being a good coder. I suspect not.
I wonder too. I think it's like asking whether a math olympiad champion would make a great engineer. Certainly they have a lot of potential because they show extraordinary abilities, but there is much more to being a good coder than just being able to solve very short and extremely specific problems. I've been playing these games for a couple of years (initially, for interviews preparation), and it's been very instru…
So there's a couple of advantages if you can execute code in your head line by line while storing state as well. You can be slightly faster and more correct while coding yourself and while reviewing the code that others have written. Typically in the latter case you don't have the benefit of the compiler or running tests.
In my anecdotal experience I found an improvement in my "head interpreter" after practising interview questions for a while because typically you're not allowed to execute your code. I can't say if any of the algorithms I learnt and practised helped, but this, in my opinion, made me slightly better at my day job.