第四届辽宁省大学生程序设计竞赛(正式赛)A B H F M C

news/2025/2/12 0:02:24/

牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)

A题,签到。

print(27)

B题,注意精度问题。将d除以100后,需要保证前4位是相同的,因为四舍五入,所以第五位可能需要进位或舍去。那么fabs(d - v)应该要小于5e-5,这样就保证了四舍五入后仍然是对的。如果是乘100,用四舍五入判断可能更简单(

void solve() {double d; cin>>d; d /= 100;for(int i = 1; i <= 10000; ++i) {for(int j = 1; j <= i; ++j) {double v = (double) j / i;if(fabs(v - d) <=5e-5) {cout<<i;return ;}}}
}

H题,判奇偶。

n = int(input())
for _ in range(n):a,b,c = list(map(int, input().split(' ')))if c % 2 == 0: print("Bob")else: print('Alice')

F题,感觉很经典,找一个点的前面最优和后面最优结果,最后取个max。

void solve() {int n; cin>>n;vector<int> a(n + 1), pre(n + 1), suf(n + 1);for(int i = 1; i <= n; ++i) cin>>a[i];for(int i = 1; i <= n; ++i) {for(int j = 1; j < i; ++j) {pre[i] = max(pre[i], min(a[i], a[j]) * (i - j));}}for(int i = n; i >= 1; --i) {for(int j = n; j > i; --j) {suf[i] = max(suf[i], min(a[i], a[j]) * (j - i));}}int ans = 0;for(int i = 1; i <= n; ++i) {ans = max(ans, pre[i] + suf[i]);}cout<<ans<<endl;
}

M题,算期望。直接组合数麻烦,但是每次只考虑单个合法字符串的概率容易实现。

const int mod = 1e9 + 7;
LL inv(LL x, LL mod) {if(x == 0 || x == 1) return x;return (mod - mod/x) * inv(mod % x, mod) % mod;
}
void solve() {int a,b,n; cin>>a>>b>>n;if(n < 5) {cout<<'0'<<endl;return ;}int iv = inv(b,mod);int p1 = a * iv % mod;int p0 = (1 - p1 + mod) % mod;cout<< (n - 4) * p0% mod * p0%mod * p1%mod * p1%mod *p1%mod<<endl;
}

C题,范围有点小。

感觉是个dp,因为有很多类似题面的dp题。(不会做,看题解补,

看到了一个是用优先队列的,就补了一下这题。

首先考虑,手动打死的怪一定是除它之外所用的爆炸伤害之和还小于它的生命值的,因为不管怎么弄,最坏情况是其他都死了,产生的爆炸伤害之和都没有把其炸死,那么它一定是要手动打死的。同时,对于爆炸伤害相同的怪,优先让血量高的先手动打死,因为爆炸伤害相同,打死血量高的,那么产生的爆炸伤害可能将血量低的炸死,而打死血量低的,能把血量高的炸死那么一定可以把血量低的炸死。

我们用两个优先队列来优先记录血量和爆炸伤害,还需要一个vis数组来判断是否这个下标对应的怪在之前已经死了。

代码如下:

void solve() {int n; cin>>n;vector<array<int,2>> a(n); // a, bvector<int> vis(n);int sum = 0, now = 0,cnt = 0;for(auto &t: a) cin>>t[0]>>t[1], sum += t[1];// 优先队列:一个优先爆炸值,血量; 一个优先血量auto cmp1 = [&](auto pre, auto suf) {if(pre[1] == suf[1]) return pre[0] < suf[0];return pre[1] < suf[1];};priority_queue<array<int,3>, vector<array<int,3>>, decltype(cmp1)> atk(cmp1);auto cmp2 = [&](auto pre, auto suf) {return pre[0] > suf[0];};priority_queue<array<int,3>, vector<array<int,3>>, decltype(cmp2)> hp(cmp2);// 找除它之外的所有爆炸值之和仍小于其血量的,手动处理for(int i = 0; i < n; ++i) {if(sum - a[i][1] >= a[i][0]) {atk.push({a[i][0], a[i][1], i});hp.push({a[i][0], a[i][1], i});} else {cnt++; vis[i] = 1;now += a[i][1];}}// 先将血量低于当前爆炸值的给处理掉// 再进行手动处理while(atk.size() && hp.size()) {while(hp.size() && now >= hp.top()[0]) {if(!vis[hp.top()[2]]) now += hp.top()[1];vis[hp.top()[2]] = 1;hp.pop();}while(atk.size() && vis[atk.top()[2]]) atk.pop();if(atk.empty() || hp.empty()) break;cnt++;now += atk.top()[1];vis[atk.top()[2]] = 1;atk.pop();}cout<<cnt<<endl;
}

L题,莫队。待补…


http://www.ppmy.cn/news/1201418.html

相关文章

Qt对Opengl的支持情况

Qt提供了对OpenGL的广泛支持&#xff0c;这对于开发需要复杂图形处理的机器视觉软件尤为重要。以下是Qt对OpenGL支持的一些关键方面&#xff1a; 1. 用户界面开发方法: Qt有两种主要的用户界面开发方式&#xff1a;Qt Quick和Qt Widgets。这两种方式都支持与OpenGL图形API的代…

DASCTF X CBCTF 2023|无畏者先行

前言 笔者没有参加此次比赛&#xff0c;由于团队后面会复现此次比赛&#xff0c;所以笔者在此进行复现记录。 EASYBOX 考点&#xff1a;命令执行&#xff1f; 栈溢出 附件给了 docker 环境&#xff0c;可以直接在本地复现&#xff0c;但是 docker 我不会调试&#xff0c;幸…

Flink SQL DataGen Connector 示例

Flink SQL DataGen Connector 示例 1、概述 使用 Flink SQL DataGen Connector&#xff0c;可以快速地生成符合规则的测试数据&#xff0c;可以在不依赖真实数据的情况下进行开发和测试。 2、使用示例 创建一个名为 “users” 的表&#xff0c;包含 6 个字段&#xff1a;id…

文献管理软件Zotero之入门篇(1)

文章目录 0、前言1、下载安装1.1、下载安装主程序1.2、下载安装浏览器插件 2、给Zotero添加插件以实现更多快捷功能2.1、插件安装方式2.2、插件获取方式2.2.1、直接在官网插件也下载2.2.2、在Zotero中文社区插件页下载 3、总结 0、前言 一直以来想找一个文献管理帮手&#xff…

掌握互联网的未来:5G时代的新机遇

随着5G技术的快速发展&#xff0c;我们正步入一个全新的互联网时代。5G不仅仅是速度的飞跃&#xff0c;它还代表着无限的可能性和前所未有的创新机遇。本文将探讨5G如何重新定义互联网&#xff0c;并为您提供洞察如何抓住这波科技浪潮。 5G技术的核心优势 超高速度&#xff1a…

【Web】在前端中,HTML<meta>标签

<meta>实例 <head><meta name"description" content"免费在线教程"><meta name"keywords" content"HTML,CSS,XML,JAVASCRIPT"><meta name"author" content"runoob"><meta char…

[C/C++]数据结构 链表OJ题: 反转链表

描述: 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表 示例: 方法一: 让链表指向反向 如图所示: 代码思路: struct ListNode* reverseList(struct ListNode* head) {struct ListNode* n1NULL;struct ListNode* n2head;struct ListNode*…

LLM之幻觉(一):大语言模型幻觉解决方案综述

论文题目&#xff1a;《Cognitive Mirage: A Review of Hallucinations in Large Language Models》 ​论文链接&#xff1a;https://arxiv.org/abs/2309.06794v1 论文代码&#xff1a;https://github.com/hongbinye/cognitive-mirage-hallucinations-in-llms 一、幻觉介绍 …