JOI予選 2012-2013

JOI

予選敗退。5,6に2時間使ったのに...................5番typo....................................これ落ちたな(確信) マクロとかあれなので省略します1.やる int l, a, b, c, d; int main(){ scanf("%d %d %d %d %d", &l, &a, &b, &c, &d); printf("%d\n", …

JOI春合宿2008Day2 cheating

JOI

適当ににぶたんすると通る 問題文読み間違って無駄に難しくしてた... #include <cstdio> #include <algorithm> #include <climits> using namespace std; int n, m; int x[100000], y[100000]; bool C(int k){ int crt = -INT_MAX, num = 0; for(int i = 0; i < m && num <= n; i++){ if(</climits></algorithm></cstdio>…

AOJ0563 Walking Santa

AIZU ONLINE JUDGE 少し考えると始点の選び方の候補が絞られることがわかる。 nが奇数の時は1箇所に決まるが、偶数の時は4通り調べる。 偶数の時に2通りしか調べなかったり、答える座標が適切でなかったりしてわ〜してた。 #include <cstdio> #include <algorithm> #include <cstring> #i</cstring></algorithm></cstdio>…

AOJ0535 Crossing Black Ice

まあ深さ優先するだけ簡単だけど一発で通って嬉しかった 10分 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int m, n, ans; int dx[] = {-1, 1, 0, 0}; int dy[] = {0, 0, -1, 1}; int ice[100][100]; bool vis[100][100]; bool in(int x, int y){ r</algorithm></cstring></cstdio>…

AOJ0569 Illumination

AOJ0569 AIZU ONLINE JUDGE適当にdfsするとできた 前の予選の時は全然出来なかったなあ。 #include <cstdio> using namespace std; int w, h, ans; int bu[110][110]; bool used[110][110]; int dx[2][6] = {{-1,-1,0,1,0,-1}, {-1, 0, 1, 1, 1, 0}}; int dy[6] = {0</cstdio>…

PKU 3616 Milking Time

PKU

3616 -- Milking Time DP苦手すぎるなあ はじめから終わる時間+休憩時間にその区間が終わるとみなすと楽かも(ほとんど同じ) ifdefとか試しに使ってみた #include <cstdio> #include <algorithm> #include <queue> using namespace std; #undef DEBUG struct WORK{ int s, e, c; bool op</queue></algorithm></cstdio>…

K^2PC

Welcome to Kyuride Kagamiz Programming Contest (Easy) - Kyuride Kagamiz Programming Contest (Easy) | AtCoder 時間が無くて出れませんでしたが解いてみました まだA~Cしかやってません A : やるだけ #include <cstdio> using namespace std; int a, b, c, d, e</cstdio>…

リハビリ(^−^)

あー全然パソコン触れなくて悲しみ... 校内模試とはなんだったのでしょうかPKU 3254(3254 -- Corn Fields) bitdpすると解けます #include <cstdio> #include <cstring> using namespace std; #define mod 100000000 int m, n; int map[13][13]; int dp[1 << 12][12][12]; int </cstring></cstdio>…

JOI春合宿 2010-DAY1-1 (JOI Poster)

ジャッジ動いてないからあれだけどたぶん大丈夫 再帰するだけ #include <cstdio> #include <string> #include <iostream> using namespace std; int n, k, fact[21]; string s; string solve(int size, int pos){ string tmp = ""; if(size == 1){ tmp += 'J'; return tmp; } if(pos <=</iostream></string></cstdio>…

IJPC 2012 #1

中間やら塾やらで疲れたのでのんびり解いていた() 藤原さん満点とかやばすぎる..3は小課題3,4が全然わからなかった..12点解法はやるだけ #include "training.h" #include <cstdio> using namespace std; int rock[30000]; void init(int N, int A[]){ for(int i = 0;</cstdio>…

PKU1007

問題分を読めればわかります #include <cstdio> #include <algorithm> #include <vector> using namespace std; int m, n; vector<pair<int, int> > so; char dna[50][100]; bool comp(const pair<int, int>& a, const pair<int, int>& b){ return a.first < b.first; } int main(){ scanf("%d %d", &n, &m); getchar(); for</int,></int,></pair<int,></vector></algorithm></cstdio>…

PKU 3264 Balanced Lineup

segtreeの練習. RMQみたいなことをして差を取るだけ #include <cstdio> #include <climits> #include <algorithm> using namespace std; int hoge, N, Q, ans, tmp; typedef struct segtree{ static const int MAX_N = 1 << 18; int dat1[MAX_N * 2 - 1], dat2[MAX_N * 2 - 1]; int n; se</algorithm></climits></cstdio>…

Google Code Jam Round 1 A 2012

GCJ

結果から言うと20ptで死亡。 まずAに時間をかけすぎたのと、Bのデバッグが終わらなかった... 人権ない>

PKU3258 River Hopscotch

PKU

蟻本の練習問題。 岩の位置をソートして二分探索 #include <cstdio> #include <algorithm> using namespace std; int l, m, n; int rock[50000]; bool C(int d){ int last = 0; while(rock[last] < d){ last++; if(last == n) return false; } for(int i = 1; i < n - m; i++){ </algorithm></cstdio>…

AOJ0524 Searching Constellation

AOJ

あまり考えずに書いたので無駄なことしてる #include <cstdio> #include <vector> #include <algorithm> #include <map> using namespace std; int m, n, tmp; pair<int,int> ans; bool comp(const pair<int,int> a, const pair<int,int> b){ return a.first > b.first; } int main(){ while(scanf("%d", &m)){ if(m == 0</int,int></int,int></int,int></map></algorithm></vector></cstdio>…

AOJ0559 JOI Flag

bitDP初めてなのにこれをやったせいで苦戦しました. JOIの解説を読まないと解けませんでした...これだと解けるけどAOJではMLEします #include <cstdio> #include <cstring> using namespace std; const int mod = 100000; int n, m, count; char flag[21][21]; int fact[401];</cstring></cstdio>…

AOJVol5の残りのdp

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0541 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0548 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0550 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp…

AOJ0520 Lightest Mobile

明らかに二分木なのでメモ化再帰するだけ lcmを求めるところで先に2つをかけていたのでオーバーフローしてずっと悩んでました そこでみすってるとは... #include <cstdio> using namespace std; typedef struct stick{ int lren, rren, sl, sr, weight; } STICK; in</cstdio>…

Google Code Jam Qualification Round 2012

学校行って塾に行った後解くという過酷な感じになって辛かった A,B,Cを解いたけどCのlargeを落として45点だった・・・まあ進めたのでいいか() 60点は普通に取れた感じがします(D読んでないですすみません) A. Speaking in Tongues やるだけ 全単射だし変換法…

Volume5をうめたいなあ()

AOJ0532 説明略 #include <cstdio> using namespace std; int a, b, c, d, e, f, g, h, j; int main(){ for(int i = 0; i < 3; i++){ scanf("%d %d %d %d %d %d", &a, &b, &c, &d, &e, &f); g = 3600 * (d - a) + 60 * (e - b) + (f - c); h = g / 3600; g %= 3600; </cstdio>…

AOJ0539 Pizza

なんかWAして悩んだけどよく考えたら確保した配列の要素が一個足りなかっただけだった(泣) 普通にやるとTLEするのでSをsortして配達先に最も近いSを2分探索で決めて足していくだけ #include <cstdio> #include <algorithm> #include <cmath> using namespace std; int d, n, m, ans, t</cmath></algorithm></cstdio>…

AOJ0529 Darts

JOI2007 本選の3番 蟻本のくじびきのやつみたいに2本ずつにわけて2分探索すれば間に合います #include <cstdio> #include <algorithm> #include <functional> using namespace std; int n, m, ans, fact; int k, lb, ub; int target[1000], tars[1002001]; void C(int p){ lb = 0, ub = fac</functional></algorithm></cstdio>…

AOJ0528 Common Sub-String

文字列をずらしてくらべて最大値更新していけば解ける #include <iostream> #include <string> #include <algorithm> using namespace std; int main(){ string a,b; int crtl,alen,blen,ans; while (cin >> a){ cin >> b; ans = 0; alen = a.size(); blen = b.size(); for(int i = 0; i <</algorithm></string></iostream>…

AOJ0542 Authentication Level

認証レベル〜 自分にはだいぶ難しかった.. 2つの事務所である認証レベルで新たに行ける部屋の数をDijkstraで求めて、事務所1でk個、事務所2でR-k個行ける時の認証レベルの最小値を更新していけばいいです #include<iostream> #include<cstdio> #include<queue> #include<vector> #include<algorithm> #in</algorithm></vector></queue></cstdio></iostream>…

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