牛客练习赛132

news/2024/12/2 20:41:17/文章来源:https://www.cnblogs.com/hanbaodao/p/18578759

题目:A 春

链接:A-春_牛客练习赛132

思路:只需要把最短的两条分别放在最两端即可。最短的两条只需要计算一次(所有的等腰梯形的上底和下底全部算上,这两条只需要加一次),其他的都需要加上两次。

代码:

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
#define ll long long
int main()
{int n;cin>>n;vector<int> a(n);for(int i=0;i<n;i++){cin>>a[i];}sort(a.begin(),a.end());if(n>1){swap(a[1],a.back());//两个最小值放一前一后}ll ans=0;for(int i=0;i<n-1;i++){ans+=a[i]+a[i+1];}if(ans&1) cout<<ans/2<<".50";//奇数else cout<<ans/2<<".00";return 0;
}

题目:B 江

链接:B-江_牛客练习赛132

思路:排序去重后,使用双指针算法,尽可能使用上鬼牌,所有区间的最大值就是答案

代码:

#include <bits/stdc++.h>
#define maxn 500005
using namespace std;int n, m, k;
int a[maxn];int main()
{ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);cin >> n >> m >> k;vector<int> v;for(int i = 1; i <= n; i++) {int x;cin >> x;v.push_back(x);}sort(v.begin(), v.end());v.erase(unique(v.begin(), v.end()), v.end());// 去除vector v中的重复元素n = v.size();//更新元素个数int ans = 0;for(int l = 0, r = 0; l < v.size(); l++){while(r + 1 < v.size() &&// 尝试扩展右边界r,直到不能满足条件为止v[r + 1] - v[l] + 1 - (r - l + 2) <= k) r++;//(区间长度 - 不同元素数量) <= k//[l, r+1]内最多可以有的重复元素数量ans = max(ans, k + r - l + 1);}cout << min(ans, m);return 0;
}

题目:C 水

链接:C-水_牛客练习赛132

思路:所有情况减去不是美丽图的情况(不能平分)即为答案

代码:

#include<bits/stdc++.h>
using namespace std;#define pb emplace_back
#define mp make_pairusing ll = long long;
using pii = pair<int,int>;constexpr int mod = 1e9 + 7;
constexpr int inf = 0x3f3f3f3f;
constexpr int N = 1e7 + 10;ll pow_mod(ll x, int p){ll s = 1;while(p){if(p & 1) s = s * x % mod;x = x * x % mod;p >>= 1;}return s;
}
ll fac[N];////阶乘数组
ll rev[N];//逆元数组
ll C(int n, int m){// 计算组合数 C(n, m) % modif(n < m) return 0;return fac[n] * rev[m] % mod * rev[n-m] % mod;
}void _main(){// 初始化阶乘数组fac[0] = 1;for(int i=1; i<N; ++i)  fac[i] = fac[i-1] * i % mod;// 初始化逆元数组rev[N-1] = pow_mod(fac[N-1], mod - 2);//计算最大阶乘的逆元for(int i=N-1; i>0; --i)  rev[i-1] = rev[i] * i % mod;int T, n, k;cin >> T;while(T--){cin >> n >> k;if(n & 1){cout << "0\n";} else {ll ans = C(n, k) - C(n / 2, k) * pow_mod(2, k) % mod;if(ans < 0) ans += mod;cout << ans << '\n';}}
}int main(){ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);_main();return 0;
}

 

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

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

相关文章

使用Tauri创建桌面应用

当前是在 Windows 环境下 1.准备系统依赖项Microsoft C++ 构建工具WebView2 (Windows10 v1803 以上版本不用下载,已经默认安装了)下载安装 Rust 下载安装 Rust 需要重启终端或者系统重新打开cmd,键入rustc --version,出现 rust 版本号,说明安装成功 2.开始 #npm npm create…

【windows工作合集】 远程连接出现问题记录

问题记录:由于需求要登录本地windows的虚拟机 但是在输入用户信息/密码都正确的情况下出现上面截图的问题 于是就百度进行查阅解决--主要就是说我这边机器可能是因为系统更新或者一些注册表的问题导致信息对不上,所以被认为无法登录 (系统更新。微软系统补丁的更新将 CredSSP…

AGC032 VP记录

A 17:35 +0 B 39:51 +0 C 80:28 +4 A.Limited Insertion 简要题面: 最初有一个空序列,每次操作选定一个 \(i\) 并把 \(i\) 插入到位置 \(i\) ,给定最终序列,构造一种合法方案或者输出 -1 。 \(n \leq 100\) 做法: 简单思考发现每次操作出来的数一定从后往前对应了最终序列…

高级语言程序设计第十次作业

代码写的最长的一题,写了十五分钟,数据类型还写错了使用ftell与fseek的组合来计算字节数,跟上面的一题类似这题因为我没创建相关的文件所以输出是这样,但是创建了之后是可以成功写入的可以将输入内容复制通过c语言程序这个也是复制的一个用法同样通过ftell与fseek来计算字节…

H5-15 H5里面的CSS

1、CSS 简介使用CSS的目的就是让网页具有美观一致的页面 2、CSS概念CSS (Cascading Style Sheets)层叠样式表,又叫级联样式表,简称样式表CSS文件后缀名为 .cssCSS用于HTML文档中元素样式的定义 3、为什么需要CSS使用css的目的就是让网页具有美观一致的页面 4、语法CSS规则由…

实验5 继承和多态

实验任务三 源码1 #pragma once2 #include<iostream>3 #include<string>4 5 using std::string;6 using std::cout;7 using std::endl;8 9 //电子宠物类 10 class MachinePets { 11 private: 12 string nickname; 13 public: 14 MachinePets(const string&…

idea创建web项目并连接数据库

1.在idea中连接数据库在连接的数据库中,可以写SQL语句,创建数据库、表等。 2.我的项目结构---学生请假系统Dao层:写一个学生实体类 Servlet层:业务层具体的怎么实现相关操作 1)最开始加上这个之后就不用配置映射文件了 2)然后是这个就不用另外的建立连接了 3)在resouces…

chrome 替换network中的返回内容,用以跨步调试

在开发调试中,有时候,某个接口,或者文件返回内容有问题,但线上的文件没问题。这时候就可以通过更改network中返回内容来实现跨步调试了。 test.html<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta n…

天梯赛 L2-004 这是二叉搜索树吗? 数据结构

反思:使用指针前先分配内存。#include<bits/stdc++.h> using namespace std; typedef struct node {int data;struct node* left;struct node* right; }*T; queue<int>q1; queue<int>q2; queue<int>q3; T result; void built1(T &t,int x) {if(t=…

Qt nativeEvent 不触发/不执行/无效

在做触摸屏项目的时候,各种控件都需要实现监听/触发点击事件,通常是通过信号/槽、事件过滤器(eventFilter)、重写mousePressEvent。 发现在QSpinBox中点击编辑框时不会触发任何鼠标相关点击事件。查资料发现通过重写nativeEvent函数可以拿到鼠标相关事件,不过有一个坑需要注…

testnet 资产管理系统 侦察|扫描|信息收集|网络空间搜索

TestNet简介 TestNet资产管理系统旨在提供全面、高效的互联网资产管理与监控服务,构建详细的资产信息库。 该系统能够帮助企业安全团队或渗透测试人员对目标资产进行深入侦察和分析,提供攻击者视角的持续风险监测,协助用户实时掌握资产动态,识别并修复安全漏洞,从而有效收…

记录---前端实现画中画超简单,让网页飞出浏览器

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣Document Picture-in-Picture 介绍今天,我来介绍一个非常酷的前端功能:文档画中画 (Document Picture-in-Picture, 本文简称 PiP)。你有没有想过,网页上的任何内容能悬浮在桌面上?😏 🎬 视频流媒体的画中画功能你…