当前位置: 首页 > news >正文

7.2总结

今天写了三道题目

给你两个字符串 $$$a$$$ 和 $$$b$$$ ,这两个字符串都由小写拉丁字母组成。

字符串的子串是从原始字符串中删除几个(可能是零)字符后得到的字符串。字符串的子串是该字符串的连续子串。

例如,考虑字符串 abac:

- a、b、c、ab、aa、ac、ba、bc、aba、abc、aac、bac 和 abac 是其子序列;
- a、b、c、ab、ba、ac、aba、bac 和 abac 是它的子串。

你的任务是计算包含 $$$a$$$ 作为子串和 $$$b$$$ 作为子序列的字符串的最小可能长度。

第一思路是子序列在原串中每个字母必然是连续的,可以子串的每个字母若存在于子序列中则是离散的,所以遍历子串每个字母,再在子序列中找到离散的子串元素并记录数量,取遍历后的最大的最大元素个数和,再将a和b相加再减去遍历后的最大的最大元素个数和即为答案

#include<bits/stdc++.h>
#define ll long long
#define max_int 2147483647
#define max_ll 9223372036854775807
using namespace std;int main()
{ios::sync_with_stdio(false);cin.tie(0);int all;cin>>all;while(all--){string a,b;int longth=0;cin>>a>>b;for(int i=0;i<b.size();++i){int s=i;for(int p=0;p<a.size();++p){if(a[p]==b[s]){s++;}}longth=max(longth,s-i);}cout<<a.size()+b.size()-longth<<endl;}
}

某电影公司发行了 $$$2$$$ 部电影。有 $$$n$$$ 人观看了这些 $$$2$$$ 部电影。我们知道每个人对第一部电影的态度(喜欢、中立或不喜欢)以及对第二部电影的态度。

如果要求某人对电影留下评论,那么

- 如果这个人喜欢这部电影,他就会留下正面评论,这部电影的评分就会增加 $$$1$$$ ;
- 如果此人不喜欢这部电影,则会留下负面评论,电影评分将降低 $$$1$$$ ;
- 否则,他们会留下中性评论,电影评分不会改变。

每个人都会评论一部电影,您可以为每个人选择评论哪部电影。

公司的评分是两部电影评分的最小值。您的任务是计算公司可能获得的最高评分。

易得只有3*3种可能,则每次选择两值中的最大值操作会达到全局最优,不过当两值相同时情况不一样,均为0时不操作,为1或-1时则记录加了多少减了多少,在遍历完成后再判断怎么分配加减事较小值最大

#include <bits/stdc++.h>using namespace std;int main() {int t;cin >> t;while (t--) {int n;cin >> n;vector<int> a(n), b(n);for (auto& x : a) cin >> x;for (auto& x : b) cin >> x;int x = 0, y = 0, neg = 0, pos = 0;for (int i = 0; i < n; ++i) {if (a[i] > b[i]) {x += a[i];} else if (a[i] < b[i]) {y += b[i];} else {neg += (a[i] < 0);pos += (a[i] > 0);}}int ans = -1e9;for (int i = -neg; i <= pos; ++i)ans = max(ans, min(x + i, y + (pos - neg - i)));cout << ans << '\n';}
}

相关文章:

  • 计算机相关术语科普之什么叫网关(Gateway)
  • llama3模型部署时遇到的问题及解决方案
  • 【ONLYOFFICE】| 桌面编辑器从0-1使用初体验
  • mysql创建表的规范
  • 鸿蒙开发设备管理:【@ohos.multimodalInput.touchEvent (触摸输入事件)】
  • XPath 语法笔记
  • DP:子序列问题
  • elasticsearch导出和导入数据
  • eNSP中WLAN的配置和使用
  • Linux文件描述符与FILE指针互相转换
  • 7月形势分析-您下一步该如何做,才能走出困境?
  • 零基础开始学习鸿蒙开发-读书app简单的设计与开发
  • 探索 Electron:将 Web 技术带入桌面应用
  • 【python报错】已解决 ERROR: Could not find a version that satisfies the requirement
  • JDK动态代理-AOP编程
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [笔记] php常见简单功能及函数
  • Iterator 和 for...of 循环
  • Objective-C 中关联引用的概念
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Twitter赢在开放,三年创造奇迹
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • web标准化(下)
  • 编写高质量JavaScript代码之并发
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 第十八天-企业应用架构模式-基本模式
  • 关于springcloud Gateway中的限流
  • 基于 Babel 的 npm 包最小化设置
  • 开发基于以太坊智能合约的DApp
  • 类orAPI - 收藏集 - 掘金
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 实战|智能家居行业移动应用性能分析
  • 项目管理碎碎念系列之一:干系人管理
  • 新书推荐|Windows黑客编程技术详解
  • 在Mac OS X上安装 Ruby运行环境
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #传输# #传输数据判断#
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (+4)2.2UML建模图
  • (1)Android开发优化---------UI优化
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Matlab)使用竞争神经网络实现数据聚类
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net(C#)中String.Format如何使用
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • /etc/fstab和/etc/mtab的区别