2012-01-01から1ヶ月間の記事一覧

JOI2006予選

練習で過去問解いた。時間内には5完しかできませんでした。 以下ソース //AOJ0510 #include<iostream> #include<cstdio> using namespace std; int main(){ int a,b,c,d,e,f,g,h,i,j; scanf("%d %d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g,&h); i = a + b + c + d; j = e + f</cstdio></iostream>…

動的計画法

http://www.ioi-jp.org/camp/2007/2007-sp-tasks/2007-sp-day2_21.pdf まずこれのbuildingを解いてみた #include<iostream> using namespace std; int n; int a[1000]; int dp[1000]; int main(){ cin >> n; for(int i = 0;i< n;i++){ cin >> a[i]; } int res = 0; for</iostream>…

実装力欲しい..

JOIの本戦が近づいてきたので慌てて蟻本やってますw こんなんじゃ絶対だめなんだけど... はぁ..

PKU3320

#include<iostream> #include<map> #include<set> using namespace std; int P; int main(){ cin >> P; int a[P]; set<int> all; for(int i = 0; i < P;i++){ cin >> a[i]; all.insert(a[i]); } int n = all.size(); int s = 0, t = 0, ph = 0; map<int, int> count; //事柄→出現数の対応 int re</int,></int></set></map></iostream>…

PKU3061 (蟻本ver)

#include<iostream> using namespace std; int n,S; #define MAX_N 10000 int a[MAX_N]; int main(){ cin >> n >> S; for(int i = 0; i < n;i++){ cin >> a[i]; } int res = n + 1; int s = 0, t = 0, sum = 0; while(true){ while(t < n && sum < S){ sum += a[t++]; </iostream>…

AOJ0212 Highway Express Bus

Dijkstra //AOJ0212 Highway Express Bus #include<iostream> #include<queue> #include<algorithm> #include<vector> using namespace std; #define INF 100000000 #define MAX_C 10 #define MAX_N 100 typedef pair<int,int> P; typedef pair<int, P> PP; int c,n,m,s,d; int cost[MAX_N][MAX_C + 1]; bool used[</int,></int,int></vector></algorithm></queue></iostream>…

あぁぁ

昨日JMOの予選落ちたのでJOIの本戦に向けてprogramming勉強します...

AOJ2101 Perfect Number

#include<iostream> using namespace std; int main(){ int n, f; while(cin >> n, n != 0){ f = 0; for(int i = 1; i * i <= n; i++){ if(n % i ==0){ f += i + n / i; if(n == i * i){ f -= i; } } } if(f > n * 2)cout << "abundant number" << endl; else if(f < n</iostream>…

はてなブログ開設

なんか招待されたので初めてみた

AOJ2101 Perfect Number

#include<iostream> using namespace std; int main(){ int n, f; while(cin >> n, n != 0){ f = 0; for(int i = 1; i * i <= n; i++){ if(n % i ==0){ f += i + n / i; if(n == i * i){ f -= i; } } } if(f > n * 2)cout << "abundant number" << endl; else if(f < n</iostream>…