제출 #786360

#제출 시각아이디문제언어결과실행 시간메모리
786360ono_de206디지털 회로 (IOI22_circuit)C++17
0 / 100
3075 ms13148 KiB
#include "circuit.h" #include<bits/stdc++.h> using namespace std; #define in insert #define all(x) x.begin(),x.end() #define pb push_back #define eb emplace_back #define ff first #define ss second //#define int long long typedef long long ll; typedef vector<int> vi; typedef set<int> si; typedef multiset<int> msi; typedef pair<int, int> pii; typedef vector<pii> vpii; const int mxn = 2e5 + 10; const long long mod = 1000002022; int n, m; long long pp[mxn][2]; vector<long long> dp[mxn]; bool a[mxn]; vector<long long> g[mxn]; void init(int n, int m, vector<int> p, vector<int> a) { ::n = n; ::m = m; for(int i = 1; i < n + m; i++) { g[p[i]].pb(i); } for(int i = 0; i < m; i++) { ::a[i + n] = a[i]; } } void dfs(int to) { pp[to][0] = pp[to][1] = 0; if(to >= n) { if(a[to]) pp[to][1] = 1; else pp[to][0] = 1; return; } dp[to].resize(g[to].size() + 1); dp[to][0] = 1; for(int x : g[to]) { dfs(x); for(int j = g[to].size(); j > 0; j--) { dp[to][j] = ((dp[to][j] * pp[x][0]) + (dp[to][j - 1] * pp[x][1])) % mod; } dp[to][0] = (dp[to][0] * pp[x][0]) % mod; } pp[to][0] = (dp[to][0] * (long long)g[to].size()) % mod; for(int i = 1; i <= g[to].size(); i++) { pp[to][1] = (pp[to][1] + dp[to][i]) % mod; pp[to][0] = (pp[to][0] + dp[to][i] * (long long)g[to].size()) % mod; } } int count_ways(int L, int R) { for(int i = L; i <= R; i++) { a[i] = !a[i]; } dfs(0); return pp[0][1]; }

컴파일 시 표준 에러 (stderr) 메시지

circuit.cpp: In function 'void dfs(int)':
circuit.cpp:57:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |  for(int i = 1; i <= g[to].size(); i++) {
      |                 ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...