사회인 첫해에 AtCoder가 싱거워지기 전에 했던 일.
7867 단어 시합 프로그램 설계AtCoder
이 기사를 쓴 사람과 기사에 관한 내용
처음 뵙겠습니다.
이전에 진행된 힘을 내다에 옅은 남색 인코더를 넣었다.잘 됐다.
ARC129
이 기사는 내가 AtCoder가 연한 파란색으로 변하기 전에 한 일을 총결하였다.
카탈로그
1. 나는 AtCoder의 규격을 처음 만들기 시작했다
2. 푸르러지기 전에 했던 일
3. 연한 파란색이 되기 전에 했던 일
4. 참조
1. 나는 AtCoder의 규격을 처음 만들기 시작했다
2. 푸르러지기 전에 했던 일
3. 연한 파란색이 되기 전에 했던 일
나는 효과가 매우 강한 코디 내용이 머리에 ★이 있다고 생각한다.
★ 과거의 문제점을 채워
이런 목적의식이 있다면.
정진 효율이 특히 높다는 인상을 주다.
나는 예쁜 실장 방침으로 예쁜 코드를 쓰는 것을 중시하기 때문에 과거의 문제를 매립했다.
참고로 초록색→연한 파란색은 약 700시간이 걸렸다.
★ 경향과 대책 마련
나는 경기에 참가하는 과정에서 때때로 내가 잘하지 못하는 문제가 생길 수 있다고 생각한다.
하나의 예를 들면, 미로의 문제는 항상 배열 밖의 참조를 일으키기 때문이다.
질문: 5. 끝말
이것에 관해서는 프로그램 라이브러리 생성을 통해 해결되었습니다.
사용 예를 아래에 붙이기 때문에 가능하면 사용해 보세요.
미로 밖을 #으로 채워라.cpp
#include <bits/stdc++.h>
#define rep(i,n) for(long long i=(long long)(0);i<(long long)(n);i++)
using namespace std;
int main() {
long long h,w;
cin>>h>>w;
vector<string> str(h+2);
rep(i,h) cin>>str[i+1];
rep(i,w+2) str[0]+='#';
rep(i,w+2) str[h+1]+='#';
rep(i,h) str[i+1].insert(str[i+1].begin(),'#');
rep(i,h) str[i+1].push_back('#');
rep(i,h+2) cout<<str[i]<<endl;
}
이걸 사용하면 이런 입력4 4
.#.#
#.#.
.#.#
#.#.
str에서는 이렇습니다.######
#.#.##
##.#.#
#.#.##
##.#.#
######
이 프로그램 라이브러리를 정확하게 사용하면 그룹 이외의 인용을 일으키지 않습니다.자신에게 맞는 창고를 만들려면 경기가 시작되기 전에 우세한 위치에 있어야 한다.
★ 목표 향상
나는 1200의 속도를 목표로 장시간의 경기 프로그래밍을 진행했다
1200의 성능을 유지하더라도 환율이 1200에 이르는 데는 시간이 걸린다
알아차렸어.
하면, 만약, 만약...
목표의 평균 성능을 그 수치보다 조금 높은 위치로 설정하는 것을 권장합니다.
★ 가져오기 IDE
100차례 대회에 출전하는 과정에서 전반부의 80차례 정도는 printf 디버깅만 했다.
IDE의 디버깅은 매우 강력합니다.
목표가 녹색 상위(속도 1000) 이상이면 가져오는 것을 추천합니다.
★ 매번 경연(ABC, ARC) 참가
내가 시합 시간에 집중하는 정도와 시합 밖에 매립해서 과거에 물었을 때의 집중도는 크게 다르다
이 때문에 많은 경기에 출전해 집중 시간을 늘렸다.
★ Codeforces(Div2Div3)에
많은 경기에 출전해 더욱 집중할 시간을 늘렸다.
또한 AtCoder의 속도가 증가하지 않아도 Codeforces의 속도는 증가하여 파란색으로 변한다
경기 절차 자체의 적극성을 유지하는 데 도움이 된다.
★ 발리로
좋아하는 과거를 좋아하는 시간에 묻는다는 건 시간에 쫓기지 않아요.
경기의 조건과는 상당히 다르다.
제한된 시간이 있는 환경에서batch의 연습에 참가할 수 있다.
고정 생활 습관
경기가 시작되기 5분 전에 깨어났는데, 경기 중에 몇 번이나 완전히 돌아오지 못했다.
토론의 결과, 시합의 어느 날 14시에 일어나 18시까지 저녁을 먹었다
20시 전에 에나들리를 마시고 21시까지 운동을 해서 혈압을 올려서 경기에 나갔대요
수수께끼 같은 전용 절차가 완성되었다.
이렇게까지 할 필요는 없을 것 같아요.
나는 적어도 20시쯤에 일어나는 것이 좋다고 생각한다.
Google Chrome의 확장 기능 추가
넣기만 하면 퍼포먼스를 높일 수 있는 확장 기능이 있다고 생각해요.
https://atcoder.jp/contests/abc007/tasks/abc007_3에서 자신에게 맞는 것을 찾아보세요.
자신과 같은 비율의 사람을 주목하면 동력을 유지할 수 있다.
경기가 끝나면 많은 사람들이 생각지도 못한 해법을 중얼거리며 공부를 한다.
4. 참조
연한 파란색으로 변한 제가 지금 대충 이해하고 있는 알고리즘과 데이터 구조.
전체 탐색
이분 탐색
깊이 우선 탐색
우선 탐색
동적 기획법
축진법
바르샤바 법
단노법
스피드 소수 판정법
멱의 빠른 계산
역계산
누적과 제거법
좌표 압축
반올림
최대 흐름
최소 잘라내기
도표 이론
나무.
Union-Find
등나무
연한 파란색으로 변한 제가 지금 이해하지 못하는 알고리즘과 데이터 구조.
행렬 곱하기
복식
그룹 수
Rolling Hash
제곱 분할
2부 일치
2부 도표 판정
5. 끝말
제가 기사를 쓰고 눈치를 챘어요.
실력 향상에 큰 효과가 있는 것은 역시 시간이 필요하다.
블루를 목표로 하고 싶다면 돌아올 테니 그때도 잘 부탁드립니다.
끝까지 봐주셔서 감사합니다.
그럼 좋은 경기 프로그래밍 생활 되세요.
Reference
이 문제에 관하여(사회인 첫해에 AtCoder가 싱거워지기 전에 했던 일.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/N1flheimr/items/fb3230a8a41077f771b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)