codeforces round 953 div2

news2024/11/24 22:24:37

A Alice and books 

题目:

思路:编号最大的肯定会被读到,所以在编号最大的这一组书中不能存在除去最大编号的外书外页数最大的书,并且在另一堆中这本书的编号也应该是最大值

代码:

#include <iostream>

using namespace std;

const int N = 110;

int n, a[N];

void solve() {
    cin >> n;
    for(int i = 1; i <= n; i ++ ) cin >> a[i];
    int ans = a[n];
    int res = 0;
    for(int i = 1; i <= n - 1; i ++ ) {
        res = max(res, a[i]);
    }
    cout << res + ans << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t;
    cin >> t;
    while(t -- ) {
        solve();
    }
    return 0;
}

B new bakery

问题:

思路:列出profit表达式后发现该表达式是二次函数,于是问题变成了求二次函数的最值,注意取值范围,求最值这个简单啊,模拟退火,爬山,这里是最简单的分类讨论。

代码:

#include <iostream>

using namespace std;

long long a, n, b;

void solve() {
    cin >> a >> n >> b;
    long long ans = 0;
    long long k = 0;
    if(min(n, b) <= (b - a)) {
        k = min(n, b);
        ans = k * (b + 1) - (k + 1) * k / 2 + a * (n - k);
    } else {
        k = b - a;
        ans = k * (b + 1) - (k + 1) * k / 2 + a * (n - k);
        long long res = 0;
        k ++;
        res = k * (b + 1) - (k + 1) * k / 2 + a * (n - k);
        ans = max(res, ans);
    }
    cout << ans << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t;
    cin >> t;
    while(t -- ) {
        solve();
    }
    return 0;
}

C manhattan permutations

问题:

思路:不难发现,假设最开始我们的答案permutation与原有序permutation一致,此时如果交换相邻元素会使得最终结果add 2如果岔开一个交换会使得结果add 4...类推后发现交换i,j号元素会使得结果add 2 * (j - i)。因此在构造序列时,我们可以先从当前可以选择交换的最大值的开始构造,即先交换可以交换的最远距离,若第一次交换i,j那么第二次的交换区间就变成了在(i +1)到(j - 1)内重复第一次交换的操作。现在感性的证明一下该结论主要证明的点是为什么要缩小范围,假设第一次交换为i,j。第二次交换为i + 1, j + 1两次交换总共使得答案增加了 (j - i) * 4 则说明第一次交换我们找到的点并不是最远可以交换的点。因此结论正确。注意,这里只是感性的理解,并不是理性的证明

代码:

#include <bits/stdc++.h>

using namespace std;

int n;
long long k;

void solve() {
   cin >> n >> k;
   long long tmp = k;
   vector<int> a(n + 1);
   vector<bool> st(n + 1, false);
   for(int i = 1; i <= n; i ++ ) a[i] = i;
   long long up = 0;
    for(int i = 1; i <= n + 1 >> 1; i ++ ) {
        up += abs(n - i + 1 - i) * 2;
    }

    if(k > up || k & 1) {
        cout << "No" << endl;
        return;
    }
    
    for(int i = 1, last = n; i <= n && k != 0 && i <= last; i ++ ) {
        int l = i, r = last;
        while(l < r) {
            int mid = l + r + 1 >> 1;
            if((mid - i) * 2 <= k) l = mid;
            else r = mid - 1;
        }
        swap(a[i], a[l]);
        k -= (l - i) * 2;
        last = l - 1;
        //cout << k << " ";
    }
    long long s = 0;
    for(int i = 1; i <= n; i ++ ) {
        s += abs(i - a[i]);
    }

    if(s != tmp) {
        cout << "No" << endl;
        return;
    }
    cout << "Yes" << endl;
    for(auto t: a) {
        if(t == 0) continue;
        cout << t << " ";
    }
    cout << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t;
    cin >> t;
    while(t -- ) {
        solve();
    }
    return 0;
}

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

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

相关文章

从“小IPD”到“大IPD”

IPD体系实施或变革是一个长期的系统工程&#xff0c;业界经常有从“小IPD”到“大IPD”的说法。 像华为当年就是从“产品开发流程”开始推行&#xff0c;算是很小范围的“小IPD”了&#xff0c;后面逐步扩大为“大IPD”&#xff0c;如上图所示。其中前端的市场管理&#xff08;…

【讲解下Pip换源】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

高危CNVD|用友-U8-OA基础版存在文件上传漏洞getshell

漏洞描述 用友U8-OA基础版存在任意文件覆盖写入漏洞 漏洞说明&#xff1a;用友U8-OA基础版因为代码问题&#xff0c;存在任意文件覆盖写入漏洞&#xff0c;可以覆盖写入系统中存在的文件&#xff0c;可getshell。FOFA指纹: body"致远" && "/yyoa/&quo…

产品经理必须要知道的电商项目搭建中需要用到的常见的电商API接口

今天主要分享产品经理设计电商类应用需要了解的常用API&#xff1f; 为什么产品经理需要了解常用电商API接口呢&#xff1f; 1.开需求会&#xff0c;提了新的需求&#xff0c;开发说&#xff0c;你这个需求太复杂&#xff0c;光接口就有20几个&#xff0c;按照排期根本做不完…

(四十二)Vue之路由及其基本使用Vue Router

文章目录 概念基本使用demo几个注意点 上一篇&#xff1a;&#xff08;四十一&#xff09;Vuex之模块化与命名空间 概念 在计算机科学和网络领域中&#xff0c;路由&#xff08;Routing&#xff09;是指确定数据包在网络中传输的路径和方式的过程。它涉及到根据源地址和目标地…

Leaflet地图实例

ReactTypeScript实例&#xff1a; import React, { useEffect, useRef } from "react"; import * as L from "leaflet"; import "leaflet/dist/leaflet.css";const App: React.FC () > {const mapRef useRef<HTMLDivElement>(null);…

RNN的变种们:GRULSTM双向RNN

上篇笔记记录到RNN的一个缺点&#xff1a;训练时会出现梯度消失&#xff0c;解决的办法是找到一个更优的计算单元。这里也有GRU和LSTM。 GRU&#xff08;Gated Recurrent Unit&#xff09;门控训练网络 什么是门控机制&#xff1f;就是对当前的输入进行一个筛选。门打开&…

如何优雅地限制textarea的输入字数?

大家好&#xff0c;我是瑶山&#xff0c;今天聊聊textarea textarea 有基础的同学都知道<textarea>是HTML中的一个标签&#xff0c;用于定义多行的文本输入控件。它允许用户在表单中输入多行文本&#xff0c;相较于单行输入框可以输入更多的内容。 但是&#xff0c;如果…

通过ModelScope开源Embedding模型将图片转换为向量

本文介绍如何通过ModelScope魔搭社区中的视觉表征模型将图片转换为向量&#xff0c;并入库至向量检索服务DashVector中进行向量检索。 ModelScope魔搭社区旨在打造下一代开源的模型即服务共享平台&#xff0c;为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品&#xf…

【MySQL】聊聊数据库是如何保证数据不丢的

对于一个存储系统来说&#xff0c;其中比较关键的核心组件包含&#xff0c;网络、存储模型、持久化、数据结构等。而数据如何保证不丢失&#xff0c;对于不同的存储系统来说&#xff0c;比如Redis采用AOF和RDB的方式进行混合使用&#xff0c;而MySQL采用日志进行保证。也就是re…

SQL注入-中篇

SQL盲注 一、时间盲注 模拟环境&#xff1a;Less-9 概述 延迟注入&#xff0c;一种盲注的手法&#xff0c;提交对执行时间敏感的sql语句&#xff0c;通过执行时间的长短来判断是否执行成功。 时间注入函数 sleep() if() ascii() substring() length() mid()判断是否存在延…

如何解决 NumPy 无法计算其中一个 5 元素列表的标准差的问题

问题背景 在使用 NumPy 计算统计结果时发现&#xff0c;NumPy 能够接受原始数据列表来计算标准差&#xff0c;却无法接受经过计算后的结果列表。尝试将 std(f10) 替换为 std(solf10)&#xff0c;但引发了错误&#xff1a;AttributeError: Float object has no attribute sqrt。…

【前端】 nvm安装管理多版本node、 npm install失败解决方式

【问题】If you believe this might be a permissions issue, please double-check the npm ERR! permissio或者Error: EPERM: operation not permitted, VScode中npm install或cnpm install报错 简单总结&#xff0c;我们运行npm install 无法安装吧包&#xff0c;提示权限问题…

Apache Royale

Apache Royale 顶级项目 Apache Royale 之前adobe的flex&#xff0c;由于浏览器flash&#xff0c;安全沙箱问题&#xff0c;逐步退出市场&#xff0c;当年flex也就是AS3&#xff0c;浏览器统一兼容问题又停止了。 接着要说明一点&#xff0c;HTML5的自适应是在flex之后&#x…

【正则表达式】入门

参考视频&#xff1a;10分钟快速掌握正则表达式_哔哩哔哩_bilibili 这个网站用来测试写的正则表达式效果&#xff1a;regex101: build, test, and debug regex 示例&#xff1a; 限定符 ? 表示前一个字符可有可无 比如这里输入&#xff1a;de? 匹配结果可以得到d和de * 前…

数据安全未来之路,天空卫士荣誉领榜《中国数据安全50强(2024)》

《中国数据安全50强&#xff08;2024&#xff09;》 数世咨询首份《中国数据安全50强&#xff08;2024&#xff09;》报告发布。天空卫士凭借其卓越的技术创新、市场领导力、业务收入能力和企业发展能力&#xff0c;在众多竞争者中脱颖而出&#xff0c;荣登50强榜单&#xff0…

26 红黑树

目录 1.概念 2.性质 3.节点定义 4.结构 5.插入 6.验证 7.删除 8.红黑树和avl树比较 9.应用 概念 是一种二叉搜索树&#xff0c;但在每个节点上增加一个存储位表示节点的颜色&#xff0c;可以是red或black。通过对任何一条从根到叶子的路径上各个节点着色方式的限制&#xff…

【嵌入式】适配大多数STM32的最小系统设计

大多数的参赛作品以及毕业设计中都仅仅简单的使用STM32F103最小系统板加上洞洞板或面包板。这样的设计虽然可以进行功能演示&#xff0c;但是由于市面上的最小系统板太过简单&#xff0c;并没有发挥出STM32系列MCU的强大功能&#xff0c;而且看起来很不美观&#xff0c;为了在参…

排序——快速排序

目录 思想 演示 代码实现 解释 优化 三数取中 小区间优化 补充 挖坑法 双指针法 非递归实现 思想 快速排序是一种二叉树结构的交换排序方法。 基本思想为&#xff1a;任取待排序元素序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&am…

从零开始理解 XML 和 JSON 的区别

在这篇文章中&#xff0c;我们将深入探讨XML和JSON这两种数据格式的关键异同点&#xff0c;以便读者可以根据项目需求做出明智的技术选择。 了解XML XML&#xff08;Extensible Markup Language&#xff09;是一种用于数据定义的标记语言&#xff0c;最初由万维网联盟&#x…