2024牛客寒假训练营1总结

G题不开long long的后果,即使有思路也没用。(给我气的)

 

E题,不看数据范围的后果,不能一题名取题啊。

 

using ll = long long;
void solve() {int n, m;std::cin >> n >> m;std::vector<int>a(n);for (int i = 0; i < n; i++) {std::cin >> a[i];}std::vector<int>u(m), v(m);for (int i = 0; i < m; i++) {std::cin >> u[i] >> v[i];u[i]--, v[i]--;}int ans = n;auto dfs = [&](auto self, int i)->void {if (i == m) {int res = 1;for (int j = 0; j < n; j++) {res += (a[j] > a[0]);}ans = std::min(ans, res);return;}for (auto [x, y] : { std::make_pair(3,0),{0,3},{1,1} }) {a[u[i]] += x;a[v[i]] += y;self(self, i + 1);a[u[i]] -= x;a[v[i]] -= y;}};dfs(dfs, 0);std::cout << ans << '\n';
}
int main() {std::ios::sync_with_stdio(false), std::cin.tie(0), std::cout.tie(0);int t;std::cin >> t;while (t--) {solve();}return 0;
}

 jiangly的代码,当中值得学习的是这个dfs,其中这个查找排名这个代码是我没想到的

无序序列中O(n)查找该数的排名。

for (int j = 0; j < n; j++) {res += (a[j] > a[0]);
}

看别人代码感觉很简单,自己写就写不出来(*/ω\*) 。

C题也是……ε=(´ο`*)))唉,o(╥﹏╥)o,鉴定为语文能力不好

Sc-Smin<=M,Sc=a1+……ak+……an+(n-k+1)*tc,Smin=a1+……ak+……an,两个一减不就是,p*tc=M吗,把tc除过去,如果p超过了n那就取n嘛,不然就取p嘛。真的服了自己这个脑子怎么就没想到这样写。稍微推导一下就出来了,虽然但是,这个读题能力怎么提升啊……

using i64 = long long;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int n, Q, tc;std::cin >> n >> Q >> tc;std::vector<int> t(n);std::vector<i64> s(n + 1);for (int i = 0; i < n; i++) {std::cin >> t[i];}std::sort(t.begin(), t.end());for (int i = 0; i < n; i++) {s[i + 1] = s[i] + t[i];}while (Q--) {i64 M;std::cin >> M;i64 c = std::min(1LL * n, M / tc);i64 ans = s[n - c] + tc;std::cout << ans << "\n";}return 0;
}

剩下的明天再更吧。不,睡醒了在更。

-----------------------------------------------------2024/2/3/1:10----------------------------------------------------------

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

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

相关文章

MATLAB矩阵的操作(第二部分)

师从清风 矩阵的创建方法 在MATLAB中&#xff0c;矩阵的创建方法主要有三种&#xff0c;分别是&#xff1a;直接输入法、函数创建法和导入本地文件中的数据。 直接输入法 输入矩阵时要以中括号“[ ]”作为标识符号&#xff0c;矩阵的所有元素必须都在中括号内。 矩阵的同行元…

C语言递归实现数字逆序输出

引言 在计算机编程中&#xff0c;递归是一种强大的工具&#xff0c;它允许函数在其定义内部调用自身。今天&#xff0c;我们将通过一个实例——使用递归函数实现数字的逆序输出&#xff08;如将1234输出为4 3 2 1&#xff09;来深入理解递归的应用和工作原理。 代码展示与解析…

【blender插件】(1)快速开始

特性 blender的python API有如下特性: 编辑用户界面可以编辑的任意数据(场景,网格,粒子等)。修改用户首选项、键映射和主题。运行自己的配置运行工具。创建用户界面元素,如菜单、标题和面板。创建新的工具。场景交互式工具。创建与Blender集成的新渲染引擎。修改模型的数据…

Linux---动静态库

动静态库的相关概念 静态库&#xff08;.a&#xff09;&#xff1a;程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库动态库&#xff08;.so&#xff09;&#xff1a;程序在运行的时候才去链接动态库的代码&#xff0c;多个程序共享使用库的…

1.27马尔科夫链,抽样蒙特卡洛模拟(逆转化方法,接受拒绝矩阵),马尔科夫链蒙特卡洛MCMC,隐马尔科夫(HMM(V算法剪枝优化),NLP)

马尔科夫链 蒙特卡洛法模拟 抽样&#xff0c;逆转换方法 就是说由系统自带的随机函数RANDOM&#xff0c;通过下面这个方法&#xff0c;可以变为对应的随机模拟函数 就是说要实现蒙特卡洛模拟&#xff0c;是要先有一个概率表达式&#xff0c;然后基于这个概率表达式&#xff0…

Java_简单实现无头单向非循环链表_简单实现LinkedList

文章目录 一、ArrayList的优缺点二、链表1.链表的概念及结构2.链表的分类1、单向或者双向2、带头或者不带头3、循环或者非循环 三、实现无头单向非循环链表1.定义接口2.定义MySingleList3.成员1、节点类&#xff08;定义在MySingList类里&#xff09;2、头节点引用 4.打印链表实…

Docker 容器卷

1、概念介绍 如果是CentOS7安全模块会比之前系统版本加强&#xff0c;不安全的会先禁止&#xff0c;所以目录挂载的情况被默认为不安全的行为&#xff0c;在SELinux里面挂载目录被禁止掉了&#xff0c;如果要开启&#xff0c;我们一般使用--privlegedtrue命令&#xff0c;扩大…

Framework - ActivityThread 应用启动UI渲染流程

一、概念 ActivityThread拥有 main(String[] agrs) 方法&#xff0c;作为程序的入口&#xff0c;是应用程序的初始化类。&#xff08;ActivityThread不是主线程&#xff0c;它在 main() 方法中实例化&#xff0c;是运行在主线程中。&#xff09;ApplicationThread是 ActivityT…

MySQL 中 int(1) 和 int(10) 会影响存储的长度吗

一、MySQL 中 int(1) 和 int(10) 在MySQL数据库设计中&#xff0c;经常会遇到 int 类型的字段&#xff0c;并会习惯性的指定长度&#xff0c;比如&#xff1a; int(1) 和int(10)&#xff0c;而一些新手可能会误解它们之间的关系&#xff0c;认为 int(10) 能够存储更多的数据。…

项目开发 多行编辑

问题 项目开发中&#xff0c;如何进行多行编辑 详细问题 笔者使用IDEA&#xff0c;Android Studio进行项目开发时&#xff0c;由于代码冗余&#xff0c;修改过程中若是逐一删除或编辑&#xff0c;效率相对低&#xff0c;如何进行多行删除或编辑 本文将提供IDEA&#xff0c;A…

【深度学习】基于PyTorch架构神经网络学习总结(基础概念基本网络搭建)

神经网络整体架构 类似于人体的神经元 神经网络工作原来为层次结构&#xff0c;一层一层的变换数据。如上述示例有4层&#xff0c;1层输入层、2层隐藏层、1层输出层神经元&#xff1a;数据的量或矩阵的大小&#xff0c;如上述示例中输入层中有三个神经元代表输入数据有3个特征…

C语言中的指针详解

大家好&#xff0c;今天给大家介绍C语言中的指针详解&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 **指针是C语言中的一个重要概念&#xff0c;它提供了一种直接访问内存地址…