tookunn’s diary

主に競技プログラミング関係

CODE FESTIVAL 2014 予選B C 錬金術師

問題 code-festival-2014-qualb.contest.atcoder.jp 解法 まずS1,S2,S3のそれぞれのアルファベットの出現回数を数えておく。 その出現回数をそれぞれA1,A2,A3とする。S3を作れる場合は、S3に出現するアルファベットは必ずS1またはS2から使われるので、 S1か…

RUPC2016に参加してきました

3月6日から3日間立命館大学の方で立命館大学競技プログラミング合宿(RUPC)があったので参加してきた体験を記憶を頼りに書き記していきたいと思います。 0日目 前泊しました。 立命館大学が滋賀県にあるので、新潟から上越新幹線で東京駅まで行き、乗り換えて…

Indeedなう(オープンコンテストB) B - How are you?

問題 indeednow-finalb-open.contest.atcoder.jp 解法 N(1≦N≦10^5)人ごとに、出社時刻時点直後と退社時刻直前のオフィスにいる社員の増加量を求めることで、 オフィスにいる間に出社してきた人数を導くことが出来る。社員i(1≦i≦N)がオフィスにいる間に出社し…

AtCoderBeginnerContest030 D へんてこ辞書 (メモ用)

問題 abc030.contest.atcoder.jp 考え 単語を調べるステップ数kが(1 ≦ k ≦ 10^100000)の範囲なので、long型でも収まらない。だけど今回は公式の解説でもあるように多倍長を使わずに解ける。 参考:AtCoder Beginner Contest 030 解説 一度調べた単語をもう一…

DISCO presents ディスカバリーチャンネル プログラミングコンテスト2016に参加してきた

本選の問題全然解けてないんで書こうか迷ったんですけど、楽しかったので記憶を頼りにあっさりとですが書きます。 はじめに 予選で233位だったんですが、2017年度卒業の枠が繰り上がって運よく参加することが出来ました。 前日 新潟から東京まで新幹線だと始…

Codeforces #341 Div2 B

問題 codeforces.com 1000×1000のマスにN個のビショップが置かれている。 2つのビショップ同士が互いに斜め方向に位置する場合、お互いを攻撃し合う。 この互いに攻撃し合う組み合わせを数える。 ここで、マスの列は左から右へ、行は上から下に、1から1000ま…

2015年の反省(ほとんど競プロの話)

僕はだいたい今年の1月ぐらいに競技プログラミングを始めました。 つまり1年ぐらい競技プログラミングをやってきたということなので、年末っぽくその振り返り的なことを書こうかなと思います。 1. いろんなオンラインコンテストへの参加 AtCoderBeginnerCont…

AOJ 2311 Dessert Witch

AOJ

問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2311 なんかオセロっぽいやつで、問題文で指定された手順でオセロの最終盤面を出力する 実装問題です。 普通に面倒でした。デバッグしまくってやっと通しました。 解法 問題文で指定されてい…

Codeforces Educational Round2 B

問題 codeforces.com 配列aと配列bの長さnとmが与えられ、整数型の配列aとbが与えられる。 0 解法 配列aをソートして、各b[i]ごとに配列aに対して二分探索を行って、b[i]と同じ値がある場合は b[i]と同じ値の中で一番要素番号が大きいもの + 1、無い場合はb[…

Codeforces Educational Round2 A

問題 codeforces.com aからzまでの文字(大文字も含む)と1から9までの数字と「,」(カンマ)「.」(コロン)「;」(セミコロン)を含む文字列が与えられる。 与えられた文字列をカンマまたはセミコロンで区切り、数字として表されるものと それ以外のものに分けてカ…

Codeforces #333 Div2 A

問題 codeforces.combx進数で表された値Xとby進数で表された値Yが与えられるので、 値としてXとYは等しいか等しくないかを求める。等しくない場合はXとYがどちらが大きいか小さいかを求める。 XとYが等しい場合は "=" Xの方が大きい場合は ">" Yの方が大きい…

Codeforces #320 Div2 D

問題 http://codeforces.com/contest/579/problem/D 整数N,K,XそしてN個の整数Aが与えられる。 N個の整数Aのうち、一つの整数A[i](1 そして残りのN-1個の整数とA[i]をOR演算した場合の最大値を求める。 解法 全探索だと間に合わなかったので、A[0]からA[N - …

AOJ 1232 Calling Extraterrestrial Intelligence Again

AOJ

問題 4より大きく10^5未満の値mと1以上1000以下の整数a,bが与えられる。 素数の組p,qを考える。 pq 解法 あらかじめ素数を用意して置く。 pとqを固定して二重ループ。 与えられた条件に当てはまるp,qの組の中のpqが最大の組を選ぶ。 ソースコード #include<iostream> #</iostream>…

AOJ 1241 Lagrange's Four-Square Theorem

AOJ

問題 与えられたNの値を4個以下の正の整数の二乗で表せる組み合わせの数を考える。 解法 全探索で全通り試した。(計算量考えるの苦手です) とりあえず全探索で通って良かった。 ソースコード #include<iostream> using namespace std; int main() { int n; while (cin </iostream>…

C++ scanf() scanf_s() 自分メモ

#include <iostream> using namespace std; int main() { int N; cin >> N; } みたいな感じでcin>>を使う。 競技プログラミングなどで実行速度を速くしたい時は、cinではなくscanf()を使った方が良い。 int main() { int N; scanf("%d", &N); printf("%d\n", N); } し</iostream>…

Java テキストを読み込み、書き込むサンプルプログラム

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class ReadWriteFile { File to…