2020河南省第二届CCPC真题解析(附榜单) 您所在的位置:网站首页 ccpc程序设计 2020河南省第二届CCPC真题解析(附榜单)

2020河南省第二届CCPC真题解析(附榜单)

2024-01-18 09:49| 来源: 网络整理| 查看: 265

这里写目录标题 A:班委竞选题目:分析:AC代码: B:广告投放题目:分析:AC代码: C:我得重新集结部队题目:分析:AC代码: D:园艺大师题目:分析:AC代码: E:发通知题目:分析:AC代码: F:旅游胜地题目:分析:AC代码: G:vvvvvvvim题目:分析:AC代码: H:林克与翻转排列题目:分析:AC代码: I:太阳轰炸题目:分析:AC代码: J:二进制与、平方和题目:分析:AC代码: K:子串翻转回文串题目:分析:AC代码: L:送外卖题目:分析:AC代码: 榜单:

A:班委竞选

时间限制: 1 Sec 内存限制: 128 MB

题目:

某班级中有 n 位学生,学号为 1,2,…,n。现在班级中正在举行 m 个班干部职位的竞选,职位用 1,2,…,m 编号。学号为 i 的同学竞选的职位为 ci,获得 ti 票。最终每个职位选择票数最高的同学上任,若存在多个同学票数一致,则选择学号最小的同学上任。 现在给你唱票结果,请你告诉班主任最终的班干部名单。

输入 第一行包含两个整数 n, m (1≤n≤51, 1≤m≤12, m≤n),含义见题目描述。 接下来 n 行,第 i 行包含两个整数 ci, ti (1≤ci≤m, 1≤ti≤n),含义见题目描述。 数据保证每个职位至少有一位同学参与竞选。

输出 输出一行,包含 m 个整数。第 i 个整数表示担任第 i 个班干部职位的同学学号。

样例输入 Copy 5 2 1 2 2 1 2 1 1 1 2 2 样例输出 Copy 1 5 提示 样例输入二 12 8 8 12 6 8 2 6 1 8 1 7 2 9 3 12 4 9 5 1 6 12 7 6 8 8 样例输出二 4 6 7 8 9 10 11 1

第一个样例中,第 1 个岗位有学号 1 和学号 4 两个同学竞选,获得的票数分别为 2 和 1,第 1 个岗位由获得票数最多的学号 1 同学来担任;第 2 个岗位有学号 2, 3 和 5 三个同学竞选,获得的票数分别为 1, 1 和 2,第 2 个岗位由获得票数最多的学号 5 同学来担任。

分析:

原文链接.

AC代码:

在这里插入图片描述

#include using namespace std; typedef long long ll; const int mod = 1e9 + 7; const int INF = 0x3f3f3f3f; const int N = 5e5 + 10; struct node { int p, id; bool operator #ifdef LOCAL freopen("E:/input.txt", "r", stdin); #endif mapmp; int n, m; cin >> n >> m; for (int i = 1; i t, i }); } for (int i = 1; i if (vis[i]) { for (int j = 1; j int x, y; ll r; bool death; }insect[N]; int type[N]; ll dis(int a, int b, int c, int d) { return 1LL * (a - c) * (a - c) + 1LL * (b - d) * (b - d); } int main() { #ifdef LOCAL freopen("E:/input.txt", "r", stdin); #endif int n; int cnt = 0, tot = 0; cin >> n; while (n--) { ++cnt; int op; scanf("%d", &op); if (op == 1) scanf("%d%d%lld", &insect[cnt].x, &insect[cnt].y, &insect[cnt].r), type[cnt] = 1; else { type[cnt] = 2; int x, y, atk, r; scanf("%d%d%d%d", &x, &y, &atk, &r); int k = 0; ll d = 1e18; for (int i = 1; i if (d > dis(x, y, insect[i].x, insect[i].y)) d = dis(x, y, insect[i].x, insect[i].y), k = i; } } for (int i = 1; i insect[i].r -= 3LL * atk; if (insect[i].r scanf("%d%d%d", &a[i], &b[i], &c[i]); v.push_back(a[i]), v.push_back(b[i] + 1); } sort(v.begin(), v.end()); int cnt = v.erase(unique(v.begin(), v.end()), v.end()) - v.begin(); for (int i = 1; i d[i] ^= d[i - 1]; e[i] += e[i - 1]; if (e[i] >= k) ans = max(ans, d[i]); } cout if (b & 1) res = res * a % mod; a = a * a % mod; } return res; } int jc[N], inv[N]; int fz1[N], fz2[N]; int main() { #ifdef LOCAL freopen("E:/input.txt", "r", stdin); #endif jc[0] = 1; for (int i = 1; i = 0; i--) inv[i] = 1LL * inv[i + 1] * (i + 1) % mod; ll n, r1, r2, r, a, h; cin >> n >> r1 >> r2 >> r >> a >> h; ll fm = 1, x1 = r2 * r2 % mod, x2 = (r1 + r) * (r1 + r) % mod, x3 = (x1 - x2 + mod) % mod; fz1[0] = fz2[0] = 1; for (int i = 1; i if (i * a >= h) { flag = 1; ll f = 1LL * jc[n] * inv[i] % mod * inv[n - i] % mod; res = (res + 1LL * f * fz1[i] % mod * fz2[n - i] % mod) % mod; } } if ((r1 + r) >= r2) { printf("%d\n", flag); exit(0); } cout h[0] = 0, w[0] = 1, base = b, mod = m; } void Add(char* s) { int len = strlen(s + 1); for (int i = 1; i for (int i = 1; i if (ha1.Get(1, i) == ha1.Get(n - i + 1, n)) { if (ha1.Get(i + 1, n - i) == ha2.Get(i + 1, n - i)) return 1; } } else { int len = n - i; if (ha1.Get(n - 2 * len + 1, n - len) == ha1.Get(n - len + 1, n)) { if (ha1.Get(1, n - 2 * len) == ha2.Get(2 * len + 1, n)) return 1; } } } return 0; } int main() { #ifdef LOCAL freopen("E:/input.txt", "r", stdin); #endif ha1.Init(233, 1e9 + 9); ha2.Init(233, 1e9 + 9); int T; cin >> T; while (T--) { scanf("%s", t + 1); int len = strlen(t + 1); n = 0; for (int i = 1; i for (int j = i; j ha1.Add(s); reverse(s + 1, s + n + 1); ha2.Add(s); ans = check(); } puts(ans ? "Yes" : "No"); } return 0; } L:送外卖 题目:

时间限制: 8 Sec 内存限制: 512 MB

题目描述 在智慧岛上,程序员小 Q 每天下班都会在 n 栋公寓之间兼职送外卖。这 n 栋公寓由 m 条双向道路连通,任意两栋公寓可通过这些道路相互到达。第 i 条道路连接公寓 ui,vi,长度为 wi 米。 精通解梦的小 Q 早已在昨夜梦中知晓今日的所有订单信息:今晚,每栋公寓都恰好订了一份外卖,公寓 i 在 qi 秒下单。小 Q 下班后会从 1 公寓骑上他的小电驴,从 0 秒开始送餐。小 Q 可以以不超过 1 m/s的速度沿道路移动,也可以在任意位置休息不动,到达公寓后的送餐时间可以忽略不计。当然,小 Q 不能在下单前将外卖送达,以免引起客户的恐慌。 对于一笔订单,小Q在订单发起后的不同时间送达将会产生不同收益。形式化地说,对一笔订单 j,外卖平台会规定 d 个送达时间节点 qj



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有