hyelie
hyelie
Hyeil Jeong
       
글쓰기    관리    수식입력
  • 전체보기 (495)
    • PS (283)
      • Algorithm (28)
      • PS Log (244)
      • Contest (6)
      • Tips (5)
    • Development (52)
      • Java (14)
      • Spring (23)
      • SQL (2)
      • Node.js (2)
      • Socket.io (3)
      • Study (4)
      • Utils (4)
    • DevOps (36)
      • Git (5)
      • Docker (4)
      • Kubernetes (2)
      • GCP (3)
      • Environment Set Up (8)
      • Tutorial (12)
      • Figma (2)
    • CS (74)
      • OOP (7)
      • OS (24)
      • DB (2)
      • Network (24)
      • Architecture (0)
      • Security (2)
      • Software Design (0)
      • Parallel Computing (15)
    • Project (15)
      • Project N2T (5)
      • Project ASG (0)
      • Project Meerkat (1)
      • Model Checking (7)
      • Ideas (2)
    • 내가 하고싶은 것! (34)
      • Plan (16)
      • Software Maestro (10)
      • 취준 (8)
hELLO · Designed By 정상우.
hyelie

hyelie

PS/PS Log

22.07.10. 풀었던 문제들

BOJ 단계별 17 누적합

11659 구간 합 구하기 4

2559 수열 - partial sum으로 해도 되고, sliding window로 풀어도 된다. 근데 문제 특성상 k가 주어지기 때문에 sliding window로 푸는 게 더 쉬울 듯.

16139 인간-컴퓨터 상호작용 - 알파벳 별로 누적합을 만들어야 했음

10986 나머지 합 - 흥미로운 문제. psum을 구할 때 % 연산을 하고, 해당 값이 몇 번 나왔는지를 기록한다. 그리고 모든 %값의 개수에 대해, combination 2를 택해주고(% M이 같은 두 구간을 뺀다면 그 구간은 M의 배수이다. 이 구간 중 순서 상관없이 2개를 택하는 경우의 수), 마지막으로 0이 나온 횟수(첫번째부터 i까지 %K == 0이라는 의미)를 더해주면 된다.

int main(void) {
	cin.tie(0);
	cout.tie(0);
	std::ios_base::sync_with_stdio(0);

	////////////////////// write your code below
	
	ll N, M; cin>>N>>M;
	vector<ll> arr(N);
	for(ll i = 0; i<N; i++) cin>>arr[i];

	vector<ll> psum(N);
	vector<ll> cnt(M, 0);
	psum[0] = arr[0] % M;
	cnt[psum[0]]++;
	for(ll i = 1; i<N; i++){
		psum[i] = (psum[i-1] + arr[i]) % M;
		cnt[psum[i]]++;
	}

	ll answer = 0;
	for(ll i = 0; i<M; i++){
		answer += cnt[i] * (cnt[i] - 1) / 2;
	}
	cout<<answer + cnt[0];

	//////////////////////

	return 0;
}

11660 구간 합 구하기 5 - 2차원 psum 문제

 

Codeforces #787 Div. 3 Upsolving

E

'PS > PS Log' 카테고리의 다른 글

22.07.12. 풀었던 문제들  (0) 2022.07.12
22.07.11. 풀었던 문제들  (0) 2022.07.11
22.07.09. 풀었던 문제들 - Codeforces #787 Div. 3 4/7 *** euler tour, path, circuit  (0) 2022.07.09
22.07.08. 풀었던 문제들  (0) 2022.07.08
22.07.07. 풀었던 문제들  (0) 2022.07.07
    hyelie
    hyelie

    티스토리툴바