yukicoder

yukicoder #358 も~っと!門松列

問題 No.358 も~っと!門松列 - yukicoder

yukicoder no.3 ビットすごろく

問題文 http://ch.nicovideo.jp/programing/blomaga/ar583624解答 __builtin_popcount() + 幅優先探索 する。最短経路問題である。 #include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; int const INF = 1<<29; bool vis[10001] = {}; queue<pair<int, int> > q;</pair<int,></bits/stdc++.h>…

yukicoder no.30 たこやき工場

問題文 http://yukicoder.me/problems/a14e51c14f78a730解法 DFS + メモ化再帰(=貰うDP)コメントアウトはBFSでやろうとしてる。最短路をメモしないのでTLEする。 #include <bits/stdc++.h> using namespace std; #define REP(i,a,b) for(int i=a;i</bits/stdc++.h>

yukicoder no.27

問題文 http://ch.nicovideo.jp/programing/blomaga/ar625916解説 まず A, B, C を [1,30] の範囲でそれぞれ全探索し、値を固定する。 dp[i] := A, B, C を用いて整数 i を作るための最小数 として DP すると、V0, V1, V2, V3 のそれぞれについての必要な最…

yukicoder no.25

問題文 http://ch.nicovideo.jp/programing/blomaga/ar620922解説(と考えた過程) 有限小数で表せるということは、分子を整数、分母を 10^n で表せるということである。 分母が 10^n すなわち (2^n) * (5^n) で表せるためには、M が 2 または 5 の素因数の…

yukicoder no.21

問題文 http://ch.nicovideo.jp/programing/blomaga/ar612968解答 #include <iostream> #include <cmath> #include <vector> using namespace std; #define allof(c) (c).begin(), (c).end() int main() { int N, K; cin >> N >> K; vector<int> ns(N); for(int i=0; i<N; i++) cin >> ns[i]; cout << *ma</n;></int></vector></cmath></iostream>…

yukicoder no.16

問題文 http://ch.nicovideo.jp/programing/blomaga/ar604305解法1 繰り返し二乗法を適用する。 #include <iostream> #include <algorithm> using namespace std; typedef unsigned long long ull; #define MOD (1000003) ull pow(ull x, ull n) { if(n == 0) return 1; ull ret </algorithm></iostream>…

yukicoder no.17

問題文 http://ch.nicovideo.jp/programing/blomaga/ar607615解法 WF + 全探索(中継点決め打ち)類題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2200 #include <iostream> #include <algorithm> using namespace std; #define REP(i,a,b) for(int i=a;i<(int)b;</algorithm></iostream>…