2024.12.11 周三

news/2024/12/12 13:35:35/文章来源:https://www.cnblogs.com/jkkk/p/18602242

2024.12.11 周三


Q1. 1100

给定一长度为 $n$ 的数组,你需要执行 $k$ 次操作:每次选择一连续子数组(可为空),将和作为一元素放到到数组的任意位置。问最后数组和的最大值。

Q2. 1100

给你一长度为$2n$的数组$a$,$1$~$n$各出现2次。让你找出两个大小为$2k$集合$l$,$r$,其中$l$属于$a$1至$a$n,$r$属于$a$n+1至$a$2n。满足$l$异或和等于$r$异或和。

Q3. 1000

Rudolf has an array $a$ of $n$ integers.
In one operation, he can choose an index $i$ ($2 \le i \le n - 1$) and assign:

  • $a_{i - 1} = a_{i - 1} - 1$
  • $a_i = a_i - 2$
  • $a_{i + 1} = a_{i + 1} - 1$

Rudolf can apply this operation any number of times. Any index $i$ can be used zero or more times.

Can he make all the elements of the array equal to zero using this operation?

Q4. 1100

给你一长度为$n$的数组,$x$为0,$i$:1~n,找到大于$x$且为$a$i倍数的数,更新$x$。

------------------------独自思考分割线------------------------

A1. 2点

1.第一次操作必然是选择最大连续子数组,然后将其放到最大连续子数组内。

2.以后的操作就可以看作最大和一变二,二变四的过程。

A2. 2点

1.发现$a$1至$a$n这一侧单独出现的数字与右侧相同。

2.同时出现$2$次的数异或和为0。可以先使用出现$2$次的数构造,不够再使用单次出现的数构造。

A3. 1点

1.遍历贪心去减,不够减/最后没减为0则NO

A4. 2点

1.快速找到大于$x$的$a$i的倍数,直接枚举显然不可行。二分当然可以。

2.数学当然ok,$k$$a$i>x,=>$k$>=$x$/$a$i,==>k=$x$/$a$i+1,取整的时候注意一下,答案就是$k$$a$i

------------------------代码分割线------------------------

A1.

#include <bits/stdc++.h>
#define int long long //
#define endl '\n'     // 交互/调试 关
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(6);int T = 1;cin >> T;while (T--)_();return 0;
}
const int mod = 1e9 + 7;
int qm(int a, int b)
{int res = 1;while (b){if (b & 1)res = res * a % mod; // 不要取模时记得取消a = a * a % mod;b >>= 1;}return res;
}
int inv(int n)
{return qm(n, mod - 2);
}void _()
{int n, k;cin >> n >> k;int pre = 0, min_pre = 0, max_rangesum = 0;for (int i = 0; i < n; i++){int x;cin >> x;pre += x;max_rangesum = max(max_rangesum, pre - min_pre);min_pre = min(min_pre, pre);}int res = (max_rangesum % mod * qm(2, k)) % mod;res = (res + pre % mod - max_rangesum % mod + (int)(1e7) * mod) % mod;cout << res << endl;
}

A2.

#include <bits/stdc++.h>
#define int long long //
#define endl '\n'     // 交互/调试 关
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(6);int T = 1;cin >> T;while (T--)_();return 0;
}
void _()
{int n, k;cin >> n >> k;vector<int> l(n + 1);for (int i = 0; i < n; i++){int x;cin >> x;l[x]++;}for (int i = 0; i < n; i++){int x;cin >> x;}set<int> db_l, db_r, sgal;for (int i = 1; i <= n; i++)if (!l[i])db_r.insert(i);else if (l[i] == 1)sgal.insert(i);elsedb_l.insert(i);vector<int> res_l, res_r;auto get = [&](vector<int> &res, set<int> &l){for (auto x : l)if (res.size() < k << 1)res.push_back(x), res.push_back(x);for (auto x : sgal)if (res.size() < k << 1)res.push_back(x);};get(res_l, db_l);get(res_r, db_r);for (auto v : res_l)cout << v << ' ';cout << endl;for (auto v : res_r)cout << v << ' ';cout << endl;
}

A3.

#include <bits/stdc++.h>
#define int long long //
// #define endl '\n'     // 交互/调试 关
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(6);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n;cin >> n;vector<int> a(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];int f = 1;for (int i = 1; i + 2 <= n; i++){if (a[i + 1] < a[i] << 1 || a[i + 2] < a[i])f = 0;a[i + 1] -= a[i] << 1;a[i + 2] -= a[i];}if (a[n - 1] || a[n])f = 0;cout << (f ? "YES" : "NO") << endl;
}

A4.

#include <bits/stdc++.h>
#define int long long //
#define endl '\n'     // 交互/调试 关
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(6);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n;cin >> n;int x;cin >> x;int res = x;for (int i = 2; i <= n; i++){cin >> x;int k = res / x + 1;res = x * k;}cout << res << endl;
}

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

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

相关文章

图模型的训练和推理以及成员推理攻击的实现

graph_model 2024年10月14日更新 在此教程中,我们将对深度学习中的图模型及其原理进行一个简单的介绍,并实现一种图模型的训练和推理,至少支持三种数据集,目前支持数据集有:Cora、CiteSeer、PubMed等,并给用户提供一个详细的帮助文档。 目录 基本介绍目前存在的问题 现有…

一套以用户体验出发的.NET8 Web开源框架

前言 今天大姚给大家分享一套以用户体验出发的.NET8 Web开源框架:YiFramework。 项目介绍 YiFramework是一个基于.NET8 + Abp.vNext + SqlSugar 的DDD领域驱动设计后端开源框架,前端使用Vue3,项目架构模式三层架构\DDD领域驱动设计,内置RBAC权限管理、BBS论坛社区系统 以用…

链表的一步步实现(需有一部分c语言基础)【缓慢更新中

链表的一步步实现(需有一部分c语言基础) (由于本人上课实在没学懂链表的具体实现步骤,于是写下这篇博客记录学习过程,有兴趣的新手也可以跟着学习 1.认识链表的结构&创建简单静态链表并输出数据 Q:什么是链表? A:链表是由一系列节点组成,每个节点包含两个域,一个…

VGGNet模型的训练和推理

VGGNet 2024年5月10日更新 在此教程中,我们将对VGGNet模型及其原理进行一个简单的介绍,并实VGGNet模型的训练和推理,目前支持数据集有:MNIST、fashionMNIST、CIFAR10等,并给用户提供一个详细的帮助文档。 目录 基本介绍VGGNett描述 创新点 网络结构 VGGNet的特点VGGNet实现…

ResNet模型的训练和推理

ResNet 2024年5月7日更新 在此教程中,我们将对ResNet模型及其原理进行一个简单的介绍,并实现ResNet模型的训练和推理,目前支持数据集有:MNIST、fashionMNIST、CIFAR10等,并给用户提供一个详细的帮助文档。 目录 基本介绍ResNet描述 为什么要引入ResNet? 网络结构分析ResN…

转载:【AI系统】AI编译器前瞻

本文首先会基于 The Deep Learning Compiler: A Comprehensive Survey 中的调研做一个热门 AI 编译器的横向对比,并简要介绍几个当前常用的 AI 编译器。随后会分析当前 AI 编译器面临的诸多挑战,并展望 AI 编译器的未来。 业界主流 AI 编译器对比 在 The Deep Learning Compi…

Docker部署Mikochi,轻松管理文件上传下载

1.基本条件 (1)准备一台服务器 (2)部署docker、docker-compos服务 (3)创建数据储存目录mkdir -p /data/mikochi/data 2.部署mikochi[root@localhost mikochi]# cat docker-compose.yaml version: 3.7services:mikochi:image: zer0tonin/mikochi:1.7.0container_name: m…

[QT] MAC使用Qt Creator运行程序如何仅运行一个进程?

问题背景刚开始在 Mac 使用 QT Creator 运行项目时会发现每次 Run 程序都出现一个新的任务进程,而非类似 Windows 环境下是先 stop 之前的进程再创建。那么如何每次run后,就关闭上一次的进程,而重新拉起新进程呢? 解决方案

Windows 配置自动更新重启策略

I. 打开策略编辑器 【Win + R】打开 “运行” 窗口,输入: gpedit.msc打开“本地组策略编辑器”。 II. 设置不自动重启 启用策略,选择在你任何想要重启的时候重启计算机。III. 重启计算机 重启计算机,完成配置。

笔记本电脑蓝屏 硬盘损坏数据恢复

当笔记本电脑出现蓝屏故障,并且怀疑硬盘已损坏需要恢复数据时,可以参考以下步骤和建议: 一、初步处理 断开电源:在尝试任何数据恢复操作之前,首先要断开笔记本电脑的电源,以避免进一步的数据损坏或丢失。 评估蓝屏原因:蓝屏可能是由驱动程序错误、系统文件损坏、硬件故障…

.NET Core 堆结构(Heap)底层原理浅谈

https://www.cnblogs.com/lmy5215006/p/18583743 .Net托管堆布局加载堆 主要是供CLR内部使用,作为承载程序的元数据。HighFrequencyHeap存放CLR高频使用的内部数据,比如MethodTable,MethodDesc.通过is判断类型之间的继承关系,调用接口的方法和虚方法,都需要访问MethodTable…