华东交通大学2019年ACM 双基 程序设计竞赛 个人题解(A - K)
目前先放几道题面,等晚上做完实验补
Update:A ~ D,更新剩余的题面(题面复制会有链接水印,懒得一一去除、直接截图)
A、签到
真·签到题
输出祝贺祖国成立70周年!即可
B、欧涛的烦恼

思路:
简单累加,然后注意取整即可
// Author : RioTian
// Time : 20/11/02
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll _, n;
void solve() {
cin >> n;
int a;
long long sum = 0;
for (int i = 0; i < n; i++) {
cin >> a;
sum += a;
}
cout << (sum + n - 1) / n << endl;
}
int main() {
// freopen("in.txt", "r", stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
cin >> _;
while (_--) solve();
}
C、欧涛最短路

思路:
跑一遍迪杰斯特拉最短路就可以的样子,不知道为什么没什么人过
// Author : RioTian
// Time : 20/11/02
#include <bits/stdc++.h>
#define ll long long
#define N 608
using namespace std;
const double INF = 0x4242424242424242;
int vis[N];
int path[N];
double dis[N];
double mp[N][N];
double cord[N][3];
double ans;
void dijkstra(int n) {
for (int i = 0; i < n; ++i) dis[i] = mp[0][i];
dis[0] = 0;
vis[0] = 1;
double mmin = dis[606];
int pos = -1;
for (int i = 0; i < n; ++i) {
mmin = dis[606];
pos = -1;
for (int j = 0; j < n; ++j) {
if (!vis[j] && dis[j] < mmin) {
pos = j;
mmin = dis[j];
}
}
if (pos == -1) break;
vis[pos] = 1;
for (int j = 0; j < n; ++j) {
if (!vis[j] && dis[j] > dis[pos] + mp[pos][j]) {
dis[j] = dis[pos] + mp[pos][j];
path[j] = pos;
}
}
}
ans = dis[n - 1];
}
int main() {
int n;
double m;
while (cin >> n >> m) {
memset(mp, 0x42, sizeof mp);
memset(dis, 0x42, sizeof dis);
memset(path, -1, sizeof path);
memset(vis, 0, sizeof vis);
cin >> cord[0][0] >> cord[0][1] >> cord[0][2];
cin >> cord[n + 1][0] >> cord[n + 1][1] >> cord[n + 1][2];
for (int i = 1; i <= n; ++i)
scanf("%lf %lf %lf", &cord[i][0], &cord[i][1], &cord[i][2]);
for (int i = 0; i <= n + 1; ++i) {
for (int j = i + 1; j <= n + 1; ++j) {
double x =
(1.0 * cord[i][0] - cord[j][0]) * (cord[i][0] - cord[j][0]);
double y =
(1.0 * cord[i][1] - cord[j][1]) * (cord[i][1] - cord[j][1]);
double z =
(1.0 * cord[i][2] - cord[j][2]) * (cord[i][2] - cord[j][2]);
double len = sqrt(x + y + z);
if (len <= m) mp[i][j] = mp[j][i] = len;
}
}
dijkstra(n + 2);
if (ans < dis[606]) {
printf("%.3f\n", ans);
stack<int> st;
while (!st.empty()) st.pop();
for (int i = path[n + 1]; i != -1; i = path[i]) st.push(i);
cout << "Start ";
while (!st.empty()) {
cout << st.top() << " ";
st.pop();
}
cout << "End\n";
} else
cout << -1 << endl;
}
}
D、 甜甜圈

// Author : RioTian
// Time : 20/11/02
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
// freopen("in.txt","r",stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
string s;
int n;
cin >> n;
while (n--) {
cin >> s;
int res = 0;
for (int i = 0; i < s.length(); ++i) {
if (s[i] == '0' || s[i] == '4' || s[i] == '6' || s[i] == '9') res++;
else if (s[i] == '8') res += 2;
}
cout << res << endl;
}
}
E、欧涛爬树

F、欧涛B

G、数据结构

H、谁在说谎

// Author : RioTian
// Time : 20/11/08
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int n, dp[N], v[N];
struct node {
int l, r;
} nd[N], lst_nd[N];
bool cmp(node a, node b) {
if (a.r != b.r) return a.r < b.r;
return a.l < b.l;
}
int main() {
// freopen("in.txt", "r", stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int l, r, tol = 0, tot = 0;
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> l >> r;
if (l + r >= n) continue;
nd[++tol].l = l + 1;
nd[tol].r = n - r;
}
sort(nd + 1, nd + 1 + tol, cmp);
for (int i = 1; i <= tol; ++i) {
if (nd[i].l != nd[i - 1].l || nd[i].r != nd[i - 1].r)
lst_nd[++tot].l = nd[i].l, lst_nd[tot].r = nd[i].r;
v[tot] = min(v[tot] + 1, nd[i].r - nd[i].l + 1);
}
for (int i = 1, j = 1; i <= n; i++) {
dp[i] = dp[i - 1];
while (j <= tot && lst_nd[j].r == i) {
dp[i] = max(dp[i], dp[lst_nd[j].l - 1] + v[j]);
j++;
}
}
cout << n - dp[n] << endl;
}
I、不要666

J、组合技

K、这个勇者明明超强却过分慎重
玩梗好评

基本递推,打表找规律
const int mod = 666666;
ll n, m;
int main() {
//freopen("in.txt", "r", stdin);
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int a = 4, b = 233, ans[100000] = {0}, c = 0;
for (int i = 1; i <= 2523; ++i) {
c = ((a * 3 % mod) + (b * 4 % mod)) % mod;
a = b, b = c;
ans[i] = c;
}
while (cin >> n >> m) {
if (n == 1)
cout << m - 4 << endl;
else if (n == 2)
cout << m - 233 << endl;
else
cout << m - ans[(n - 2) % 2520] << endl;
}
}
华东交通大学2019年ACM 双基 程序设计竞赛 个人题解(A - K)的更多相关文章
- 华东交通大学2018年ACM“双基”程序设计竞赛部分题解
链接:https://ac.nowcoder.com/acm/contest/221/C来源:牛客网 C-公式题(2) 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...
- 华东交通大学2018年ACM“双基”程序设计竞赛 C. 公式题 (2) (矩阵快速幂)
题目链接:公式题 (2) 比赛链接:华东交通大学2018年ACM"双基"程序设计竞赛 题目描述 令f(n)=2f(n-1)+3f(n-2)+n,f(1)=1,f(2)=2 令g(n ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1007
Problem Description ACM小学妹在今天的暑假训练结束后,想看球赛放松一下.当他打开电脑时查询到联盟今天直播N场球赛,每场球赛的起止时间(S1,E1),(S2,E2),...,(SN ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1001
Problem Description 输入一个非负的int型整数,是奇数的话输出"ECJTU",是偶数则输出"ACM". Input 多组数据,每组数据输入一 ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1008
Problem Description halfyarn找你写个简单的题?好哒!给你n个整数,现在要求你选择两个位置的数,例如选择第pos_a个数a,和第pos_b个数b,给定ans=min(a,b) ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1005
Problem Description 最近侯ry感觉自己在数学方面的造诣不忍直视:他发现他的学习速率呈一个指数函数递增,疯狂的陷入学习的泥潭,无法自拔:他的队友发现了他的学习速率y=e^(b*lna ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1004
Problem Description LB是个十分喜欢钻研的人,对什么事都要搞明白.有一天他看到一个公式,((a-b)*c+d*e)/f=k.他想如果给定K的值,一共有多少种不同整数的组合(a,b, ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1010
Problem Description LB是个十分喜欢钻研的人,对什么事都要搞明白.有一天他学习到了阶乘,他十分喜欢,所以他在想一个问题.如果给定一个数n,求n!能不能被2016整除.LB算了好久都 ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1009
Problem Description 华盛顿在寝室洗衣服,遭到了xyf的嫌弃,于是xyf出了道题给华盛顿来做(然而并没有什么关系-v-!)xyf扔给华盛顿n个字符串,这些字符串的长度不超过10000 ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1003
Problem Description 风雨漂泊异乡路, 浮萍凄清落叶飞. 游子寻根满愁绪,一朝故土热泪归.Hey ecjtuer! 刚刚学习了二叉树的知识,现在来考察一下..给你一个深度为h的满二叉 ...
随机推荐
- LangChain内幕指南
1.概述 在人工智能迅速演进的时代,诸如Open AI的ChatGPT和Google的Bard等大型语言模型(LLMs)正彻底改变我们与技术互动的方式.这些技术巨头和SaaS公司正在竞相利用LLMs的 ...
- 企业数据分析免费试用的BI工具,有什么推荐?
当涉及到企业数据分析的免费试用BI工具时,有几个受欢迎且功能强大的选项可供选择.以下是对每个工具的详细介绍,帮助您了解其特点和优势. Datainside BI(https://datainside. ...
- FastJson、Jackson、Gson进行Java对象转换Json
- Java对象转换Json的细节处理前言Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式一.fastJson1 ...
- 快速认识,前端必学编程语言:JavaScript
JavaScript是构建Web应用必学的一门编程语言,也是最受开发者欢迎的热门语言之一.所以,如果您还不知道JavaScript的用处.特点的话,赶紧补充一下这块基础知识. JavaScript 是 ...
- flower插件-监视celery
安装和使用: https://flower.readthedocs.io/en/latest/install.html#installation https://github.com/mher/flo ...
- 安装了华企盾DSC防泄密,所有进程的加密文件都无法打开
用pchunter等工具查看系统回调中是否有文件厂商不存在的(system目录的除外),在恢复模式删除掉,或者用360系统急救箱查杀一下
- 创建一个双模式跨运行时的 JavaScript 包
本文将指导你发布双模式.跨运行时的 JavaScript 包.了解如何创建与 ESM 和 CommonJS 以及 Node.js.Deno 和浏览器等不同运行时兼容的库. 随着 JavaScript ...
- JS的对象
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- VS2022 安装 .NET Framework 4.0 和 .NET Framework 4.5 的方法
解决方法 1.下载.NET Framework框架 .NET Framework 4.5.2 .NET Framework 4.5.1 .NET Framework 4.5 .NET Framewor ...
- 多模态AI开发套件HiLens Kit:超强算力彰显云上实力
摘要:Huawei HiLens Kit是一款端云协同多模态AI开发套件,支持图像.视频.语音等多种数据分析与推理计算,可广泛用于智能监控.智能家庭.机器人.无人机.智慧工业.智慧门店等分析场景. 在 ...