学习总结二十九

公路维修问题

这里首先先明白题意,就是一段路分为m段,只需要分m-1次。我们先要解决的的问题是如何在合适的地方截断。案例给出,发现第一段的末与第二段的头的位置相差很大,而每一段的每个坑位相差不是很大 。,所以就知道如何截断。

#include<iostream>
#include<algorithm>
using namespace std;int main()
{int n, m;cin >> n >> m;int a[15005], b[15005];//a数组用来存坑的坐标,b数组用来记录相邻坑位的距离for (int i = 0; i < n; i++) {cin >> a[i];}int sum = 0;for (int i = 1; i < n; i++){b[i - 1] = a[i] - a[i - 1];}sort(b, b + n);//对b数组进行升序排序for (int i = 0; i < n - m + 1; i++){sum += b[i];}cout << sum + m;return 0;
}

第三个循环的意思是i<n-(m-1),以题目给出的代码为例,18个坑,算出每个坑的差值(没有管制的路段)并升序排序,去掉后面差值最大的三个(8-14,21-25,31-40),sum的值就代表不进行管制的路段的和。

最后输出sum+m。因为每一段距离等于两个坐标点相减再加一(但路不是坐标点,可以看成长度为一的线段,自己画图就理解了),有m段,再加m。 

faebdc玩扑克

感觉挺简单,但实现拿不到满分。第一次的代码(60):

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{int n;scanf("%d", &n);int a[100005];int k=0;for (int i = n; i > 0; i--){a[k++] = i;//倒序放入数组int temp = a[0];for (int j = 0; j < k - 1; j++){a[j] = a[j + 1];//数组依次向前移位}a[k - 1] = temp;//将第一个放到数组末尾,模拟。}for (int i = n-1; i >=0; i--){printf("%d ", a[i]);}return 0;
}

仔细观察发现:用1,2,3来举例,如果想要输出1,2,3,反推可得原来的序列为2,1,3。多举几个就会发现1永远会在第二号位。 

看题解就更加简洁了,大佬原话:从最后的状态向前推,发现每次操作就是向开头插入当前未在数组中的最大值,然后把数组尾元素插到数组头部。

拙劣模仿:

#include<iostream>
#include<queue>
using namespace std;
queue<int>a;
int s[1005], ans[1005];
int n;
int main()
{cin >> n;for (int i = 1; i <= n; i++) {a.push(i);}for (int i = 1; !a.empty(); i++)//模拟过程{a.push(a.front());a.pop();s[i] = a.front();a.pop();}for (int i = 1; i <= n; i++) {ans[s[i]] = i;}for (int i = 1; i <= n; i++) {cout << ans[i] << " ";}return 0;
}

以13为例,经过模拟:3,6,1,7,4,10,5,11,2,12,8,13,9。

举个例子,例如s[1]=3,那么ans[3]=1。大佬的虽然nb,但是难懂。我自己的又不行。。。

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

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

相关文章

C语言预处理艺术:编译前的魔法之旅

&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文一、预处理的作用与流程&#xff08;1&…

【go】交叉编译

发现go像是c&#xff0c;做后台还是比较好的 使用的是goland编辑器&#xff0c;可以在windows编译在linux上运行&#xff0c;配置如下&#xff1a; Goland中导入包标红但是能用解决办法 复制了一份项目代码task为task_bk&#xff0c;但是原来的task删除了&#xff0c;再次 把t…

防御综合实验

需求一 配置vlan [SW2]int g 0/0/2 [SW2-GigabitEthernet0/0/2]port link-type access [SW2-GigabitEthernet0/0/2]port default vlan 10 [SW2-GigabitEthernet0/0/2]int g0/0/3 [SW2-GigabitEthernet0/0/3]port link-type access [SW2-GigabitEthernet0/0/3]port default vl…

数据库高安全—数据保护:数据动态脱敏

书接上文数据库高安全—审计追踪&#xff1a;传统审计&统一审计&#xff0c;从传统审计和统一审计两方面对高斯数据库的审计追踪技术进行解读&#xff0c;本篇将从数据动态脱敏方面对高斯数据库的数据保护技术进行解读。 5.1 数据动态脱敏 数据脱敏&#xff0c;顾名思义就…

《艾尔登法环》运行时弹窗“由于找不到vcruntime140.dll,无法继续执行代码”要怎么解决?

宝子们&#xff0c;是不是在玩《艾尔登法环》的时候&#xff0c;突然弹出一个提示&#xff1a;“由于找不到vcruntime140.dll&#xff0c;无法继续执行代码”&#xff1f;这可真是让人着急上火&#xff01;别慌&#xff0c;今天就给大家唠唠这个文件为啥会丢&#xff0c;还有怎…

【Git】Failed to connect to github.com port 443: Timed out

由于DNS污染国内访问github经常会超时&#xff0c;参考网上的方法修改host文件绑定ip过段时间就失效了&#xff0c;这里介绍一个修改工具&#xff0c;通过修改本地host来绕过国内DNS解析实现连接 UsbEAm Hosts Editor UsbEAm Hosts Editor [多平台hosts修改] V3.63 – Dogfigh…

qml RoundButton详解

1、概述 RoundButton是QML&#xff08;Qt Modeling Language&#xff09;中的一种按钮控件&#xff0c;它继承自Button控件&#xff0c;并增加了一个特殊的属性——radius&#xff0c;用于设置按钮圆角的半径。这使得RoundButton能够呈现为带有圆角的形状&#xff0c;而不仅仅…

Django在终端创建项目(pycharm Windows)

1.选择目录 选择或新建一个文件夹&#xff0c;作为项目保存的地方 2.右键在终端打开 3.确定django-admin.exe安装位置 找到自己安装django时&#xff0c;django-admin.exe安装的位置&#xff0c;例如 4.运行命令 使用django-admin.exe的绝对路径&#xff0c;在刚才打开的终端…

Visual Studio 2022 中使用 Google Test

要在 Visual Studio 2022 中使用 Google Test (gtest)&#xff0c;可以按照以下步骤进行&#xff1a; 安装 Google Test&#xff1a;确保你已经安装了 Google Test。如果没有安装&#xff0c;可以通过 Visual Studio Installer 安装。在安装程序中&#xff0c;找到并选择 Googl…

Unity-Mirror网络框架-从入门到精通之LagCompensation示例

文章目录 前言什么是滞后补偿Lag Compensation示例延迟补偿原理ServerCubeClientCubeCapture2DSnapshot3D补充LagCompensation.cs 独立算法滞后补偿器组件注意:算法最小示例前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。本系列文章将为读者提供对Mir…

数据集成实例分享:金蝶云星空对接旺店通实现库存管理自动化

拆卸父项出库&#xff1a;金蝶云星空数据集成到旺店通企业奇门 在现代企业的运营过程中&#xff0c;数据的高效流动和准确处理至关重要。本文将分享一个实际案例&#xff0c;展示如何通过轻易云数据集成平台&#xff0c;将金蝶云星空的数据无缝对接到旺店通企业奇门&#xff0…

Git、Github和Gitee完整讲解:丛基础到进阶功能

第一部分&#xff1a;Git 是什么&#xff1f; 比喻&#xff1a;Git就像是一本“时光机日记本” 每一段代码的改动&#xff0c;Git都会帮你记录下来&#xff0c;像是在写日记。如果出现问题或者想查看之前的版本&#xff0c;Git可以带你“穿越回过去”&#xff0c;找到任意时间…

解锁 DeepSeek 模型高效部署密码:蓝耘平台深度剖析与实战应用

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

autMan奥特曼机器人-对接deepseek教程

一、安装插件ChatGPT 符合openai api协议的大模型均可使用此插件&#xff0c;包括chatgpt-4/chatgpt-3.5-turbo&#xff0c;可自定义服务地址和模型&#xff0c;指令&#xff1a;gpt&#xff0c;要求Python3.7以上&#xff0c;使用官方库https://github.com/openai/openai-pyt…

循环神经网络学习01——transformer:输入部分-嵌入层位置编码

一、介绍 1、核心思想 利用自注意力机制来捕获输入序列中各元素之间的全局依赖关系&#xff0c;无论这些元素之间的实际距离有多远。 自注意力机制&#xff1a;允许模型在处理序列的每个元素时&#xff0c;考虑到序列中的所有其他元素&#xff0c;从而捕捉它们之间的关系和依…

git rebase 和 git merge的区别

Rebase 可使提交树变得很干净, 所有的提交都在一条线上。 Merge 则是包含所有的调试记录&#xff0c;合并之后&#xff0c;父级的所有信息都会合并在一起 Rebase 修改了提交树的历史 比如, 提交 C1 可以被 rebase 到 C3 之后。这看起来 C1 中的工作是在 C3 之后进行的&#xf…

上马传奇新手起号攻略 上马传奇云手机开荒玩法

在上马传奇这款游戏中&#xff0c;我们可以选择合适的职业&#xff0c;参与各类玩法快速起号&#xff0c;今天就给大家一些攻略。 一、职业 1.游戏中的战士、法师、道士分别有三个分支&#xff0c;一共九个职业可以选择&#xff0c;选择之后不能转职&#xff0c;所以前期要慎重…

Redis 集群(Cluster)和基础的操作 部署实操篇

三主三从 集群概念 Redis 的哨兵模式&#xff0c;提高了系统的可用性&#xff0c;但是正在用来存储数据的还是 master 和 slave 节点&#xff0c;所有的数据都需要存储在单个 master 和 salve 节点中。 如果数据量很大&#xff0c;接近超出了 master / slave 所在机器的物理内…

【JavaScript】this 指向由入门到精通

this 的概念 this 在JavaScript 及其其他面向对象的编程语言中&#xff0c;存在的目的是为了提供一种在对象方法中引用当前对象的方式。 它为方法提供了对当前实例的引用&#xff0c;使得方法能够访问或者修改实例的成员变量。 注意点&#xff1a; this 的绑定和定位的位置…

C++ STL容器之vector的使用及复现

vector 1. 序列式容器 vector、list、deque、forward_list(C11)等STL容器&#xff0c;其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身&#xff0c;这样的容器被统称为序列式容器。 2. vector容器 vector使用模板作为参数&#xff0c;所以在使用的时候必须将模…