I am majoring in theoretical ecology at the University of Tokyo. I am scheduled to graduate from the current MSc program in March 2020, and I am planning to get in a Ph.D. program (outside Japan, due to financial and other problems). My interests are mathematical/computational biology/ecology, combinatorics, graph theory, exponential algorithms, etc.

Currently, my biggest concern is that I have no CS degrees, or even something related to CS. I graduated from the University of Tokyo in ecology BSc. However, I have achievements and contributions in competitive programming area more than average (How 'more than average'? This is my list Link).

Is it possible for non-CS students with competition achievements like me to get in CS PhD program to research algorithms? How are the chances? Does it depend on schools or region? I have no one to ask about it because almost all the redcoders are CS or mathematics major, and especially in Japan, very few people apply for PhD program overseas. Any advice (other than common advice you can find on the top search result of "how to get in phd" or something) is more than welcome ;)

P.S. Recently I resumed posting videos related to algorithms and programming contest techniques to Youtube. Take a look if you are interested. Link

If you can delay your PhD by few years, you can probably get into some big companies first. Interviews with Google, Facebook, etc. would be easy for you if your English is ok (I have not watched your videos so I don't know).

After couple of years, you have some software engineering / computer science experience, so applying to PhD may be easier.

I can only speak for US PhD programs, but from what I've heard from professors at my university and on Quora, interning at a big tech company is pretty irrelevant to entering a PhD program, with some exceptions for research based internships (Microsoft Research, Google Brain, etc.).

You'd want to check https://codeforces.com/blog/entry/53965 where this research group has several competitive programming members. From the perspective of US PhD, it's possible that you apply without BS/MS degree in CS, but it's especially important to prove you have skills/experience in CS, either via a few years working in industry or doing research internship, obtaining several (strong) recommendation letters.

I would say the strongest factors are your interest and recommendation letters; other factors are a bit optional.

He does computational biology research and has had several students that did competitive programming. Now he loves having competitive programmers as students because they transfer well to research in his field. :)

Some professors don't mind a different background than computer science. Others will have no interest. So it is important to apply to many schools and explain your interest well in your statement of purpose. It is also very important to have strong recommendation letters. Do you have experience doing research outside of computer science?

Technically, I have an ongoing research project and I have written the final thesis for my BSc degree before. However, those seem to be unpublished and even will be in Japanese (it is quite rare for MSc students to publish a paper in my department).

If a company like Google can hire people not from CS degree (but have tremendous achievements on tha area), some professors also keen to invite people like you to be his students, ;)

In National University of Singapore (NUS), there is a great professor like that: Professor Yu Haifeng. Plus, his interest is in distributed systems and graph, so I'm sure with your achievements in the area it will be a great match!

I'm a PhD student in NUS but not under his supervision. dolphinigle is one of his student, so if you're interested you may contact him (or just directly to professor).

I guess you could be admitted to University of Warsaw PhD CS studies with no problem and be involved in strong algorithmic groups there. Thresholds for being admitted are extremely low even though that's a very solid algorithms-wise place and I think that not having degree in CS shouldn't be a problem.