- remainder
- remain
残り・余りという意味で使われます。
世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~
- 作者: Gayle Laakmann McDowell,岡田佑一,小林啓倫
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/02/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
残り・余りという意味で使われます。
世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
https://atcoder.jp/contests/tenka1-2018-beginner/tasks/tenka1_2018_c
https://atcoder.jp/contests/tenka1-2018-beginner/submissions/13108762
形が決まれば絶対値が外れる
// 係数生成 VI generate_coefficient(ll N){ VI C; if(N%2==0){ C.push_back(1); C.push_back(-1); rep(i, (N-2)/2){ C.push_back(-2); C.push_back(2); } } else{ C.push_back(1); C.push_back(1); ll rest = N-2; ll plus = rest/2; ll minus = rest-plus; rep(i,plus) C.push_back(2); rep(i,minus) C.push_back(-2); } return C; } // 大きい係数に大きい値を当てる ll f(VI A, VI C){ RSORT(A); RSORT(C); ll sum=0; rep(i, A.size()){ sum += A[i] * C[i]; } return sum; } int main(){ cin.tie(0); ios::sync_with_stdio(false); // input ll N; cin>>N; VI A(N); rep(i, N) cin >> A[i]; if(N==2){ ll diff = abs(A[0]-A[1]); p(diff); return 0; } VI C = generate_coefficient(N); ll ans0 = f(A, C); // 係数反転 rep(i,N) C[i] *= -1; ll ans1 = f(A, C); ll ma = max(ans0, ans1); p(ma); return 0; }
https://atcoder.jp/contests/ddcc2019-qual/tasks/ddcc2018_qual_c
https://atcoder.jp/contests/ddcc2019-qual/submissions/13110019
// a^b mod p ll mod_pow(ll a, ll b){ if(b==0) return 1; // 肩が奇数 if(b%2==1){ return a * mod_pow(a, b-1) % mod; } else{ return mod_pow(a*a % mod, b/2) % mod; } } int main(){ cin.tie(0); ios::sync_with_stdio(false); // input ll N; cin>>N; mint sum = 0; FOR(i, 1, N+1){ // P側の個数 ll a = mod_pow(i, 10) - mod_pow(i-1, 10); if(a<0) a+=mod; // Q側の最大値 ll b = N/i; ll c = mod_pow(b, 10); sum += a*c; } p(sum.x); return 0; }
プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?
oj submit https://beta.atcoder.jp/contests/ddcc2019-qual/tasks/ddcc2018_qual_a answer.cpp