A.魔方

目测入门 -,就是需要开long long

//1
#include<bits/stdc++.h> typedef long long valueType; int main() {
valueType N; std::cin >> N; std::cout << 8 << ' ' << (12 * (N - 2)) << ' ' << (6 * (N - 2) * (N - 2)) << std::flush; return 0;
}

B.教学楼

突然想起来刚学OI的时候三个数排序手打 6 个if,,,

//2
#include<bits/stdc++.h> int main() {
int n, a, b, c; std::cin >> n >> a >> b >> c; if(std::min({a, b, c}) == a && n <= 3)
std::cout << "library" << std::flush;
else if(std::min({b, c}) == b && n <= 5)
std::cout << "comprehensive" << std::flush;
else if(n <= 9)
std::cout << "art" << std::flush; return 0;
}

C.课桌

\[ans = n \times x + \sum_{i = 1}^{n}a_i
\]
//3
#include<bits/stdc++.h> int main() {
long long n, x; std::cin >> n >> x; long long result = n * x; for(int i = 1; i <= n; ++i) {
int t; std::cin >> t; result += t;
} std::cout << result << std::flush;
}

D.教室

定义教室学生总数为 \(s\),则

\[s = \sum_{i = 1}^{n}{a_i \times b_i \times c_i}
\]

还需要注意如果整除的话,最后一排人数是 \(m\)。

//4
#include<bits/stdc++.h> int main() {
long long n, m; std::cin >> n >> m; long long sum = 0; for(int i = 1; i <= n; ++i) {
long long a, b, c; std::cin >> a >> b >> c; sum += a * b * c;
} std::cout << (long long)(std::ceil((double)sum / m)) << ' ' << (long long)((sum % m == 0 ? m : sum % m)) << std::flush;
}

E.信

模拟。

//5
#include<bits/stdc++.h> int main() {
long long n, x, y, a, b; std::cin >> n >> x >> y >> a >> b; long long t = 0, sum = 0, max = INT_MIN; for(int i = 1; i <= n; ++i) {
int S, s, M; std::cin >> S >> s >> M; int const M0 = S * x + y * s; if(M == M0) {
t = std::min(t - 1, (long long)-1); if(t <= -b) {
sum = std::floor(sum / 2.0);
}
} else {
sum += (M - M0); if(M > 2 * M0) {
sum += std::ceil((M - M0) / 2.0);
} t = std::max(t + 1, (long long)1); if(t >= a) {
sum <<= 1;
}
} max = std::max(max, sum);
} std::cout << max << ' ' << sum << std::flush;
}

F.纸条

不会。


G.棋

直接 \(\mathcal{O}(NM)\) 暴力判断有没有人胜利即可,需要注意数组越界和连续五个 ~

//7
#include<bits/stdc++.h> int main() {
int n, m; std::cin >> n >> m; std::vector<std::vector<char>> source; source.resize(n + 200, std::vector<char>(m + 200)); for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
std::cin >> source[i][j]; std::function<bool(int, int)> check = [&source, n, m] (int i, int j) {
char const now = source[i][j]; if(now != '*' && now != '$')
return false; if(i - 4 >= 1)
if(source[i - 4][j] == now && source[i - 3][j] == now && source[i - 2][j] == now && source[i - 1][j] == now)
return true; if(i + 4 <= n)
if(source[i + 4][j] == now && source[i + 3][j] == now && source[i + 2][j] == now && source[i + 1][j] == now)
return true; if(j - 4 <= n)
if(source[i][j - 4] == now && source[i][j - 3] == now && source[i][j - 2] == now && source[i][j - 1] == now)
return true; if(j + 4 <= n)
if(source[i][j + 4] == now && source[i][j + 3] == now && source[i][j + 2] == now && source[i][j + 1] == now)
return true; if(i - 4 >= 1 && j - 4 >= 1)
if(source[i - 4][j - 4] == now && source[i - 3][j - 3] == now && source[i - 2][j - 2] == now && source[i - 1][j - 1] == now)
return true; if(i - 4 >= 1 && j + 4 <= m)
if(source[i - 4][j + 4] == now && source[i - 3][j + 3] == now && source[i - 2][j + 2] == now && source[i - 1][j + 1] == now)
return true; if(i + 4 <= n && j - 4 >= 1)
if(source[i + 4][j - 4] == now && source[i + 3][j - 3] == now && source[i + 2][j - 2] == now && source[i + 1][j - 1] == now)
return true; if(i + 4 <= n && j + 4 <= m)
if(source[i + 4][j + 4] == now && source[i + 3][j + 3] == now && source[i + 2][j + 2] == now && source[i - 1][j + 1] == now)
return true; return false;
}; int his = 0, her = 0; for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= m; ++j) {
if(source[i][j] == '*')
++her;
else if(source[i][j] == '$')
++his; if(check(i, j)) {
std::cout << (source[i][j] == '*' ? "Pleasing!" : "zylwins!") << std::flush; return 0;
}
}
} if(his == her)
std::cout << "W" << std::flush;
else if(her == his + 1)
std::cout << "Z" << std::flush;
}

H.演唱会

到这里精神状态不佳,瞎打一通交上去发现有点分就不想动了。


I.std::cerr

第一题可以看出程序在 \(b = c - 1\) 的情况下会炸,(那个 \(-1\) 的锅)。

第二题通过通读题面和平日教训可以利用每次匹配成功在标准错误流输出的特点令其超时。

#include <iostream>

int main() {
int taskId; std::cin >> taskId; if (taskId == 1) {
std::cout << "1 2 3" << std::endl;
} else if (taskId == 2) { int const t = 2e5; std::cout << t << std::endl; for(int i = 1; i <= t; ++i)
std::cout << "std::cerr\n";
}
}

【LGR-142-Div.4】洛谷入门赛 #13 赛后总结的更多相关文章

  1. 【LGR-(-8)】洛谷入门赛 #5 题解

    比赛链接 9道题. 注:题目名称中链接为题目链接,题号中链接为比赛内链接 题目编号 洛谷题号 题目名称 题目难度 A P5713 [深基3.例5]洛谷团队系统 \(\color{red}{入门}\) ...

  2. war2 洛谷模拟赛day2 t3 状压

    (new )   war2 题解:总体数据而言,我们很容易想到着就是DP啊,我们DP数组,用状态压缩,代表有那些点已经被占领过了,代表上一次我占的是那个.对于每一次状态转移,若当前我们要占领的Port ...

  3. 洛谷p3803 FFT入门

    洛谷p3803 FFT入门 ps:花了我一天的时间弄懂fft的原理,感觉fft的折半很神奇! 大致谈一谈FFT的基本原理: 对于两个多项式的卷积,可以O(n^2)求出来(妥妥的暴力) 显然一个多项式可 ...

  4. 洛谷 P5594 【XR-4】模拟赛

    洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...

  5. 草地排水 洛谷P2740 最大流 入门题目

    草地排水 洛谷P2740 最大流入门题目 题意 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一 ...

  6. 洛谷 P5089: CodeForces #500 (Div. 1) B / 1012B : Chemical table

    题目传送门:洛谷P5089. 题意简述: 一张 \(n \times m\) 的表格,有一些格子有标记,另外一些格子没有标记. 如果 \((r_1,c_1),(r_1,c_2),(r_2,c_1)\) ...

  7. 洛谷 P2015 二叉苹果树(codevs5565) 树形dp入门

    dp这一方面的题我都不是很会,所以来练(xue)习(xi),大概把这题弄懂了. 树形dp就是在原本线性上dp改成了在 '树' 这个数据结构上dp. 一般来说,树形dp利用dfs在回溯时进行更新,使用儿 ...

  8. 洛谷P1667/[10.22 模拟赛] 数列 (思维+模拟)

    洛谷P1667 数列 题目描述 给定一个长度是n的数列A,我们称一个数列是完美的,当且仅当对于其任意连续子序列的和都是正的.现在你有一个操作可以改变数列,选择一个区间[X,Y]满足\(A_X +A_{ ...

  9. 洛谷P1280 && caioj 1085 动态规划入门(非常规DP9:尼克的任务)

    这道题我一直按照往常的思路想 f[i]为前i个任务的最大空暇时间 然后想不出来怎么做-- 后来看了题解 发现这里设的状态是时间,不是任务 自己思维还是太局限了,题做得太少. 很多网上题解都反着做,那么 ...

  10. 绝对是全网最好的Splay 入门详解——洛谷P3369&BZOJ3224: Tyvj 1728 普通平衡树 包教包会

    平衡树是什么东西想必我就不用说太多了吧. 百度百科: 一个月之前的某天晚上,yuli巨佬为我们初步讲解了Splay,当时接触到了平衡树里的旋转等各种骚操作,感觉非常厉害.而第二天我调Splay的模板竟 ...

随机推荐

  1. AlphaFold2无痛安装教程(超级详细)

    目录 介绍 环境 安装 CMAKE安装 hmmer安装 HHsuite安装 Kalign安装 OpenMM安装 PDBfixer安装 Python依赖包安装 AlphaFold安装 AlphaFold ...

  2. 聊聊spring中bean的作用域

    前言 今天分享一下spring bean的作用域,理解bean的作用域能够在使用过程中避免一些问题,bean的作用域也是spring bean创建过程中一个重要的点. Spring bean的作用域类 ...

  3. 排队论——系统运行指标的R语言实现

    排队是在日常生活中经常遇到的现象,如顾客到商店购买物品.病人到医院看病常常要排队.此时要求服务的数量超过服务机构(服务台.服务员等)的容量.也就是说,到达的顾客不能立即得到服务,因而出现了排队现象.这 ...

  4. [数据库/MySQL]数据类型:enum 枚举类型

    1 需求描述 场景 性别(gender) :男 / 女 / 保密 2 基本语法 enum(枚举值 1,枚举值 2...); 枚举值列表在 255 个以内,使用 1 个字节来存储 枚举值列表超过 255 ...

  5. 扎实打牢数据结构算法根基,从此不怕算法面试系列之004 week01 02-04 使用泛型实现线性查找法

    1.算法描述 在数组中逐个查找元素,即遍历. 2.上一篇文的实现结果 在 扎实打牢数据结构算法根基,从此不怕算法面试系列之003 week01 02-03 代码实现线性查找法中,我们实现了如下代码: ...

  6. 基于Canal实现MySQL 8.0 数据库数据同步

    前言 服务器说明 主机名称 操作系统 说明 192.168.11.82 Ubuntu 22.04 主库所在服务器 192.168.11.28 Oracle Linux Server 8.7 从库所在服 ...

  7. Python学习——Juptyer Notebook快捷键的使用

    1. 运行当前Cell:Ctrl + Enter 2. 运行当前Cell并在其下方插入一个新的Cell:Alt + Enter 3. 运行当前Cell并选中其下方的Cell:Shift + Enter ...

  8. [C++核心编程] 3、函数提高

    文章目录 3 函数提高 3.1 函数默认参数 3.2 函数占位参数 3.3 函数重载 3.3.1 函数重载概述 3.3.2 函数重载注意事项 3 函数提高 3.1 函数默认参数 在C++中,函数的形参 ...

  9. [OpenCV-Python] 10 图像上的算术运算

    文章目录 OpenCV-Python: 核心操作 10 图像上的算术运算 10.1 图像加法 10.2 图像混合 10.3 按位运算 OpenCV-Python: 核心操作 10 图像上的算术运算 目 ...

  10. python自产调试工具pdb的使用

    python自产调试工具pdb的使用 介绍 调试打印在写代码的时候不可避免 项目越大,调试可能花的时间会越多 print调试可能是最早用的,一段时间内你都会习惯这种方式 一旦成了老鸟,你应该会去用ID ...