C++笔试强训day19

目录

1.小易的升级之路

2.礼物的最大价值

3.对称之美


1.小易的升级之路

链接

模拟就行,唯一可能是难点得就是gcd(最大公约数)

cpp 复制代码
#include <iostream>
using namespace std;
#define int long long
const int N = 1e5 + 10;
int arr[N];
int gcd(int a, int b)
{
	return b == 0 ? a : gcd(b, a % b);
}
signed main() {
	int n, init;
	cin >> n >> init;
	for (int i = 0; i < n; ++i)
		cin >> arr[i];
	for (int i = 0; i < n; ++i)
		if (init >= arr[i])
			init += arr[i];
		else
			init += gcd(init, arr[i]);
	cout << init << endl;
	return 0;
}

2.礼物的最大价值

链接

动态规划 - 路径问题。

cpp 复制代码
typedef long long LL;
class Solution {
public:
	const static int N = 300;
	LL dp[N][N] = { 0 };
	int maxValue(vector<vector<int>>& grid) {
		int n = grid.size();
		int m = grid[0].size();
		for (int i = 1; i <= n; ++i)
			for (int j = 1; j <= m; ++j)
				dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + grid[i - 1][j - 1];
		return dp[n][m];
	}
};

3.对称之美

链接

从第1个字符串一直到第n个字符串每个串取一个字母来构成一个新字符串,新字符串的第i个字母只能从第i行的字符串中选出。

根据题意:

我们可以从两边开始(一个下标为0, 一个下标为 n - 1)开始遍历,如果一路遍历下来,所有的两边两个字符串中都有相同的字符,则返回Yes,若有一个没有则No

详细代码:

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;
vector<string> vs(110);
// 哈希判断是否有相同字符
bool Check(string s, string t)
{
	int hash[128] = { 0 };
	for (auto c : s)
		hash[c]++;
	for (auto c : t)
		if (hash[c] != 0)
			return true;
	return false;
}
// 双指针
void solve()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; ++i)
		cin >> vs[i];
	int flag = 1;
	int l = 0, r = n - 1;
	while (l < r)
	{
		if (!Check(vs[l], vs[r]))
			flag = 0;
		l++;
		r--;
	}
	if (flag == 1)
		cout << "Yes" << endl;
	else
		cout << "No" << endl;
}
int main() {
	int t;
	cin >> t;
	while (t--)
		solve();
}
相关推荐
会编程的小孩3 小时前
C++ qt的安装
c++
企业数字化笔记5 小时前
视频人体姿态怎么做三维可视化?2D关键点、深度局限与技术选型
人工智能·算法·音视频
?abc!6 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
小成202303202658 小时前
C++~07补充
开发语言·c++
小郎君6588 小时前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧8 小时前
MemT让记忆成为模型内生能力
jvm·人工智能·算法
hold?fish:palm8 小时前
40 二叉树的直径
c++·leetcode
Shimeri9 小时前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
解决小子9 小时前
【虚幻引擎】【C++】【GAS框架】构建角色基类、属性集、数值钳制
c++·笔记·游戏引擎·虚幻·gas·能力系统
Evand J9 小时前
【PMSM例程1】永磁同步电机(PMSM)转速与转子电角度观测算法|基于扩展卡尔曼滤波(EKF)的传感器状态估计与误差。附下载链接
算法·电机·1024程序员节·卡尔曼滤波