ぐってぃのプログラミング日記

競技プログラミングやIT関係の記事を書いていくよ

C - 座圧

問題

atcoder.jp

考察

入力されるaを小さいもの順に並べる。
mapを使うことで、その数字が配列の中で何番目の大きさかを判定してあげればよき。

実装

#include <iostream>
#include <map>
#include <algorithm>
#include <vector>

#define ll long long

using namespace std;
ll l = 1000000007;
vector <ll> a[100050] = {};
vector <ll> b[100050] = {};

int main()
{
	map<ll, ll> mp;
	ll n;
	cin >> n;
	for (ll i = 0; i < n; i++)
	{
		ll x;
		cin >> x;
		a->push_back(x);
		b->push_back(x);
	}

	sort(b->begin(), b->end());
	b->erase(unique(b->begin(), b->end()), b->end());

	for (ll i = 0; i < b->size(); i++)
	{
		mp[b->at(i)] = i;
	}

	for (ll i = 0; i < n; i++)
	{
		cout << mp[a->at(i)] << endl;
	}
}

C - おいしいたこ焼きの売り方

問題

atcoder.jp

考察

たこやきができる時間とお客さんが来る時間の差分が0秒以上T秒以内のペアを作ってあげればおーけー。
それぞれ対応するペアを実装するのをqueueで実装した。
quequを二つ用意して、0秒以上T秒以内だったらpopして、お客のqueueが空になっていれば、yesを出力。

実装

#include <iostream>
#include <queue>

using namespace std;

int main()
{
	int t, n, m;
	queue<int> a;
	queue<int> b;
	cin >> t >> n;
	for (int i = 0; i < n; i++)
	{
		int x;
		cin >> x;
		a.push(x);
	}
	cin >> m;
	for (int i = 0; i < m; i++)
	{
		int x;
		cin >> x;
		b.push(x);
	}
        //たこやきの数よりお客が多ければそもそもアウト
	if (n < m) {
		cout << "no" << endl;
		return 0;
	}

	for (int i = 0; i < n; i++)
	{
		if (b.front() - a.front() <= t && b.front() - a.front() >= 0) {
			b.pop();
		}
		a.pop();
	}

	if (b.empty()) {
		cout << "yes" << endl;
	}
	else {
		cout << "no" << endl;

	}

}

Kaggleを始めるまでに参考にしたサイトや本まとめ

Kaggleを始めてみた

前々から興味があったKaggleについに手を出してみました。

Kaggleが英語のサイトだったり、機械学習は数学のイメージが強かったりで

後回ししてましたが、チャレンジしてみました。

Kaggleの知識をつける上で参考になった資料を順々に紹介していきます。

 

環境構築から初Submitまで

www.codexa.net

まずは上記のサイトを参考に、環境構築からkaggle初Submitまでを行いました。

Pythonの環境構築のしやすさやJupyter notebookの使いやすさに感動しながらKaggleの問題を解く手順を学べます。

とりあえずやってみたい方にはおすすめです。

 

Kaggle入門決定版 Kaggleチュートリアル

note.mu

先ほどのサイトのみではKaggle全体の概要や全体像が掴みづらかったので、

Kaggle チュートリアルを購入しました。

Kaggleの説明はもちろん、Taitanic問題を軸にデータの図式化、欠損値、データの数値化、予測など一連の流れがすべて分かります。

おすすめのツールの紹介や体験記などもあり、かなりわかりやすかったです。

Kaggleの始め方がわからない人はこの本を買っておけば大丈夫だと思います。

 

これから

Kaggleを初めてかなり機械学習に興味を持ちました。数学や予測アルゴリズムなどまだまだ知識不足を感じますが、少しずつ勉強していこうと思います。

KaggleチュートリアルでおすすめされていたUdemy教材をとりあえずやってみたいと思います。

【世界で5万人が受講】実践 Python データサイエンス

https://www.udemy.com/share/1001UcAEYbc15XQXw=/

 

機械学習は楽しいぞい!