정도가 내가 본것 중 제일 괜찮은거 같고
내가 말하는 어려운 알고리즘 = 연구레벨이라던가 현업등 Practical 하게 쓰이지만 PS에서 매우 무시되는 것들 (= 시간제한 안에 구현이 불가능해서 출제불가)
주로 Finite field, FFT 같이 수학적인 내용이라던가
Randomized algorithm이라던가, NP complete지만 FPT(fixed parameter tractable)에 나오는 알고리즘이라던가 등등...
TAOCP에 나오는 좀 재밌는 테크닉 등...
아니면 캐시접근시간까지 고려해서 하드웨어적으로 행렬곱을 최적화 하는걸 배워본다던가 하는것들
프로젝트 오일러?
거기가 아마도 저기서 언급된 주제를 쓰는문제가 몇 있긴할텐데 그거보다는 저 홈페이지처럼 practical한 애들을 universal하게 쓸수 있도록 라이브러리 처럼 하나 구현을 연습해보는거지. 예를 들어서 FFT를 임의의 precision에서 계산한다거나, Finite field 연산 bit수가 좀 높을때 (100bit-1000bit) 효율적으로 계산한다던가 등등..
그걸 채점을 어떻게 할건데? 애초부터 니가 이야기하는 정도의 수학적 지식을 요구하는건 특수한 분야 말고는 안 쓰니까 실용성이 거의 없고. (실제로 본 것 중에서 FFT를 이용한 다항식 곱셈을 과제로 낸 회사가 있긴 함. 못 풀어도 붙여주긴 했는데) 그거보다는 단순구현이 쉬운데 '특정한 분야의 지식을 최대한 덜 요구하는' 휴리스틱한 방법으로 얼마나 최적화가 가능할까? 라는 주제가 좀 더 현실적이고 이건 삼성 B,C형이 있음. 애초부터 시간 제한이 완전히 없는 시점에서 코테를 왜 보냐
애초에 글 올린이유가 너말대로 PS대회나 코테 ㅈ까고 연구등 뭔가 만들게 있을 때 라이브러리 체킹을 해볼수 있는곳이 있나 해서 물어보는거지. 애초에 Finite field 이런거는 암호나 부호에서 맨날 써먹는건데 실효성이 오히려 없는게 아니라 개 ㅈ되는것들임. 그리고 라이브러리 체킹은 이미 있는 Maple이나 Sage등 확실한 구현이 있지만 속도가 느린것들로 체크해보면 되는것들이고 그리고 사람들이 좀더 low level 구현등으로 좀더 경량화시킨 구현들하고 비교할수 있는 저런 사이트가 있나 물어보는거지
애초부터 니가 말한 작업을 한다고 해도 실전에서는 대부분 로우레벨로 들어가서 할 일이 없고 검증된 라이브러리를 쓰니까 니가 적은건 일단 실용성은 없음. 그래도 그런걸 해보고 싶은 사람들은 자기가 짜서 성능을 증명해서 깃헙에 올리는 식으로 공유하지. 그게 만약에 없는 기능이면 공식 라이브러리에 풀리퀘로 넣을 수도 있을거고... 그걸 '일반화해서 채점가능한 형태로' 만들어놓은 사이트를 만드는건 코딩테스트 플랫폼에 비해서 어마어마하게 비효율적인 일이 되지 않을까? 그리고 SIMD나 CUDA 같은걸 보면 '하드웨어적'이라는 말이 들어가는 순간부터 이야기는 완전히 달라져.
그런게 있다면 재미있을 것이고, 관심이 있는 사람들이 해보고 싶을 거라는건 동의하는 바야.
library checker말고 없을걸? 사실 그 사이트 OJ사이트가 아니긴 하지만 아무튼.
그런건 입사하고 교육기간에나 주겠지
아 테스트가 그 얘기가 아닌가? 그러면 그냥 알고리즘 하나하나마다 찾으면 좀 있을 텐데 그런걸 모아놓는 yosupo보다 딥한 주제를 다루는 곳은 모르겠다