<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://teferi.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://teferi.net/feed.php">
        <title>테페리넷 - ps:teflib</title>
        <description></description>
        <link>https://teferi.net/</link>
        <image rdf:resource="https://teferi.net/_media/wiki/dokuwiki.svg" />
       <dc:date>2026-05-06T13:27:27+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/algorithm?rev=1650601477&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/binsearch_old?rev=1650606414&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/binsearch?rev=1650635172&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/combinatorics?rev=1692547879&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/disjointset?rev=1668182472&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/disointset_old?rev=1634178325&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/fenwicktree?rev=1690647990&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/fft_old?rev=1613270474&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/fft?rev=1613886213&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/geometry?rev=1681710377&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/graph?rev=1680620292&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/matrix?rev=1669794460&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/numtheory_old?rev=1658545179&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/numtheory?rev=1774970031&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/priorityqueue?rev=1695214361&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/segmenttree_old?rev=1619795239&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/segmenttree?rev=1693460399&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/seqtask?rev=1769045283&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/start?rev=1691160147&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/string_old?rev=1609905943&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/string?rev=1685201032&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/tgraph?rev=1632407955&amp;do=diff"/>
                <rdf:li rdf:resource="https://teferi.net/ps/teflib/twosat?rev=1667489304&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://teferi.net/_media/wiki/dokuwiki.svg">
        <title>테페리넷</title>
        <link>https://teferi.net/</link>
        <url>https://teferi.net/_media/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://teferi.net/ps/teflib/algorithm?rev=1650601477&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-22T04:24:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>algorithm.py</title>
        <link>https://teferi.net/ps/teflib/algorithm?rev=1650601477&amp;do=diff</link>
        <description>algorithm.py

binary_search

이 함수는 deprecated 되었습니다. bisect_모듈을_이용한_파라메트릭_서치_구현을 참고해서 구현하세요

코드



설명

	*  최소값, 즉 predicate(x)가 x&lt;t에서 False 이고 x&gt;=t에서 True일때, t를 리턴해주는 함수이다.
	*  만약 반대로 최대값, 즉 predicate(x)가 x</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/binsearch_old?rev=1650606414&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-22T05:46:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>(old) binsearch.py</title>
        <link>https://teferi.net/ps/teflib/binsearch_old?rev=1650606414&amp;do=diff</link>
        <description>(old) binsearch.py

minimum_valid_integer v1.0

코드



maximum_valid_integer v1.0

코드</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/binsearch?rev=1650635172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-04-22T13:46:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>binsearch.py</title>
        <link>https://teferi.net/ps/teflib/binsearch?rev=1650635172&amp;do=diff</link>
        <description>binsearch.py

	*  이전 버전 코드

minimum_valid_integer

코드



설명

	*  파라메트릭 서치와 bisect 모듈을 이용한 파라메트릭 서치 구현을 참고 

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ23318행렬분할골드 5BOJ23331행렬분할 2플래티넘 4
maximum_valid_integer

코드



설명

	*  파라메트릭 서치와 bisect 모듈을 이용한 파라메트릭 서치 구현을 참고 

이 코드를 사용하는 문제</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/combinatorics?rev=1692547879&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-20T16:11:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>combinatorics.py</title>
        <link>https://teferi.net/ps/teflib/combinatorics?rev=1692547879&amp;do=diff</link>
        <description>combinatorics.py

comb

코드



설명

	*  이항 계수 - 값을 한번만 계산할 때 참고
	*  놀랍게도, n&lt;5000 정도까지는 그냥 math.comb(n, k) % mod 로 이항계수의 정확한 값을 구해놓고 마지막에 mod만 해주는 것과 비교해서 별로 빠르지 않다..</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/disjointset?rev=1668182472&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-11T16:01:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>disjointset.py</title>
        <link>https://teferi.net/ps/teflib/disjointset?rev=1668182472&amp;do=diff</link>
        <description>disjointset.py

	*  이전 버전 코드

imports and globals



DisjointSet

코드



설명

	*  Disjoint Set 참고

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ10775공항골드 2BOJ10868최솟값골드 1BOJ11085군사 이동골드 3BOJ12893적의 적골드 4BOJ13306트리플래티넘 5BOJ13899Coordinates골드 5</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/disointset_old?rev=1634178325&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-14T02:25:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>(old) disjointset.py</title>
        <link>https://teferi.net/ps/teflib/disointset_old?rev=1634178325&amp;do=diff</link>
        <description>(old) disjointset.py

DisjointSet v1.0

코드</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/fenwicktree?rev=1690647990&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-07-29T16:26:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fenwicktree.py</title>
        <link>https://teferi.net/ps/teflib/fenwicktree?rev=1690647990&amp;do=diff</link>
        <description>fenwicktree.py

imports and globals



FenwickTree

코드



설명

	*  펜윅 트리 참고

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ16221모독플래티넘 3BOJ16978수열과 쿼리 22플래티넘 3
FenwickTreeForRangeUpdatePointQuery

코드



설명

	*  기본 펜윅트리를 사용하면서, 레인지 업데이트 포인트 쿼리를 내부적으로 포인트 업데이트 레인지 쿼리로 변환해서 처리해주는 클래스</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/fft_old?rev=1613270474&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-14T02:41:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>(old) fft.py</title>
        <link>https://teferi.net/ps/teflib/fft_old?rev=1613270474&amp;do=diff</link>
        <description>(old) fft.py

multiply v1.0

코드</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/fft?rev=1613886213&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-21T05:43:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fft.py</title>
        <link>https://teferi.net/ps/teflib/fft?rev=1613886213&amp;do=diff</link>
        <description>fft.py

	*  이전 버전 코드
	*  고속 푸리에 변환 (Fast Fourier Transform, FFT)에 적혀 있듯이, 처음에는 실제로 fft를 구현하는 코드가 있었지만, 지금은 fft 함수 자체는 존재하지 않는다. 그러나 fft를 사용해서 해결할 수 있는 문제에 동일하게 적용하도록 만들어진 함수들이므로, 모듈 이름을 fft로 유지했다.</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/geometry?rev=1681710377&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-17T05:46:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>geometry.py</title>
        <link>https://teferi.net/ps/teflib/geometry?rev=1681710377&amp;do=diff</link>
        <description>geometry.py

imports and globals



twice_of_polygon_area

코드



설명

	*  TODO

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ17236Heights골드 4BOJ18298Icebergs골드 5BOJ2166다각형의 면적골드 5BOJ6384Area골드 3
lattice_point_in_polygon

코드



설명</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/graph?rev=1680620292&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-04T14:58:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>graph.py</title>
        <link>https://teferi.net/ps/teflib/graph?rev=1680620292&amp;do=diff</link>
        <description>graph.py

imports and globals



create_graph_from_input

코드



설명

	*  그래프 참고

이 코드를 사용하는 문제

	*  너무 많아서 생략

two_coloring

코드



설명

	*  2색 색칠 참고

이 코드를 사용하는 문제
출처문제 번호</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/matrix?rev=1669794460&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-30T07:47:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>matrix.py</title>
        <link>https://teferi.net/ps/teflib/matrix?rev=1669794460&amp;do=diff</link>
        <description>matrix.py

imports and globals



matmul

코드



설명

	*  행렬의 곱셈을 구하는 함수. 나이브한 O(n^3)알고리즘을 사용
	*  map을 써서 계산하는 것이 컴프리헨션을 써서 sum(a*b for a, b in zip(a_row, b_col)) 처럼 쓰는것보다 빠르다</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/numtheory_old?rev=1658545179&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-23T02:59:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>(old) numtheory.py</title>
        <link>https://teferi.net/ps/teflib/numtheory_old?rev=1658545179&amp;do=diff</link>
        <description>(old) numtheory.py

linear_congruences v1.0

코드



prime_list v1.0

코드



prime_list v1.22

코드</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/numtheory?rev=1774970031&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-31T15:13:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>numtheory.py</title>
        <link>https://teferi.net/ps/teflib/numtheory?rev=1774970031&amp;do=diff</link>
        <description>numtheory.py

	*  이전 버전 코드

linear_congruences

코드



설명

	*  연립 선형 합동식 참고
	*  함수 이름에 고민을 많이 했다. 연립 합동식을 정확히 쓰면 “System of linear congruences”나 “Simultaneous linear congruences”가 되는데 둘다 너무 길어서, 차라리 알고리즘 이름대로</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/priorityqueue?rev=1695214361&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-20T12:52:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>priorityqueue.py</title>
        <link>https://teferi.net/ps/teflib/priorityqueue?rev=1695214361&amp;do=diff</link>
        <description>priorityqueue.py

imports and globals



UpdatableHeap

코드



설명

	*  임의 원소 삭제를 지원하는 힙 참고

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ15459Haybale Feast골드 1BOJ1572중앙값플래티넘 5BOJ2370시장 선거 포스터골드 4BOJ7662이중 우선순위 큐골드 5BOJ9426중앙값 측정플래티넘 5프로그래머스</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/segmenttree_old?rev=1619795239&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-04-30T15:07:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>(old) segmenttree.py</title>
        <link>https://teferi.net/ps/teflib/segmenttree_old?rev=1619795239&amp;do=diff</link>
        <description>(old) segmenttree.py

SegmentTree v1.2

코드



SegmentTree v1.3

코드</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/segmenttree?rev=1693460399&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-31T05:39:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>segmenttree.py</title>
        <link>https://teferi.net/ps/teflib/segmenttree?rev=1693460399&amp;do=diff</link>
        <description>segmenttree.py

	*  이전 버전 코드

imports and globals



SegmentTree

코드



설명

	*  세그먼트 트리 참고
	*  merge인자를 안 주면 default로 min이 들어가서 구간 최솟값을 계산하게 된다. 
	*  구간합 트리가 필요한 경우에는 merge에 operator.sum을 넘겨서 만드는 것 보다,</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/seqtask?rev=1769045283&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-22T01:28:03+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>seqtask.py</title>
        <link>https://teferi.net/ps/teflib/seqtask?rev=1769045283&amp;do=diff</link>
        <description>seqtask.py

imports and globals



longest_inc_subseq_length / longest_dec_subseq_length

코드





설명

	*  가장 긴 증가하는 부분 수열 (LIS; Longest Increasing Subsequence) 참고

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ10547STUDENTSKO골드 2BOJ12354Ocean View (Small)실버 5BOJ12355Ocean View (Large)실버 2BOJ15015Manhattan Mornings플래티넘 5</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/start?rev=1691160147&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-04T14:42:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Teferi's library (Teflib; 텦립)</title>
        <link>https://teferi.net/ps/teflib/start?rev=1691160147&amp;do=diff</link>
        <description>Teferi's library (Teflib; 텦립)

algorithm.py

	*  binary_search
	*  nth_element

binsearch.py

	*  maximum_valid_integer
	*  minimum_valid_integer

combinatorics.py

	*  linear_homogeneous_recurrence

disjointset.py

	*  DisjointSet

fenwicktree.py

	*  FenwickTree
	*  RangeUpdatableFenwickTree
	*  OrderStatisticTree

fft.py

	*  multiply

geometry.py

	*  twice_of_polygon_area

graph.py

	*  minimum_spanning_tree
	*  minimum_spanning_tree_dense

matrix.py

	*  matmul
	*  matpow
	*  Matrix

numth…</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/string_old?rev=1609905943&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-01-06T04:05:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>(old) string.py</title>
        <link>https://teferi.net/ps/teflib/string_old?rev=1609905943&amp;do=diff</link>
        <description>(old) string.py

Trie v1.0</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/string?rev=1685201032&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-27T15:23:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>string.py</title>
        <link>https://teferi.net/ps/teflib/string?rev=1685201032&amp;do=diff</link>
        <description>string.py

	*  구버전 코드는 (old) string.py로.

z_array

코드



설명

	*  z algorithm을 적용해서 z-array를 계산한다

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ13576Prefix와 Suffix플래티넘 2BOJ13713문자열과 쿼리플래티넘 5BOJ16229반복 패턴플래티넘 4</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/tgraph?rev=1632407955&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-23T14:39:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>tgraph.py</title>
        <link>https://teferi.net/ps/teflib/tgraph?rev=1632407955&amp;do=diff</link>
        <description>tgraph.py

imports and globals



dfs

코드



설명

	*  non-recursive DFS

이 코드를 사용하는 문제
출처문제 번호Page레벨BOJ10806공중도시다이아몬드 4BOJ13899Coordinates골드 5BOJ14267회사 문화 1골드 4BOJ14268회사 문화 2플래티넘 3BOJ14287회사 문화 3플래티넘 4BOJ14288</description>
    </item>
    <item rdf:about="https://teferi.net/ps/teflib/twosat?rev=1667489304&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-11-03T15:28:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>twosat.py</title>
        <link>https://teferi.net/ps/teflib/twosat?rev=1667489304&amp;do=diff</link>
        <description>twosat.py

imports and globals



TwoSat

코드



설명

	*  2-SAT 참고
	*  ¬이 붙은 변수들을 add_or_cond 의 인자로 넘기기 위해서는 ~를 붙여서 표현한다. 아래 예시 참고.
	*  예시 : x1,x2,x3의 세개의 변수로 이루어진 (x1 ∨ ¬x3) ∧ (¬x2 ∨ x3)을 풀 경우,</description>
    </item>
</rdf:RDF>
