第 377 场周赛虚拟参赛记录及补题

最小数字游戏 3

  • 题目
    在这里插入图片描述- 思路
    模拟
  • 代码
class Solution {
public:vector<int> numberGame(vector<int>& nums) {sort(nums.begin(),nums.end());vector<int> ans;for (int i = 0;i < nums.size();i ++) if (i&1)ans.push_back(nums[i-1]);else ans.push_back(nums[i+1]);return ans;}
};

移除栅栏得到的正方形田地的最大面积 4

  • 思路
    在这里插入图片描述- 思路
    细节题,把所有的空隙全考虑一遍。
  • 代码
class Solution {
public:int maximizeSquareArea(int m, int n, vector<int>& hFences, vector<int>& vFences) {long long ans = 0;sort(hFences.begin(),hFences.end());sort(vFences.begin(),vFences.end());int hlen = hFences.size(),vlen = vFences.size();int x = 0;vector<int> hc,vc;hc.push_back(m-1);for (int i = 0;i < hlen;i ++) {hc.push_back(hFences[i]-1);for (int j = i + 1;j < hlen;j ++) hc.push_back(hFences[j]-hFences[i]);hc.push_back(m-hFences[i]);} vc.push_back(n-1);for (int i = 0;i < vlen;i ++) {vc.push_back(vFences[i]-1);for (int j = i + 1;j < vlen;j ++) vc.push_back(vFences[j]-vFences[i]);vc.push_back(n-vFences[i]);}sort(hc.begin(),hc.end());sort(vc.begin(),vc.end());int l = hc.size()-1,r = vc.size()-1;while (l >= 0&&r >= 0&&hc[l] != vc[r]) {if (hc[l] > vc[r]) l --;else r --;}if (l >= 0 && r >= 0) {ans = 1ll*hc[l]*hc[l];return ans%(1000000007);} else {return -1;}}
};

转换字符串的最小成本 I 5

  • 题目
    在这里插入图片描述- 示例
    在这里插入图片描述
  • 思路
    最短路,先处理26个字母之间的最短路。这样复杂度就是O(262626);
    在这里插入图片描述
    在这里插入图片描述
  • 代码

class Solution {
public:long long minimumCost(string source, string target, vector<char> &original, vector<char> &changed, vector<int> &cost) {int dis[26][26];memset(dis, 0x3f, sizeof(dis));for (int i = 0; i < 26; i++) {dis[i][i] = 0;}for (int i = 0; i < cost.size(); i++) {int x = original[i] - 'a';int y = changed[i] - 'a';dis[x][y] = min(dis[x][y], cost[i]);}for (int k = 0; k < 26; k++) {for (int i = 0; i < 26; i++) {for (int j = 0; j < 26; j++) {dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]);}}}long long ans = 0;for (int i = 0; i < source.length(); i++) {int d = dis[source[i] - 'a'][target[i] - 'a'];if (d == 0x3f3f3f3f) {return -1;}ans += d;}return ans;}
};

转换字符串的最小成本 II 6

  • 题意
    在这里插入图片描述
  • 思路
    在这里插入图片描述
  • 代码
int f[200005][26], g[200005];class Solution {
public:long long minimumCost(string source, string target, vector<string>& original, vector<string>& changed, vector<int>& cost) {int n = original.size() * 2;long long d[n][n];memset(d, 0x3f, sizeof(d));long long inf = 0x3f3f3f3f3f3f3f3fll;int p = 1;memset(f[0], -1, sizeof(f[0]));g[0] = -1;auto insert = [&](string& s) {int cur = 0;for(char c : s) {if(f[cur][c-'a'] == -1) {f[cur][c-'a'] = p;memset(f[p], -1, sizeof(f[p]));g[p] = -1;p++;}cur = f[cur][c-'a'];}return cur;};int m = 0;for(int i = 0; i < original.size(); ++i) {int from = insert(original[i]), to = insert(changed[i]);if(g[from] == -1)g[from] = m++;if(g[to] == -1)g[to] = m++;d[g[from]][g[to]] = min(d[g[from]][g[to]], (long long)cost[i]);}for(int k = 0; k < m; ++k) {for(int i = 0; i < m; ++i) {for(int j = 0; j < m; ++j) {d[i][j] = min(d[i][j], d[i][k] + d[k][j]);}}}long long dp[source.size() + 1];dp[source.size()] = 0;for(int i = source.size() - 1; i >= 0; --i) {dp[i] = inf;if(source[i] == target[i])dp[i] = dp[i+1];for(int j = i, cur1 = 0, cur2 = 0; j < source.size(); ++j) {cur1 = f[cur1][source[j]-'a'];cur2 = f[cur2][target[j]-'a'];if(cur1 == -1 || cur2 == -1) break;if(g[cur1] != -1 && g[cur2] != -1)dp[i] = min(dp[i], d[g[cur1]][g[cur2]] + dp[j+1]);}}if(dp[0] >= inf) return -1;return dp[0];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

postman的下载安装和使用

第一章、使用postman向后端发送请求 1.2&#xff09;postman下载与安装使用 我的百度网盘postman点击下载 提取码&#xff1a;bybp 下载后双击.exe文件直接安装 点击此次创建集合 点击此处创建请求 1.2&#xff09;发送get请求 选择自己的请求方式&#xff0c;输入请求…

Uboot

这里写目录标题 什么是Bootloader?Bootloader启动流程NAND Flash uboot是怎么和内核完成参数传递的&#xff1f; 什么是Bootloader? Linux系统要启动就必须需要一个 bootloader程序&#xff0c;也就说芯片上电以后先运行一段bootloader程序。 这段 **bootloader程序会先初始…

使用 FFmpeg 清除文件夹下所有 .mp4 文件声音

运行以下命令来清除声音&#xff1a; ffmpeg -i input.mp4 -c copy -an output.mp4这个命令会将 “input.mp4” 替换为你要处理的 .mp4 文件名。它会生成一个新的文件名为 “output.mp4” 的文件&#xff0c;该文件是没有声音的副本。 如果你想要直接替换原始文件&#xff0c;…

【网络编程】基于UDP数据报实现回显服务器程序

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 前言 我们如果…

互联网+建筑工地:技术革新引领建筑行业的未来

随着科技的飞速发展&#xff0c;互联网正日益渗透到建筑工地的方方面面。从设计、施工到管理&#xff0c;互联网建筑工地的深度融合不仅推动了建筑行业的数字化转型&#xff0c;还为工地管理、信息交流、安全监控等带来了全新的解决方案。本文将介绍互联网建筑工地的几个关键技…

java.lang.EnumConstantNotPresentException

枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象&#xff0c;但该枚举对象并不包含常量时&#xff0c;抛出该异常 1.遇到的问题是我删除了带有CustomAnnotation注解的类,启动服务器还是会抛出异常 2.首先全局搜索了相关的枚举名字 确认没有引用。后发现项目…

keras 人工智能之VGGNet神经网络的图片识别训练

上期文章我们分享了如何使用LetNet体系结构来搭建一个图片识别的神经网络: 人工智能Keras的第一个图像分类器(CNN卷积神经网络的图片识别) 本期我们基于VGGNet神经网络来进行图片的识别,且增加图片的识别种类,当然你也可以增加更多的种类,本期代码跟往期代码有很大的相…

【MySQL】:超详细MySQL完整安装和配置教程

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. MySQL数据库1.1 版本1.2 下载1.3 安装1.4 客户端连接 &#x1f324;️全篇总…

LaTex设置标题页、修改文字颜色和文字高亮

目录 一、标题页 1&#xff09;常用的代码 2&#xff09;添加脚注 二、修改文字颜色和文字高亮 1&#xff09;设置文本的颜色 2&#xff09;添加文本高亮 3&#xff09;给文本添加有颜色的方框 一、标题页 主要的代码&#xff1a; \begin{titlepage} \noindent\fonts…

如何实现https密钥对登录方式

先安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo systemctl start docker.service systemctl enable docker.service yum install -y docker…

Kali Linux—借助 SET+MSF 进行网络钓鱼、生成木马、获主机shell、权限提升、远程监控、钓鱼邮件等完整渗透测试(一)

社会工程学—世界头号黑客凯文米特尼克在《欺骗的艺术》中曾提到&#xff0c;这是一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段。 SET最常用的攻击方法有&#xff1a;用恶意附件对目标进行 E-mail 钓鱼攻击、Java Applet攻…

nosql-redis整合测试

nosql-redis整合测试 1、创建项目并导入redis2、配置redis3、写测试类4、在redis中创建key5、访问80826、在集成测试中测试方法 1、创建项目并导入redis 2、配置redis 3、写测试类 4、在redis中创建key 5、访问8082 6、在集成测试中测试方法 package com.example.boot3.redis;…

SpringMVC之跨域请求

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 SpringMVC之跨域请求 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是同源策略…

doris基本操作,04-表结构的变更

整体思路 因为doris完全兼容mysql协议&#xff0c;因此操作上基本与mysql没有太大区别&#xff0c; 之需要注意与doris相关的关键字即可&#xff0c;如&#xff1a;预聚合&#xff0c;key等 当前表结构 create table table1 {siteid int default 10,citycode smallint,usern…

HarmonyOS 签名打包Hap(s)、App(s)

1. 基本概念 HarmonyOS应用通过数字证书&#xff08;.cer文件&#xff09;和Profile文件&#xff08;.p7b文件&#xff09;来保证应用的完整性&#xff0c;数字证书和Profile文件可通过申请发布证书和Profile文件获取。   申请数字证书和Profile文件前&#xff0c;首先需要通…

渗透测试——1.2被动扫描

一、概念 目标无法觉察的情况下进行的信息收集。公开渠道可获得的信息&#xff0c;与目标系统不产生直接交互&#xff0c;尽量避免留下一切痕迹。 二、CDN&#xff08;content delivery netword内容分发网路&#xff09; 多台边缘服务器提供网络服务&#xff0c; 三、WAF&am…

docker-compose 安装Sonar并集成gitlab

文章目录 1. 前置条件2. 编写docker-compose-sonar.yml文件3. 集成 gitlab4. Sonar Login with GitLab 1. 前置条件 安装docker-compose 安装docker 创建容器运行的特有网络 创建挂载目录 2. 编写docker-compose-sonar.yml文件 version: "3" services:sonar-postgre…

地图导航测试点总结

地图导航是我们经常使用的工具&#xff0c;能帮助我们指引前进的方向。 接下来&#xff0c;会从功能测试、UI测试、兼容测试、安全测试、网络测试、性能测试、易用性测试、文档和国际化语言测试8个方面来编写地图导航测试用例。 一、功能测试 1. 输入起点和终点&#xff0c;…

CSS样式斜切边

html部分 <div class"rectangle"></div> 样式一&#xff1a; .rectangle { width: 251px; height: 75px; background: linear-gradient(-135deg, transparent 52px, #ffffff 0) top right; background-size: 100% 100%; background-repeat: no-repeat; b…

德思特分享丨V2X在做什么?连接未来智能出行的车联网(下)

来源&#xff1a;德思特测试测量 德思特分享丨V2X在做什么&#xff1f;连接未来智能出行的车联网&#xff08;下&#xff09; 原文链接&#xff1a;https://mp.weixin.qq.com/s/yEoCrLls-xuaF4CvVT2_zQ 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 在之前的文章中…