AOJ 0537 Bingo

更新久しぶりです() この問題は読み替えがポイントらしいですがそれよりもその後に苦戦した系くずです 結局1~mから相異なるn^2個の数を和がsになるように取り出す時の場合の数を求めてやればいいですがTLEやらMLEやらするので配列のとり方とかを工夫してdpし…

JOI春合宿2007 DAY1 score

今年合宿行けないけど解いてみた #include<iostream> #include<cstdio> using namespace std; int n; int score[100001], rank[101]; int main(){ scanf("%d",&n); for(int i = 0; i < n; i++){ scanf("%d", &score[i]); rank[score[i]]++; } for(int i = 100; i > 0; i--){ ra</cstdio></iostream>…

AOJ0522 JOI and IOI

ちょっと解き方が馬鹿な気がする #include<iostream> #include<string> using namespace std; int j,i; string s; int main(){ while(cin >> s){ j = i = 0; for(int k = 0; k < s.length() - 2; k++){ if(s[k] == 'J' && s[k+1] == 'O' && s[k+2] == 'I') j++; if(s[k] == 'I'</string></iostream>…

PKU 1064 Cable Master

2分探索 #include<iostream> #include<cstdio> #include<math.h> using namespace std; int n,k; double l[10000]; bool C(double x){ int cnt = 0; for(int i = 0; i < n;i++){ cnt += (int)(l[i] / x); } return cnt >= k; } int main(){ scanf("%d %d",&n,&k); for(int i = 0; i < </math.h></cstdio></iostream>…

AOJ 0072 Carden Lantern

最小全域木ー //AOJ0072 #include<iostream> #include<cstdio> #define INF 1000000 using namespace std; int n,m; int cost[100][100]; int mincost[100]; bool used[100]; int Prim(){ for(int i = 0; i < n; i++){ mincost[i] = INF; used[i] = false; } mincost[0] = 0; i</cstdio></iostream>…

PKU2386 Lake Counting

() なぜかscanfでやると答えが合わなかったんだけどなぜだろうか... cinとprintfが混ざっていますが気にしないでくださいww #include<iostream> #include<cstdio> using namespace std; int n,m; char ground[100][100]; void dfs(int x,int y){ ground[x][y] = '.'; for(int</cstdio></iostream>…

PKU1258 Agri-Net

最小全域木のテンプレ問題 primで解きましたがpriority_queueは使いませんでしたw //PKU1258 #include<iostream> #include<cstdio> #define INF 1000000 using namespace std; int n; bool used[100]; int cost[100][100]; int mincost[100]; int Prim(){ for(int i = 0; i < </cstdio></iostream>…

PKU2683 Ohgas' Fortune

JOI本戦で死亡したので来年に向けて精進します。 ひとまずhttp://www.deqnotes.net/acmicpc/ に載っている問題を解いたり //PKU2683 #include<iostream> #include<cstdio> using namespace std; int m,n,first,irt,a,ans,cost,tmp,year; int money[101]; double par; int main(</cstdio></iostream>…

簡単なの解く

//AOJ0549 #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; int n,m,k,ans; int d[100000]; int p; int main(){ scanf("%d %d",&n,&m); for(int i = 1; i < n;i++){ scanf("%d", &k); d[i] = d[i-1] + k; } for(int i = 0; i < m;i++){ scanf("%d",&k); an</cstdlib></cstdio></iostream>…

2006年の本戦?

とりあえず一番w //AOJ0516 #include<iostream> #include<cstdio> using namespace std; int n,k,ans; int a[100001], sum[100001]; int main(){ while(scanf("%d %d", &n,&k), (n || k)){ for(int i = 1; i <= n; i++){ scanf("%d",&a[i]); sum[i] = sum[i-1] + a[i]; } for(</cstdio></iostream>…

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>…

JOI

はい。今日は情報オリンピックの予選でした。 期末のせいでほとんど準備できなかったおwww 通ってたら嬉しいなあ.. 疲れた。。

AOJ0168

JOIが近づいてきたのでAOJやろうと思った。 #include<iostream> using namespace std; int n; const int MAX_N = 30; bool done[MAX_N + 1]; int memo[MAX_N + 1]; int solve(int n){ if(n == 0) return 1; if(n == 1) return 1; if(n == 2) return 2; if(done[n]) ret</iostream>…

ハテナ記法

どうやってコードを貼り付けるのだろうと思って友人に聞いたらハテナ記法でググれと言われた テスト #include <vector> #include <iostream> int main() { using namespace std; vector<int> array; // int型の動的配列 int i; for( i = 0; i < 10; ++i ) { array.push_back( i ); }</int></iostream></vector>…

blogって書くこと無いなあ...w

早速放置フラグ!!!!!(汗 忙しくてsinu

開設

前のブログは封印してここに引越しますw