发生在6月27日9点钟的事。
小码匠:你上课期间,我AC掉了4个题,快表扬我。
老码农:不错,看着挺厉害的。
小码匠:就不能来点直接的吗?话里带话, 光看着厉害,是纸老虎吗?
老码农:本来小码匠就很不错,比去年进步多了,去年有些题目竟拿部分分。我看看你AC了哪几道题?
题目 | 难度 |
---|---|
[NOIP2010 提高组] 机器翻译 | 普及- |
[NOIP2011 提高组] 铺地毯 | 普及- |
[NOIP2012 提高组] Vigenère 密码 | 普及- |
[NOIP2013 提高组] 积木大赛 | 普及- |
老码农:原来如此,这么久远的题。
小码匠:你真是的,就不能鼓励我吗?知道你想说,这些题目比较简单。
老码农:还是你最了解我。
老码农:最近两三年提高组的题目明显要难于之前的,水题越来越少,最简单的题目也是普及/提高-
。
老码农:信竞生越来越多,越来越低龄化,难度也越来越高,对技术要有敬畏之心,要不断的挑战自己。
老码农:通常做10道简单题,不如做一道难题提升的多,简单题只是数量的累计,对于思维提升、码力提升帮助很小。
小码匠:好啰嗦,好啰嗦,这几道题不是你给我安排的吗?特别讨厌你的但是。。。
小码匠:我知道了。。。别说了。。。
题目原文请移步下面的链接
模拟
、队列
普及-
#include <bits/stdc++.h>
using namespace std;
#define endl '\n';
bool a[1003];
void best_coder() {
int m, n;
cin >> m >> n;
queue<int> q;
int ans = 0;
for (int i = 0; i < n; ++i) {
int x;
cin >> x;
if(a[x]) {
continue;
}
q.push(x);
++ans;
a[x] = true;
if(q.size() > m) {
a[q.front()] = false;
q.pop();
}
}
cout << ans;
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
// 返回
return 0;
}
题目原文请移步下面的链接
模拟
、暴力
普及-
#include <bits/stdc++.h>
using namespace std;
#define endl '\n';
struct edge {
int a, b, x, y;
};
void best_coder() {
int n;
cin >> n;
vector<edge> v(n);
for (int i = 0; i < n; ++i) {
cin >> v[i].a >> v[i].b >> v[i].x >> v[i].y;
v[i].x += v[i].a;
v[i].y += v[i].b;
}
pair<int, int> t;
cin >> t.first >> t.second;
int ans = -1;
for (int i = 0; i < n; ++i) {
if ((t.first >= v[i].a && t.first <= v[i].x) && (t.second >= v[i].b && t.second <= v[i].y)) {
ans = i + 1;
}
}
cout << ans;
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
// 返回
return 0;
}
题目原文请移步下面的链接
模拟
、字符串
普及-
#include <bits/stdc++.h>
using namespace std;
#define endl '\n';
char key (char x, char y) {
int a, b;
if (y <= 'Z') {
a = y - 'A';
} else {
a = y - 'a';
}
if (x <= 'Z') {
b = x - 'A';
} else {
b = x - 'a';
}
return (y <= 'Z' ? 'A' : 'a') + (a + 26 - b) % 26;
}
void best_coder() {
string a, b;
cin >> a >> b;
int c = a.size();
int d = b.size();
for (int i = 0; i < d; ++i) {
cout << key(a[i % c], b[i]);
}
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
// 返回
return 0;
}
题目原文请移步下面的链接
模拟
、字符串
普及-
#include <bits/stdc++.h>
using namespace std;
#define endl '\n';
void best_coder() {
int n;
scanf("%d", &n);
int ans = 0;
vector<int> a(n);
int t = 0;
for (int i = 0; i < n; ++i) {
scanf("%d", &a[i]);
if (a[i] > t) {
ans += a[i] - t;
}
t = a[i];
}
printf("%d", ans);
}
void happy_coder() {
}
int main() {
// 提升cin、cout效率
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// 小码匠
best_coder();
// 最优解
// happy_coder();
// 返回
return 0;
}
END