Are we gonna just ignore the fact that tourist will reach the new highest point of rating ever on today's contest?
CF Predictor says Gennady has +71 delta. If it's correct, the new highest point will be 3783!
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 160 |
5 | -is-this-fft- | 158 |
6 | adamant | 157 |
6 | awoo | 157 |
8 | TheScrasse | 154 |
8 | nor | 154 |
10 | djm03178 | 153 |
Are we gonna just ignore the fact that tourist will reach the new highest point of rating ever on today's contest?
CF Predictor says Gennady has +71 delta. If it's correct, the new highest point will be 3783!
При поиске задач во вкладке "Архив" по нужным тегам и сложностям, показываются решенные и нерешенные задачи одновременно. В связи с этим, если кто-нибудь был в поисках идеи для расширения или отдельного сайта-помощника, полезного новичкам, то предлагаю реализовать эту идею. Будет очень приятно иметь во вкладке "Архив" галочку "Показывать только нерешенные".
Будет еще лучше, если MikeMirzayanov реализует это официально!
Привет! Посоветуйте, пожалуйста, литературу, для изучения теории игр, чтобы сделать бота для одновременной игры. Одновременная игра — игра, где ходы делаются одновременно(параллельно). Если кто-то сделал ход раньше, то действия будут на очереди, пока второй игрок тоже не сделает ход. В бою может быть лишь два игрока. Суть игры проста. У каждого игрока есть три юнита. У каждого юнита есть три параметра: Атака, Защита, HP.
Количество посылок решений превысило 50 миллионов! Хочу поздравить MikeMirzayanov, и весь комьюнити Codeforces с этим достижением! Автором юбилейной посылки оказался CormoranStrike, а вот и сама его посылка: 50000000
Дан массив a состоящий из n целых чисел. Найти длину самой длинной зубчатой подпоследовательности. Зубчатой подпоследовательностью будем назвать такую подпоследовательность, где выполняется одно из следующих условий: a[i] > a [i+1] < a[i+2]>...<a[j] или a[i] < a[i+1] > a[i+2] < ... > a[j], 1 <= i <= j <= n. Ограничения: -10000 <= a[i] <= 10000, и 1 <= n <= 10^5 Вот мое решение за O(n^2), как решить за O(nlogn)?
#include <bits/stdc++.h>
using namespace std;
const int maxN = (int) 1e5 + 6;
vector<int> dp(maxN, 1);
vector<int> a;
vector<int> mode(maxN);
bool comp(int i, int j) {
if (mode[j] == 0) {
if (a[i] > a[j]) {
mode[i] = 1;
return true;
}
if (a[j] < a[j]) {
mode[i] = 2;
return true;
}
return false;
}
if (mode[j] == 1) {
if (a[i] < a[j]) {
mode[i] = 2;
return true;
}
return false;
}
if (mode[j] == 2) {
if (a[i] > a[j]) {
mode[i] = 1;
return true;
}
return false;
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
int nsave = n;
for(int i = 0; i < n; i++) {
int tmp;
cin >> tmp;
if (i == 0) a.push_back(tmp); else {
if (tmp == a[a.size() - 1]) continue; else a.push_back(tmp);
}
}
n = a.size();
int ans = 0;
for(int i = 0; i < n; i++) {
dp[i] = 1;
for(int j = 0; j < i; j++) {
if (comp(i, j) && dp[i] < dp[j] + 1) {
dp[i] = dp[j] + 1;
}
}
if (i == 0 || i == 1) ans++; else {
if (mode[i - 1] != mode[i]) ans++;
}
}
cout << nsave - ans;
return 0;
}
Название |
---|