http://www.maa.org/sites/default/files/USAMO_Winners_2016_1....
Apparently the final team was not chosen strictly from the top 12 (Michael Kural and Ashwin Sah were Honorable Mentions).
1,758 karma · joined September 5, 2010
http://www.maa.org/sites/default/files/USAMO_Winners_2016_1....
Apparently the final team was not chosen strictly from the top 12 (Michael Kural and Ashwin Sah were Honorable Mentions).
Could it possibly be that both of the mistakes were bugs? Perhaps it suggested a non-sensical position such as (25.23, 13.15), and it was snapped to (19, 13) :D
http://www.math.cornell.edu/~mec/2003-2004/cryptography/subs...
Though this is a simple problem, if you are picky there are actually other considerations... how well do the words intersect (do you prefer more of a sparse tree-like structure, or maximal mesh-like intersection). What is the optimal dimension of a puzzle given the input. How the order of words (random vs. longest word first) affect the quality of the puzzle. etc. I have a half-done word search puzzle app (with a twist) so this piques my interest.
But I like this one nice and clean.
Regarding the hint button. I don't want to use it precisely because I don't want to "win" by repeatedly getting hints.
I summarize the author's algorithm as follows: take an array of R^3 vectors, and for each element in the vector, perform the [+,-,-], [-,+,-], and [-,-,+] transform. So N numbers become 3N numbers, which is followed by a duplicate removal process faciliated by the sorting.
The improvement is that the duplicate removal can be accomplished without sorting.
Let's say you have an array of R^3 already sorted. Then say you create 3 arrays each of which is created by "shifting" the array in each of the 3 directions. Call the original A, and the derived B0, B1, B2. Note that B0, B1, and B2 are each sorted since element within each array is adjusted in the same direction. Then all you need to do is to do a 3-way merge, which takes linear time.
I bet by doing this, the runtime could be significantly reduced. My guess is that it runs in the range of 10-30 seconds (instead of 335 seconds).
The reason is that we often need to comment OUT code during development. In C++, the 4 choices are: (1) #ifdef, (2) bool dothis = false; if (dothis) { ... }, (3) /* * /, (4) // ...
Among them, I would say the best and least-confusing way to comment out a block of code is /* * /. #ifdef's are very confusing especially if you have multiple of them; // needs to be applied to every line so only works in small scale; if (dothis) doesn't work across multiple functions, and at a glance it is harder to discern whether this is a "comment-out", or a legit condition.
However, by using /* * / in your comments, you eliminate the possibility of commenting out blocks of code that contains /* * / comments. The problem, of course, is due to how the opening and closing symbols are matched.
You can do that by right clicking the icon on the bottom taskbar and click the app to start. It did drive me crazy until I figured this out.
So I would say, if you are worried that it'll destroy your Windows experience as you know it, don't. It's still there. Really still there, with some minor improvements (e.g. task menu). If I didn't get this for free, I would have felt cheated (as in, this is just an UI skin over my existing Windows 7). What I miss the most is the start menu, and I guess I'll download some start-menu app to replace that.
I don't use my laptop as a tablet so I can't comment on the Metro interface, other than that it's fluid (like the Windows Phone). I don't see there is any chance I'd buy the Surface RT though... The App Store is very limiting at this point. But then, I am not their RT audience.
This is probably what went through her mind... If Larry can lead Google, and I being the smarter one of the two ...
Despite all her flaws, she may actually succeed at Yahoo! just to prove her critics wrong. So congrats, and best of luck!
I think the Native C/C++ is the right move though. The "easy to port to IOS/Android" point is important, and I think going forward that would/should be the model for web development, unless Webapp is sufficient for your purpose, or that you're willing to develop your app in 3 languages (ObjC, Java, C/C#).
That said, I'm sad that my (otherwise very nice) Lumia 800 is getting the WP6.5 treatment.
Give them a hint (but don't say you are talking to a lawyer) that if the arrangement is unreasonable, you'll not just walk away. You'll spend the time and energy to right the wrongs. Give them hints that investors, public laundry, and/or legal means are within consideration (but don't do any of these yet) -- even at the expense of potentially not getting anything at all.
I think if the founders are serious about continuing with the startup, they'll think twice about this. What you are asking them is to just be reasonable, so they shouldn't have a problem with it. They would be far more worried about all these things you hint at (investors, public laundry, legal means).
If they counter with something -- say 6 months. Take it. Heck, if you do this correctly, you lose no karma, not even the relationship with them.
BTW the equity... probably worthless anyway. So, the other approach is to simply move on. I agree with others that this may actually be the better route, but it depends on your situation.
Granted, exception is problematic. I don't use exception for similar reasons. However, given the nature of this project, it should have been clear that exception should not have been used in the first place. Instead, be very explicit about error handling. This is really a poor design choice. How is it the conclusion that the answer is C, rather than "C++ without exception?".
But even if X is mind-blowing, the fact is that the article was written to show readers this mind-blowing fact. And after reading said article, should I still be in the "never believe" camp, making it an unconvincing article? Or should I now believe it, thereby invalidating the premise that X is something "I'll never believe"?
I know. Exaggeration sells. But still.