C++笔试强训day20

目录

1.经此一役小红所向无敌

2.连续子数组最大和

3.非对称之美


1.经此一役小红所向无敌

链接

简单模拟即可。

需要注意的是:

除完之后有无余数,若有,则还可以再挨一次打。

#include <iostream>
using namespace std;
#define int long long
int a, h, b, k;
signed main() {
	cin >> a >> h >> b >> k;
    
	int sum = 0;
	int cnt1 = h / b;
	int cnt2 = k / a;
	if (h % b != 0)
		cnt1++;
	if (k % a != 0)
		cnt2++;
    
	int cnt = min(cnt1, cnt2);
	sum += cnt * (a + b);
    
	if (cnt1 == cnt2)
		cout << sum << endl;
	else if (cnt1 > cnt2)
	{
		sum += a * 10;
		cout << sum << endl;
	}
	else if (cnt1 < cnt2)
	{
		sum += b * 10;
		cout << sum << endl;
	}
	return 0;
}

2.连续子数组最大和

链接

一道线性dp问题,最主要的是找出dp所表示的含义:

dp[i], 以i为结尾,可以表示的最大数值。

#include <iostream>
using namespace std;

const int N = 2e5 + 10;
int dp[N];
int v[N];
int main() {
    int n;
    cin >> n;

    for(int i = 1; i <= n; ++i)
        cin >> v[i]; 

    for(int i = 1; i <= n; ++i)
        dp[i] = max(dp[i - 1] + v[i], v[i]);

    int ret = -101;
    for(int i = 1; i <= n; ++i)
        ret = max(dp[i], ret);

    cout << ret << endl;
    return 0;
}

填完表后,遍历一遍表中的数,取出最大值即可。

由于,因此可以让 ret 初始化为 -101。 

3.非对称之美

链接

我认为这就是一道数学分析找规律题,暴力强解复杂度太高,易超时,解不出来。

但是这个规律也不好找:

#include <iostream>
#include <string>
using namespace std;
int n;
string s;
int fun()
{
	// 1. 判断是否全都是相同字符
	bool flag = false;
	for (int i = 1; i < n; i++)
	{
		if (s[i] != s[0])
		{
			flag = true;
			break;
		}
	}
	if (flag == false) 
        return 0;
	// 2. 判断本⾝是否是回⽂
	flag = true;
	int left = 0, right = n - 1;
	while (left < right)
	{
		if (s[left] == s[right])
		{
			left++;
			right--;
		}
		else
		{
			flag = false;
			break;
		}
	}

	if (flag) 
        return n - 1;
	else 
        return n;
}
int main()
{
	cin >> s;
	n = s.size();

	cout << fun() << endl;

	return 0;
}

若字符全相同,则返回0。

若从0和n - 1往中间遍历,存在不相同,即可直接break返回 n (个数)。

若全相同,则返回 n - 1。

即这时个对称数,但是如果你取除第一个或最后一个外的所有字符,即可组成非对称。

题目有要求要最大,所以为 n - 1。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 12:12:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 12:12:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 12:12:04       82 阅读
  4. Python语言-面向对象

    2024-05-13 12:12:04       91 阅读

热门阅读

  1. MySQL运维总结

    2024-05-13 12:12:04       37 阅读
  2. LeetCode 2391. 收集垃圾的最少总时间

    2024-05-13 12:12:04       38 阅读
  3. MySQL Undo Log、Redo Log、bin Log

    2024-05-13 12:12:04       30 阅读
  4. 哲学家就餐问题

    2024-05-13 12:12:04       34 阅读
  5. OpenCV图像转换处理

    2024-05-13 12:12:04       36 阅读
  6. C++贪心算法

    2024-05-13 12:12:04       35 阅读
  7. vty、带内/带外管理、带内/带外ip简介

    2024-05-13 12:12:04       41 阅读
  8. 未来城市更新要干哪些事?

    2024-05-13 12:12:04       29 阅读
  9. 前端开发如何切换node版本安装依赖

    2024-05-13 12:12:04       32 阅读