3月26日ACwing每日一题

1262. 鱼塘钓鱼 - AcWing题库

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e2 + 7;
int n, t, a[N], d[N], l[N], spend[N];int get(int k) { // 在spend[i]的时间下在第个i鱼塘能调到的鱼的数量 return max(0LL, a[k] - d[k] * spend[k]); // 不可能出负数 // 修正:加上LL,确保比较的是long long类型
}int work(int n, int t) { // 表示t分钟内在前n个鱼塘种钓取得的最大值 int res = 0;memset(spend, 0, sizeof spend);//spend[i]表示在第i个鱼塘种花费的时间 for (int i = 0; i < t; i++) {//对于每一分钟int temp = 1; // 先假设在第一个鱼塘钓的最多:这一分钟给了第一个鱼塘 for (int j = 2; j <= n; j++) {if (get(temp) < get(j)) temp = j;//对于后面的鱼塘 如果能得到的更多 }res += get(temp); //加上得到鱼的数量 spend[temp]++; // 在这个鱼塘里面钓鱼的时间+1 } return res;
}void solve() {cin >> n;for (int i = 1; i <= n; ++i) {cin >> a[i];//a[i] 表示第一分钟第i个鱼塘可以吊到a[i]条鱼 }for (int i = 1; i <= n; ++i) {cin >> d[i];//表示每分钟减少d[i]个 }for (int i = 2; i <= n; i++) {cin >> l[i];//从起点到达 i所需要的时间 l[i] += l[i - 1]; // 表示从第一个鱼塘到第i个鱼塘路上花的总时间 }cin >> t;int ans = 0;for (int i = 1; i <= n; i++) {if (t - l[i] >= 0) { // 修正:判断是否t-l[i]为负数ans = max(ans, work(i, t - l[i]));}//如果能跑到 那就跑一下然后取最大只 }cout << ans << '\n'; // 修正:输出ansreturn;
}
signed main() {int tt = 1;while (tt--) {solve();}return 0;
}

 

4656. 技能升级 - AcWing题库 

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+7;
int n,m,sum=0;//sum用于记录全部的和 
int a[N],b[N];
bool check(int mid){//可以升级的能量值的上限 int res=0;for(int i=1;i<=n;i++){//对于每一个技能 if(a[i]>=mid){//如果可以大于边界值 res+=(a[i]-mid)/b[i]+1;//表示需要选择的次数 }}return res>=m;//与其他值扯上关系 
}
void solve(){cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i]>>b[i];int l=0,r=1e6;//表示每个技能可以升的能量边界值 while(l<r){//    二分只是为了得到这个可以做的边界值 int mid=l+r+1>>1;if(check(mid))l=mid;else r=mid-1;} //二分出来的r的意思是能量值>=r的都可以加上//可能冲覅 int ans=0,cnt=0;for(int i=1;i<=n;i++){//如果起始的值>=r if(a[i]>=r){int c=(a[i]-r)/b[i]+1;//数量int end=a[i]-(c-1)*b[i];cnt+=c;//cnt可能一次加的超过m ans+=(long long)(a[i]+end)*c/2; //(首项+尾项)*项数/2 }}//不管 反正减去小的,临界值的个数一定大于等于cnt-m个           cout<<ans-(cnt-m)*r; //可能cnt出来并不是直接等于m而是大于m return ;
}
signed main(){int t=1;while(t--)solve();return 0;
} 

看数据范围2e6可以二分 二分出可以加的能量值的临界值   然后遍历每个技能 加上选择的次数cnt 和增加的技能量ans cnt大于等于m 当cnt大于m时 cnt-m需要删除

下说明ans中后cnt-m个一定是边界值 假设取到l的次数为p次如果cnt+p<m  那么说明l-1也应该被取到 所以cnt+p>=m

 

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

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

相关文章

使用LLaVA模型实现以文搜图和以图搜图

本文将会详细介绍如何使用多模态模型——LLaVA模型来实现以文搜图和以图搜图的功能。本文仅为示例Demo&#xff0c;并不能代表实际的以文搜图和以图搜图的技术实现方案。 1、实现原理 使用多模态模型获取图片的标题和详细描述以文搜图功能&#xff1a;使用ES实现查询匹配&…

Qt 计算两条直线QLineF的重叠部分,如何存在则返回该直线

计算两条直线QLineF的重叠部分 效果 使用示例 QLineF intersection;bool isSuccess GetOverlapSegment(line1, line2, intersection);源码 // 判断两个QLineF对象在斜率相同时是否存在重叠部分 bool DoLineOverlapWithSameSlope(const QLineF& line1, const QLineF&…

为什么说用了10年C++的程序员也不敢说自己精通C++?

在编程领域&#xff0c;C无疑是一门具有极高复杂度和深度的语言&#xff0c;它以其卓越的性能、灵活性和广泛的应用范围赢得了众多开发者青睐。然而&#xff0c;一个现象令人深思&#xff1a;即使有程序员使用C长达十年之久&#xff0c;他们仍可能谦逊地表示自己并未真正“精通…

45个常用Linux 命令,让你轻松玩转Linux

Linux 的命令确实非常多&#xff0c;然而熟悉 Linux 的人从来不会因为 Linux 的命令太多而烦恼。因为我们仅仅只需要掌握常用命令&#xff0c;就完全可以驾驭 Linux。 接下来&#xff0c;让我们一起来看看都有那些常用的 Linux 命令吧&#xff01; 一、文件目录操作 1. ls 命…

Cartoon FX Remaster

“卡通FX重制”是一个风格化的粒子系统预制件集合。您可以使用附带的“卡通FX简易编辑器”轻松自定义每个效果的颜色和其他属性。 卡通FX Remaster是卡通FX包1的新版本,从头开始重新制作了全新的效果。 ⭐新:通过卡通FX重制捆绑包,以20%的折扣获得所有4个卡通FX重制包! 50多…

python.类

1.类用class定义 name等是属性 是成员变量 定义完类了要定义对象 class Student: #定义了一个Student的类nameNoneageNonegenderNonesdu1Student() #创建了一个Student类的对象 sdu1.nameleo sdu1.age20 sdu1.gendermaleprint(sdu1.name) print(sdu1.age) print(sdu1.…

网络工程师之交换机配置单臂 ECHO 功能的 BFD 会话篇

网络工程师之交换机配置单臂 ECHO 功能的 BFD 会话篇 配置单臂 ECHO 功能的 BFD 会话&#xff0c;实现对链路故障的快速检测 在支持BFD功能的路由上配置 bfd # 启用 BFD 功能&#xff1b;q退出 bfd atob bind peer-ip 10.1.1.2 interface gigabitEthernet1/0/0 one-…

【数据分享】1929-2023年全球站点的逐月平均海平面压力(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全球气象站…

Vue.js 3.4的新特性

Vue.js 3.4的新特性 目前&#xff0c;Vue.js的版本已经更新到3.4&#xff0c;这次更新不仅带来了性能上的飞跃&#xff0c;还引入了许多新特性&#xff0c;进一步优化了开发效率。 1. 性能提升 在性能方面&#xff0c;Vue.js 3.4 全新重写了模板解析器。与之前基于正则表达式…

Matlab从入门到精通课程

教程介绍 MATLAB是美国MathWorks公司出品的商业数学软件&#xff0c;用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人&#xff0c;控制系统等领域。 学习地址 链接&#xff1a;https://pan.baidu.com/s/1PxGarBwQusMzwPVqcE…

RAG笔记:常见问题以及解决方法

1 内容缺失 知识库中缺少必要的上下文信息。当知识库没有包含正确答案时&#xff0c;RAG 系统可能会给出一个貌似合理但实际上错误的回答&#xff0c;而不是明确表示它不知道答案。 1.1 解决方法 1.1.1 设置阈值 在回答问题前先设定一个质量标准。如果召回内容达不到标准或…

Vulnhub:DR4G0N B4LL: 1

目录 信息收集 1、arp 2、nmap WEB web信息收集 gobuster 隐藏目录发现 图片隐写 ssh登录 提权 get user 系统信息收集 get root 信息收集 1、arp ┌──(root㉿ru)-[~/kali/vulnhub] └─# arp-scan -l …

基于yolov8安全帽检测的系统

基于yolov8安全帽检测的系统 项目描述&#xff1a; 安全头盔检测&#xff08;计算机视觉&#xff09; 1.自训练数据集1538张数据图片&#xff0c;进行标注&#xff0c;并进行100轮的训练&#xff0c;准确率达0.966 2.使用 Flask 和 Ultralytics YOLOv8 模型开发了一个 Web 应…

打造高效自动化渗透测试系统:关键步骤与实践

随着当前网络安全威胁的不断扩展与升级&#xff0c;开展渗透测试工作已经成为广大企业组织主动识别安全漏洞与潜在风险的关键过程。然而&#xff0c;传统的人工渗透测试模式对测试人员的专业能力和经验水平有很高的要求&#xff0c;企业需要投入较大的时间和资源才能完成。在此…

collections库

collections 模块是 Python 标准库中的一个模块&#xff0c;提供了额外的数据容器和工具&#xff0c;用于增强 Python 内置的数据容器的功能。下面是 collections 模块中一些常用的数据容器和工具&#xff1a; namedtuple&#xff1a;命名元组是一个用于创建具有命名字段的元组…

免费客服系统大揭秘!有什么好用的免费客服系统推荐?

贵的不一定是好的&#xff0c;合不合适才最重要&#xff01;有什么好用的免费客服系统吗&#xff1f;现下服务经济的发展的风潮已经席卷到了各行各业。 企业不仅要提供好的产品&#xff0c;还需要好的服务。客服系统作为企业与客户重要的沟通渠道&#xff0c;越来越多的企业正在…

Java版AI人工智能源码 Chat GPT智能AI源码

Java版AI人工智能源码 Chat GPT智能AI源码 技术框架 基于前后端分离架构以及Vue3、uni-app、SpringBoot2.5技术栈开发&#xff0c; 包含PC端、H5端、小程序端、APP端。 AI人工智能系统介绍 Chat GPT AI人工智能系统聚合对接国内外知名主流大语言模型接口及中转平台&#x…

2024深圳国际冲压自动化设备及技术展览会

2024深圳国际冲压自动化设备及技术展览会 2024 Shenzhen International Press Automation Equipment and Technology Exhibition 时间&#xff1a;2024年08月28-30日 地点&#xff1a;深圳国际会展中心&#xff08;新馆&#xff09; 预订以上展会详询陆先生 I38&#xff0…

JetBrains全家桶激活,分享 DataGrip 2024 激活的方案

大家好&#xff0c;欢迎来到金榜探云手&#xff01; DataGrip 公司简介 JetBrains 是一家专注于开发工具的软件公司&#xff0c;总部位于捷克。他们以提供强大的集成开发环境&#xff08;IDE&#xff09;而闻名&#xff0c;如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工…

《SQL必知必会第五版》第十四章(组合查询)挑战题

1. 编写 SQL 语句&#xff0c;将两个 SELECT 语句结合起来&#xff0c;以便从 OrderItems表中检索产品 ID&#xff08;prod_id&#xff09;和 quantity。其中&#xff0c;一个 SELECT 语句过滤数量为 100 的行&#xff0c;另一个 SELECT 语句过滤 ID 以 BNBG 开头的产品。按产品…