C++笔试强训day38

目录

1.天使果冻

2.dd爱旋转

3.小红取数


1.天使果冻

链接icon-default.png?t=N7T8https://ac.nowcoder.com/acm/problem/219641

一开始都可以想到将数组的前x个数拿出来排降序输出第二个数即可。

但是因为询问量和数据量都较大,每次询问一次都要排序一次数组,会超时,所以应该去想更优的解法:

预处理 / 动态规划

提前将前 i 个数的次大值存入dp表中,询问时直接读取dp表即可

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int N = 1e5 + 10;int n, t, x;
int a[N];
int dp[N];int main()
{cin >> n;for(int i = 1; i <= n; ++i)cin >> a[i];dp[2] = min(a[1], a[2]);int m = max(a[1], a[2]);for(int i = 3; i <= n; ++i){if(a[i] >= m){dp[i] = m;m = a[i];}else if(a[i] > dp[i - 1]){dp[i] = a[i];}else{dp[i] = dp[i - 1];}}cin >> t;while(t--){cin >> x;cout << dp[x] << endl;} return 0;
}

2.dd爱旋转

链接icon-default.png?t=N7T8https://ac.nowcoder.com/acm/problem/221786

模拟题,直接模拟的话可以自己草拟一遍,会发现很复杂,所以正解肯定不是直接模拟,要去寻找规律:

1.顺时针旋转180°  -》列对称一遍再行对称一遍

2.关于行镜像 -》如题意一样,行对称即可

因为每对称两次就会回到初始状态,因此可以模上2:

#include <iostream>using namespace std;const int N = 1010;
int n;
int g[N][N];void setRow() // ⾏对称
{for (int i = 0; i < n / 2; i++){for (int j = 0; j < n; j++){swap(g[i][j], g[n - 1 - i][j]);}}
}void setCol() // 列对称
{for (int j = 0; j < n / 2; j++){for (int i = 0; i < n; i++){swap(g[i][j], g[i][n - 1 - j]);}}
}int main()
{cin >> n;for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){cin >> g[i][j];}}int q, x;cin >> q;int row = 0, col = 0;while (q--){cin >> x;if (x == 1) row++, col++;else row++;}row %= 2; col %= 2;if (row) setRow();if (col) setCol();for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){cout << g[i][j] << " ";}cout << endl;}return 0;
}

3.小红取数

链接icon-default.png?t=N7T8https://www.nowcoder.com/practice/6a7b2b6c9e3a4f56b1db9f8ca08d889b?tpId=230&tqId=38958&ru=/exam/oj

类似01背包的dp问题:

最重要的老样子还是状态表示:

dp[i][j] :从前i个中挑选,总和 % k == j时,最大总和为多少

因此就可以推出前一个状态为的 j 为 j - a[i] % k

又因为可能会出现相减之后出现负数,因此可以用加上k后再除k(经常用到)的方法

即(j - a[i] % k + k)% k(可以防止出现负数以及加k后导致的超出范围

有了这几点,状态转移方程就非常好推了,只需要注意一下非法值的初始化即可

#include <iostream>
#define int long long
using namespace std;int n, k;
int a[1010];
int dp[1010][1010];signed main() {cin >> n >> k;for(int i = 1; i <= n; ++i)cin >> a[i];for(int i = 1; i <= k; ++i)dp[0][i] = -1;for(int i = 1; i <= n; ++i){for(int j = 0; j < k; ++j){dp[i][j] = dp[i - 1][j];if(dp[i - 1][(j - a[i] % k + k) % k] != -1)dp[i][j] = max(dp[i - 1][j], dp[i - 1][(j - a[i] % k + k) % k] + a[i]);}}if (dp[n][0] <= 0) cout << -1 << endl;else cout << dp[n][0] << endl;return 0;
}

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

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

相关文章

ai聊天机器人app的分享!有4个热门的软件!

在科技日新月异的今天&#xff0c;AI聊天机器人已经不再是遥不可及的科幻概念&#xff0c;而是实实在在走进了我们的日常生活。无论是工作中的信息查询&#xff0c;还是生活中的闲聊解闷&#xff0c;这些智能助手都能为我们提供便捷、高效的服务。那么&#xff0c;市面上都有哪…

含有嘧啶的光活性阳离子共轭微孔聚合物通过“吸附杀死”抗菌策略促进感染伤口愈合

引用信息&#xff1a; 文 章&#xff1a;Photoactive cationic conjugated microporous polymers containing pyrimidine with an adsorption-killantibacterial strategy for infected wound healing. 期 刊&#xff1a;Chemical Engineering Journal&#xff08;影响因子…

【MySQL】sql语句之库操作

序言 在上篇文章学习当中&#xff0c;我们认识了数据库的相关概念&#xff0c;以及MySQL的框架和基本使用等内容&#xff0c;总之对数据库有了一个大致的认识&#xff0c;那么本篇文章将开始关于sql语句的学习&#xff0c;本文主要是关于库的属性和操作的内容&#xff0c;简单可…

stm32下载驱动ST-LINK/V2驱动下载

http://www.openedv.com/docs/tool/dap/ST-LINKV2.html https://www.stmcu.com.cn/Designresource/detail/fi rmware_software/709492

电商风控指南:“仅退款”成部分商家梦魇,如何有效防控非法牟利

目录 “仅退款”成不法分子牟利新途径 各电商平台的“仅退款”条款模糊 商家如何防范“仅退款”的欺诈 “仅退款”服务已成为各大电商平台的“标配”。然而&#xff0c;以“薅羊毛”的方式谋取不当利益&#xff0c;给商家造成了经济和声誉上的双重损失&#xff0c;引发了广泛关…

CentOS-内网搭建FTP-Server

一、镜像选择 1、 Centos-everting或者DVD 2、7.5 7.6 7.9 均可 二、安装步骤 1、其余步骤和普通安装一致。 2、最重要的一步为“软件选择” 1、勾选FTP、文件以及存储服务器、性能以及开发工具。 三、FTPServer搭建 1、关闭防火墙 systemctl stop firewalld or 通过21和20…

机器视觉——找到物块中心点

首先先介绍一下我用的是HALCON中的HDevelop软件。 大家下载好软件后可以测试一下&#xff1a; 在程序编辑器窗口中输入下面指令&#xff1a; read_image(Image,monkey) 那么如果出现这样的图片&#xff0c;说明是没有问题的 那么本次编程采用的是下面这张图片 我们要达到的…

【论文复现|智能算法改进】基于改进麻雀算法的无线传感器网络覆盖优化研究

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】麻雀搜索算法&#xff08;SSA&#xff09;原理及实现 WSN数学模型 2.改进点 基于Sobol序列和ICMIC混沌映射的种群初始化 ICMIC是一种无线映射折叠次数的映射模型: { z n 1 sin ⁡ ( α π…

客户案例|Zilliz Cloud 助力点石科技转型 AI 智能服务商

福建点石科技网络科技有限公司成立于2010年&#xff0c;是国家高新技术企业&#xff0c;阿里云、蚂蚁金服等大厂海内外生态合作伙伴ISV。在餐饮、零售、酒店、旅游、商圈的行业定制化服务化上有深厚积累&#xff0c;在境内外做了大量标杆性软件项目&#xff0c;如东南亚RWS圣淘…

Python | 试卷刷题and基础笔记

1.下列转义字符中&#xff0c; 属于“回车”含义的是 \n 换行 \r 回车 2.for循环遍历字典 在Python中&#xff0c;你可以使用for循环来遍历字典的键&#xff08;keys&#xff09;、值&#xff08;values&#xff09;或者键-值对&#xff08;items&#xff09;。下面是三种遍历…

Postman接口测试笔记(超详细)

基于工具Poatman的接口自动化基础应用以及接口关联 一、什么是接口&#xff1f; 硬件接口&#xff1a;USB接口&#xff0c;投影仪接口&#xff0c;鼠标键盘接口 软件接口&#xff1a;称为API&#xff0c;主要使用于数据交互 软件接口分类&#xff1a; 内部接口&#xff1a…

树莓派5烧系统和ssh远程实现

1、硬件说明 树莓派5 64G micro SD卡读卡器 2、烧录系统过程记录 之前写过一篇pi4B烧录Ubuntu22.04的博客&#xff0c;这篇就简单记录备份下 2.1 去ubuntu官网在树莓派上安装Ubuntu | Ubuntu下载Ubuntu 桌面 24.04 LTS 我之前已经下好了就有个(1) 2.2 用读卡器把SD卡插到…

实战:一款唯美的个人主页-home2.0-2024.6.4(测试成功)

目录 文章目录 目录实验软件前提条件效果说明1、背景2、配置1、克隆代码库2、配置并构建镜像3、部署测试方案1&#xff1a;从docker容器拷贝生成的静态文件放到网站/目录方案2&#xff1a;启动容器&#xff0c;nginx里配置反向代理&#xff08;推荐&#xff09; 4、访问 3、总结…

全球首款AR电脑上线,可投影100英寸屏幕

近日&#xff0c;Sightful公司推出了一款名为Spacetop G1的革命性笔记本电脑&#xff0c;将AR技术与传统笔记本电脑巧妙融合&#xff0c;打造出令人惊叹的全新办公体验。 全球首款AR电脑上线&#xff0c;可投影100英寸屏幕 不同于传统笔记本电脑依赖物理屏幕显示内容&#xff0…

异常概述

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在程序运行过程中&#xff0c;经常会遇到各种各样的错误&#xff0c;这些错误统称为“异常”。这些异常有的是由于开发者将关键字敲错导致的&#xf…

重学java 63.IO流 字节流 ④ 文件复制

身处泥泞&#xff0c;看满山花开 —— 24.6.4 图片复制 分析 1.创建两个对象 FilelnputStream —>读取指定的文件 FileOutputStream —> 将读到的字节写到指定的位置 2.边读边写 import java.io.FileInputStream; import java.io.FileOutputStream;public class Demo…

2024年湖北省中级职称代申报不通过扣除手续费套路满满

2024年湖北省中级职称代申报不通过扣除手续费套路满满 建筑类中级职称&#xff0c;市场需求大。建筑企业、人才、工程项目招投标等等都需要一定数量的中级职称。建筑类中级职称申报一年1-2批次。湖北省不同地级市安排不同。湖北建筑类中级职称申报方式 1.公司内部组织申报&…

二进制安装Prometheus

从 https://prometheus.io/download/ 下载相应版本&#xff0c;安装到服务器上官网提供的是二进制版&#xff0c;解压就 能用&#xff0c;不需要编译 1、下载软件 [rootlocalhost ~]# wget -c https://github.com/prometheus/prometheus/releases/download/v2.45.5/prometheus…

训练Pytorch深度学习模型出现StopIteration

训练一个深度学习检测模型&#xff0c;突然出现&#xff1a; 是因为next(batch_iterator)&#xff0c;可能迭代器读出来的数据为空。 # load train data# 原先代码images, targets next(batch_iterator)# 更改为&#xff1a;try:images, targets next(batch_iterator)except…

LeetCode刷题之最大子数组

今天打算多做一题。 1、题目描述 2、逻辑分析 哈哈&#xff0c;这题我前两天在小红书刷到了&#xff0c;博主答不上来&#xff0c;一样的是&#xff0c;我也不知道怎么做。当时只看到评论说什么dp解法&#xff0c;看看题解怎么说。现在才反应过来dp dynamic programming &am…