2017-03-01から1日間の記事一覧

高速Fibonacci数の計算

これを使ってFibonacci数の計算を高速に行うことができる. (define (fib n) (fib-iter 1 0 0 1 n)) (define (fib-iter a b p q count) (cond ((= count 0) b) ((even? count);偶数だったら2回分の変換を1回で (fib-iter a b (+ (* p p) (* q q));p' (+ (* …

ABC027_B

島の人口を均等に分散すべく橋をかける問題 総人口/島の数で目標値を求め,その状態にしていったときに隣の島に流入、流出(マイナス流入)を加算していく. #include <bits/stdc++.h> using namespace std; int main() { int n,a[100],total=0; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; to</n;i++){></bits/stdc++.h>…

ABC024_B

ドアの合計の開いた時間を求める問題 #include <bits/stdc++.h> using namespace std; static const int MAX_N = (int)1e5; int main() { int n,t,a[MAX_N]; cin>>n>>t; for(int i=0;i<n;i++)cin>>a[i]; int res=t;//最後に開く分 for(int i=1;i</n;i++)cin></bits/stdc++.h>

ABC032_B

集合setを用いる問題 集合への挿入は set<string> ss; ss.insert("aaa"); ss.insert("bbb"); ss.insert("aaa"); cout<<(int)ss.size()<<endl;//2 この時(int)でキャストしないと幾つかのテストケースでREをとってしまった. #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) int main() { set<string> ss; string s; int k; cin>>s>>k…</n;i++)></endl;//2></string>