통계학 세상
close
프로필 배경
프로필 로고

통계학 세상

  • 분류 전체보기 (1487)
    • 다시보는 통계학 (28)
    • 딥러닝 (306)
      • 딥러닝 기초 (63)
      • Computer Vision (76)
      • NLP (59)
      • Machine Reading Comprehensi.. (21)
      • light weight modeling (47)
      • Graph (17)
      • recommendation system (7)
      • reinforcement learning (2)
      • LLM (6)
      • Deep Learning Specializatio.. (7)
      • Diffusion (1)
    • AI 논문 (45)
      • AI trend research (42)
      • 고전이 된 AI 논문 (3)
    • 데이터 분석 프로젝트 연습 (0)
    • 프로그래밍 (293)
      • 프로그래밍 개론 (7)
      • Python (81)
      • Java (15)
      • C++ (9)
      • C# (0)
      • 비전공자를 위한 자바스크립트 (8)
      • Pandas (10)
      • Numpy (8)
      • Pytorch (30)
      • SQL (23)
      • Unity&C# (27)
      • Tensorflow.js (2)
      • git 가이드 (10)
      • 비전공자를 위한 Web (4)
      • React (17)
      • node.js (17)
      • FastAPI (7)
      • docker & jenkins (10)
      • R 프로그래밍 (8)
    • 알고리즘 (500)
      • 알고리즘 일반 (61)
      • Java 기초 (22)
      • C++ 기초 (22)
      • 브루트포스 (22)
      • DFS BFS 정복기 (28)
      • 그래프 이론 정복기 (21)
      • 분리집합 (7)
      • 최단거리 알고리즘 (21)
      • 최소 스패닝 트리 (5)
      • 다이나믹 프로그래밍 (64)
      • 구현,시뮬레이션 (11)
      • 이분 탐색 (17)
      • 정렬 알고리즘 (9)
      • 그리디 알고리즘 (30)
      • 투 포인터 알고리즘 (9)
      • 누적 합 알고리즘 (14)
      • 문자열 알고리즘 (17)
      • 자료구조(스택,큐,해시맵) (14)
      • 순열 사이클 분할 (1)
      • 슬라이딩 윈도우 (2)
      • 연결리스트 (3)
      • 분할 정복 (4)
      • 위상정렬 (3)
      • 세그먼트 트리 (14)
      • 유량 알고리즘 (1)
      • 이분 매칭 (2)
      • 고급 자료구조 (3)
      • 희소배열(더블링) (2)
      • 전처리 (1)
      • 게임이론 (8)
      • 비트마스킹 (8)
      • 애드 혹 알고리즘 (33)
      • 중간에서 만나기 (4)
      • 확률론 알고리즘 (3)
      • 선형대수학 알고리즘 (3)
      • 압축 알고리즘 (2)
      • 오프라인 쿼리 (1)
      • 정밀도 (3)
      • 재귀 연습장 (1)
      • 비둘기집 원리 (2)
      • 휴리스틱 (1)
      • 고급 알고리즘 (1)
      • 알고리즘 논문 (0)
    • 경쟁 프로그래밍 (22)
      • Atcoder (22)
    • 책 읽기 (79)
      • 비전공자도 이해할 수 있는 AI지식 (51)
      • 수학보다 데이터 문해력 (28)
    • 3D 모델링 (0)
      • blender (0)
    • 정수론 (75)
    • 선형대수학 (28)
    • 조합론 (11)
    • 정형데이터 (25)
    • 정보이론 (3)
    • Visualization (7)
    • 기하학 (29)
    • 컴퓨터과학(CS) (15)
    • 대수학 (5)
    • 데이터 해석 (6)
    • 금융 (1)
    • 읽을거리 (9)
  • 홈
  • 태그
  • 방명록

배열의 모든 수의 쌍의 곱의 합을 O(N)에 구하는 방법

https://atcoder.jp/contests/abc177/tasks/abc177_c C - Sum of product of pairsAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp 크기 N인 배열 $A_{1}, A_{2}, ..., A_{N}$이 주어진다. 이때, 이 배열의 가능한 모든 인덱스 쌍 (i,j)에 대해 $A_{i} * A_{j}$의 합을 어떻게 구할까? 여기서 i 가장 쉽게 생각할 수 있는 방법은 당연히 모든 인덱스 쌍을 순회해서 구하는 $O(N^{2})$방법이다. n = int(input())A =..

  • format_list_bulleted 대수학
  • · 2026. 8. 17.
  • textsms

보이어 무어의 과반수 투표 알고리즘(Boyer-Moore Majority Vote Algorithm)

크기 n인 배열에 있는 원소들 중에서, 개수가 n//2 + 1개 이상인 원소가 하나 존재한다고 하자. 즉, 절반을 넘는 개수를 가진 원소가 무조건 하나가 있을때 이 원소를 찾고 싶다. 어떻게 찾을 수 있을까? 예를 들어 [2,2,1,3,2,2]에서 2는 개수가 4개있고 크기 6인 배열에서 이것이 과반수 이상의 원소이다. 가장 쉬운 방법은 O(N)으로 배열을 순회해서 각 원소의 개수를 모두 찾아 hash에 저장해둔다. 이 hash에서 가장 원소의 개수가 많은 원소를 찾으면 된다. 이러면 시간복잡도 O(N)에 공간복잡도 O(N)에 찾을 수 있다. class Solution: def majorityElement(self, nums: List[int]) -> int: h = {}..

  • format_list_bulleted 컴퓨터과학(CS)
  • · 2026. 6. 25.
  • textsms

프로베니우스의 동전 문제(Frobenius coin problem)와 슈어의 정리(Schur's theorem)

1. 프로베니우스의 동전 문제(Frobenius coin problem) 서로 다른 두 동전 x원, y원이 있을때, 이 두 동전을 각각 적당한 개수를 사용하여, 만들 수 없는 금액중 가장 큰 값은? 이 문제의 정답을 프로베니우스의 수(Frobenius number)라고 부른다. 예를 들어 3원, 5원짜리 동전으로 만들 수 없는 가장 큰 금액은 7원이다. 이 말은 8원 이상의 금액은 무조건 만들 수 있다는 뜻이다. 주의할 점은 7원 밑의 금액 중에서 1,2,4원은 만들 수 없다는 것은 자명하다. 프로베니우스의 수는 x,y가 서로소(최대공약수가 1)일때만 존재한다. 이때, 프로베니우스의 수는 xy - x - y임이 알려져있다. 2. 일반화된 문제 일반적으로는, n개의 동전 $a_{1}, a_{2},...,..

  • format_list_bulleted 정수론
  • · 2026. 3. 30.
  • textsms

더블링(doubling, binary lifting, 희소배열,sparse table)에 대해 배우기

https://deepdata.tistory.com/972 희소 배열(sparse table) 자료 구조 배우기https://cp-algorithms.com/data_structures/sparse-table.html Sparse Table - Algorithms for Competitive ProgrammingSparse Table Sparse Table is a data structure, that allows answering range queries. It can answer most range queries in $O(\log n)$, but its trdeepdata.tistory.com 희소 배열(sparse table)로도 알려진 더블링(doubling) 기법은 어떤 횟수 K를 2의 거듭제..

  • format_list_bulleted 알고리즘/희소배열(더블링)
  • · 2026. 1. 1.
  • textsms

모노토닉 스택(monotonic stack)을 이용한 나보다 큰 첫 번째 수 찾기 문제(오큰수,NGE,next greater element)

1. 모노토닉 스택(monotonic stack) 스택 내부의 원소들을 항상 오름차순, 혹은 내림차순 상태를 유지하도록 만드는 자료구조 나보다 크거나, 작은 숫자가 언제 처음 나오는지를 찾는데 유용하다. 알고리즘 문제에서 보통, "배열에서 나보다 크면서 오른쪽에 있는 수 중 첫번째 수는?" 예를 들어, [5,3,1,4,2]가 있다고 하자. 각 숫자에 대해서 "오른쪽에 있는 나보다 큰 첫번째 수"들을 모두 O(N)에 찾으라고 한다면? 스택 []을 두고, 왼쪽부터 오른쪽 차례대로 순회한다. 스택이 비어있으니까 [5] 2번째 3이 들어오는데, 스택의 마지막 수 5가 3보다 더 크므로 그대로 입장 [5,3] 3번째 1이 들어오는데 스택의 마지막 수 3이 1보다 더 크므로 [5,3,1] 4번째 4가 들어오는데 ..

  • format_list_bulleted 알고리즘/자료구조(스택,큐,해시맵)
  • · 2025. 12. 23.
  • textsms

순열 사이클 분할에 대해 알아보기

1. 순열 사이클 1부터 n까지 정수 n개로 이루어진 배열을 순열이라고 부른다. 예를 들어 [3,2,4,5,1]은 길이가 5인 순열이다. 배열의 인덱스를 '현재 위치', 배열의 값을 '다음에 갈 곳'으로 생각하고 인덱스 > 값으로 향하는 방향 그래프를 만들 수 있다. 즉, [3,2,4,5,1]은 1 > 3, 2 > 2, 3 > 4, 4 > 5, 5 > 1로 간선을 이으면 다음과 같이 방향 그래프를 만들 수 있다. 위 그래프는 2개의 사이클 1 > 3 > 4 > 5, 2 > 2가 있다. 이 사이클들을 순열 사이클이라고 부른다. 전체 순열을 여러개의 독립적인 순열 사이클로 분할하는 것을 '순열 사이클 분할'이라고 부른다. 길이 n인 순열에는 반드시 사이클이 생긴다. 왜냐하면 먼저 1부터 n까지 1개씩만 ..

  • format_list_bulleted 알고리즘/순열 사이클 분할
  • · 2025. 12. 19.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 106
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (1487)
    • 다시보는 통계학 (28)
    • 딥러닝 (306)
      • 딥러닝 기초 (63)
      • Computer Vision (76)
      • NLP (59)
      • Machine Reading Comprehensi.. (21)
      • light weight modeling (47)
      • Graph (17)
      • recommendation system (7)
      • reinforcement learning (2)
      • LLM (6)
      • Deep Learning Specializatio.. (7)
      • Diffusion (1)
    • AI 논문 (45)
      • AI trend research (42)
      • 고전이 된 AI 논문 (3)
    • 데이터 분석 프로젝트 연습 (0)
    • 프로그래밍 (293)
      • 프로그래밍 개론 (7)
      • Python (81)
      • Java (15)
      • C++ (9)
      • C# (0)
      • 비전공자를 위한 자바스크립트 (8)
      • Pandas (10)
      • Numpy (8)
      • Pytorch (30)
      • SQL (23)
      • Unity&C# (27)
      • Tensorflow.js (2)
      • git 가이드 (10)
      • 비전공자를 위한 Web (4)
      • React (17)
      • node.js (17)
      • FastAPI (7)
      • docker & jenkins (10)
      • R 프로그래밍 (8)
    • 알고리즘 (500)
      • 알고리즘 일반 (61)
      • Java 기초 (22)
      • C++ 기초 (22)
      • 브루트포스 (22)
      • DFS BFS 정복기 (28)
      • 그래프 이론 정복기 (21)
      • 분리집합 (7)
      • 최단거리 알고리즘 (21)
      • 최소 스패닝 트리 (5)
      • 다이나믹 프로그래밍 (64)
      • 구현,시뮬레이션 (11)
      • 이분 탐색 (17)
      • 정렬 알고리즘 (9)
      • 그리디 알고리즘 (30)
      • 투 포인터 알고리즘 (9)
      • 누적 합 알고리즘 (14)
      • 문자열 알고리즘 (17)
      • 자료구조(스택,큐,해시맵) (14)
      • 순열 사이클 분할 (1)
      • 슬라이딩 윈도우 (2)
      • 연결리스트 (3)
      • 분할 정복 (4)
      • 위상정렬 (3)
      • 세그먼트 트리 (14)
      • 유량 알고리즘 (1)
      • 이분 매칭 (2)
      • 고급 자료구조 (3)
      • 희소배열(더블링) (2)
      • 전처리 (1)
      • 게임이론 (8)
      • 비트마스킹 (8)
      • 애드 혹 알고리즘 (33)
      • 중간에서 만나기 (4)
      • 확률론 알고리즘 (3)
      • 선형대수학 알고리즘 (3)
      • 압축 알고리즘 (2)
      • 오프라인 쿼리 (1)
      • 정밀도 (3)
      • 재귀 연습장 (1)
      • 비둘기집 원리 (2)
      • 휴리스틱 (1)
      • 고급 알고리즘 (1)
      • 알고리즘 논문 (0)
    • 경쟁 프로그래밍 (22)
      • Atcoder (22)
    • 책 읽기 (79)
      • 비전공자도 이해할 수 있는 AI지식 (51)
      • 수학보다 데이터 문해력 (28)
    • 3D 모델링 (0)
      • blender (0)
    • 정수론 (75)
    • 선형대수학 (28)
    • 조합론 (11)
    • 정형데이터 (25)
    • 정보이론 (3)
    • Visualization (7)
    • 기하학 (29)
    • 컴퓨터과학(CS) (15)
    • 대수학 (5)
    • 데이터 해석 (6)
    • 금융 (1)
    • 읽을거리 (9)
최근 글
인기 글
최근 댓글
태그
  • #백준
  • #머신러닝
  • #코딩테스트
  • #딥러닝
  • #NLP
  • #파이썬
  • #python
  • #정수론
  • #프로그래밍
  • #알고리즘
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바