cp-library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub kobejean/cp-library

:heavy_check_mark: cp_library/alg/iter/crf_list_cls.py

Required by

Verified with

Code

import cp_library.alg.iter.__header__
from typing import Generic
from cp_library.misc.typing import _T

class CRFList(Generic[_T]):
    def __init__(crf, A: list[_T], S: list[int]):
        crf.N, crf.A, crf.S = len(S), A, S
        S.append(len(A))

    def __len__(crf) -> int: return crf.N

    def __getitem__(crf, i: int) -> list[_T]:
        return crf.A[crf.S[i]:crf.S[i+1]]
    
    def get(crf, i: int, j: int) -> _T:
        return crf.A[crf.S[i]+j]
    
    def len(crf, i: int) -> int:
        return crf.S[i+1] - crf.S[i]
'''
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
             https://kobejean.github.io/cp-library               
'''
from typing import Generic
from typing import TypeVar
_T = TypeVar('T')

class CRFList(Generic[_T]):
    def __init__(crf, A: list[_T], S: list[int]):
        crf.N, crf.A, crf.S = len(S), A, S
        S.append(len(A))

    def __len__(crf) -> int: return crf.N

    def __getitem__(crf, i: int) -> list[_T]:
        return crf.A[crf.S[i]:crf.S[i+1]]
    
    def get(crf, i: int, j: int) -> _T:
        return crf.A[crf.S[i]+j]
    
    def len(crf, i: int) -> int:
        return crf.S[i+1] - crf.S[i]
Back to top page