코딩생활

고정 헤더 영역

글 제목

메뉴 레이어

코딩생활

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (95) N
    • PS,CP (93) N

검색 레이어

코딩생활

검색 영역

컨텐츠 검색

분류 전체보기

  • A Simple Sequence (CF R 1089 Div.2 - A)

    2026.04.19 by 코딩생활

  • Grid Covering (CF R 1091 Div.2 - C)

    2026.04.18 by 코딩생활

  • Unique Values (Easy version) (CF R 1093 Div.2 - D1)

    2026.04.18 by 코딩생활

  • Blocked (CF R 1093 - A)

    2026.04.17 by 코딩생활

  • OIE Excursion (CF R 1093 - B)

    2026.04.17 by 코딩생활

  • Grid L (CF R 1093 - A)

    2026.04.16 by 코딩생활

  • Interval Mod (CF R 1092 - A)

    2026.04.16 by 코딩생활

A Simple Sequence (CF R 1089 Div.2 - A)

https://codeforces.com/contest/2210/problem/A아이디어N N-1 N-2 ... 2 1 순서대로 출력하면 항상 부등식을 만족하게 됩니다.소스코드#include #include #define ll long longusing namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll T,N; cin>>T; while (T--) { cin>>N; bool ck[202020]={0}; ll cnt=0,x,Ans=0; for (ll i=1;i>x; if (ck[i]) cnt--; cnt++,c..

PS,CP 2026. 4. 19. 09:00

Grid Covering (CF R 1091 Div.2 - C)

https://codeforces.com/contest/2217/problem/C아이디어만약 x축 이동과 y축 이동을 독립적으로 한다고 생각해봅시다. 그러면 항상 (+a,+b)의 이동만 하게 됩니다. 그러면 gcd(N,a)==1임을 알 수 있습니다. 만약 이 값이 1이 아니라 g라고 한다면, 이동 가능한 x좌표는 g로 나눈 나머지가 1인점밖에 없음을 알 수 있습니다. 그러므로 gcd(N,a)==1입니다. 마찬가지로 gcd(M,b)==1입니다. 근데 이 조건만 만족한다고 되는것은 아닙니다. 만약 N번의 이동을 했다면, x좌표가 다시 1이 됩니다. 이때의 y좌표는 b*N%M+1이 됩니다. 그런데 이 값에서 1을 뺀 값, 즉 b*N%M이 M과 서로소가 아니라면, 아까와 마찬가지의 이유로 x좌표가 1인 위치에서..

PS,CP 2026. 4. 18. 16:00

Unique Values (Easy version) (CF R 1093 Div.2 - D1)

https://codeforces.com/contest/2220/problem/D1아이디어구간 [1,x]와 [x+1,N]에서의 한번만 등장하는 수의 개수를 세어봅시다. 그리고 각각의 개수를 Left,Right라고 해봅시다.또한 세번 등장하는 수가 인덱스 a,b,c에서 등장한다면, 구간 [1,a-1]을 구간 1, 구간 [a,b-1]을 구간 2, 구간 [b,c-1]을 구간 3, 구간 [c,N]을 구간 4라고 정의합시다.Left==Right: 이 경우에는 3개짜리가 [1,x]혹은 [x+1,N]에 몰려있다는 것입니다. 이때 x-Left가 짝수라면, 세번 등장하는 수가 [x+1,N]에 존재한다는 의미이며, x는 구간 1에 존재합니다. 그 반대의 경우 x는 구간 4에 존재합니다.Left>Right: 이 경우는 3개..

PS,CP 2026. 4. 18. 09:00

Blocked (CF R 1093 - A)

https://codeforces.com/contest/2220/problem/A아이디어내림차순 정렬을 해줍시다. 그러면 절대 나올 수 없습니다.그런데 동일한 수가 두번 이상 등장한다면 -1을 출력해주면 됩니다. 이러한 경우에는 어떠한 조합에도 그 두 수로 인해 조건을 만족할 수 없기 때문입니다.소스코드#include #include #define ll long longusing namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll T; cin>>T; while (T--) { ll arr[222]={0},N,i; cin>>N; for (i=0;i>arr[i]; ..

PS,CP 2026. 4. 17. 16:00

OIE Excursion (CF R 1093 - B)

https://codeforces.com/contest/2220/problem/B아이디어만약 인접한 두 수가 다르다면, 항상 지나갈 수 있습니다. 또한 인접한 두 수가 같아도, 몇개정도 인접한것은 지나갈 수 있습니다. 하지만 m개이상 연속해서 같은 수가 나온다면, 불가능해지게 됩니다.소스코드#include #define ll long longusing namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll T; cin>>T; while (T--) { ll N,M,i,before,x,now=1; bool able=true; cin>>N>>M>>before; ..

PS,CP 2026. 4. 17. 09:00

Grid L (CF R 1093 - A)

https://codeforces.com/contest/2219/problem/A아이디어가로의 길이를 n, 세로의 길이를 m이라고 해봅시다.그러면 필요한 단위 길이의 개수는 n*(m+1)+m*(n+1)=2nm+n+m이 됩니다. 이 값이 p+2q와 같아져야합니다. 이러한 n,m의 값은 n 그러면 n,m이 나오면 그것을 현재 주어진 조각들로 구성할 수 있는지의 여부를 어떻게 판단할 수 있을까요?n*m칸을 채우다보면 기본적으로 L모양으로 채울 수 있지만 일자 모양이 |n-m|개 필요함을 확인할 수 있습니다. 그러므로 가능한 (n,m)중 |n-m|이 최소인것이 일자 모양의 개수보다 작거나 같은 경우에만 가능하고, 그렇지 않은 경우 -1을 출력해주면 됩니다.소스코드#include #include #define l..

PS,CP 2026. 4. 16. 16:00

Interval Mod (CF R 1092 - A)

https://codeforces.com/contest/2215/problem/A Problem - A - Codeforces codeforces.com아이디어모든 연산이 끝난 후, 모든 값은 다음 두가지중 하나가 됩니다.원래 수에서 %p한 값원래 수에서 %q한 값에서 %p한 값 이때 전체 배열에 연산을 끝내면 가능한 경우가 다음과 같습니다.어떠한 구간 [t,t+k-1]에 대해서 모든 수가 1번 혹은 2번 연산으로 되어있다.증명은 다음과 같습니다.pf) 배열에 연산을 끝냈을 때 어떠한 상태가 가능함을 A, 위 조건을 만족함을 B라고 합시다.A->B 증명: A->~B가 모순임을 보입시다. 첫 연산이 %p인 경우 1번 구간이 생기므로 모순이며, 첫 연산이 %q인 경우 결국 그 구간도 %p가 되므로 2번 구간..

PS,CP 2026. 4. 16. 09:00

추가 정보

인기글

최신글

페이징

이전
1 ··· 9 10 11 12
다음
TISTORY
코딩생활 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바