多校day1-3 训练

贪心算法之钓鱼 枚举在第i个湖结束钓鱼,那么花在路上的时间确定。贪心策略是每次在鱼剩余最多的地方钓鱼,如果有多个湖,则取编号最小的出列,更新再入列#include <iostream> #include <stdio.h> #include <memory.h> #include <memory> #include <math.h> #include &... 阅读详情

钓鱼式的贪心(张老师的钓鱼真是万金油)
用堆维护还没走完的楼层

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#define ll long long 
using namespace std;
int n,tot;
ll Time,m,ans,s; 
int h[1000005],v[1000005],w[1000005];
struct ty
{
    int v,h,id;
}heap[1000005];
void down(int id)
{
    while(id*2<=tot) 
    {
        int j;
        if(id*2+1>tot||heap[id*2+1].v<heap[id*2].v) j=id*2; else j=id*2+1;
        if(heap[id].v<heap[j].v) 
        {
            swap(heap[id],heap[j]);
            id=j;
        }
        else break;
    }
}
void up(int id)
{
    while(id/2>=1) 
    {
        if(heap[id].v>heap[id/2].v) 
        {
            swap(heap[id],heap[id/2]);
            id=id/2;
        }
        else break;
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&h[i],&v[i]);
        s=s+v[i];
        w[i]=1;
        if(h[i]>1) 
        {
            tot++;
            heap[tot].v=v[i];
            heap[tot].h=h[i]-1;
            heap[tot].id=i; 
            up(tot);
        }
    }
    Time=m-(n-1);
    for(int i=n;i>=1;i--) 
    {
        if(i+1<=n) 
        {
            Time=Time+w[i+1]; //后面那幢楼已经去不了了,把花在那幢楼的时间加上 
            s=s-(ll)(w[i+1])*v[i+1]; //收益减去 
        }
        while(Time>0&&tot>0) 
        {
            while(tot>0&&heap[1].id>i) 
            {
                swap(heap[1],heap[tot]);
                tot--;
                down(1);
            }
            if(tot==0) break; 
            if(Time>=heap[1].h) 
            {
                Time-=heap[1].h; 
                w[heap[1].id]+=heap[1].h;
                s=s+(ll)(heap[1].v)*heap[1].h;
                swap(heap[1],heap[tot]);
                tot--;
                down(1); 
            }
            else
            {
                w[heap[1].id]+=Time;
                s=s+(ll)(heap[1].v)*(Time);
                heap[1].h-=Time; 
                Time=0; 
            }
        } 
        if(Time==0) ans=max(ans,s);
        if(Time>0&&tot==0) ans=max(ans,s);   
    }
    cout<<ans; 
    return 0;
}
钓鱼问题(贪心算法练习题,不做题干说明) #include "stdio.h" #include"malloc.h" int main(){ int n; scanf("%d",&n); while(n!=0){ int h; int *f,*d,*t,*f1,*f2,*f3; scanf("%d",&h); f=(int *)malloc(sizeof(int)*n); f1=(int *)m... 阅读详情

相关推荐

手把手移植st7701s驱动:MT6763+安卓8.0屏幕适配保姆级教程

本文详细介绍了在MT6763平台上移植ST7701S驱动的完整流程,涵盖从LK层到Kernel层的适配方案,特别针对安卓8.0系统的特殊要求。通过MIPI转RGB屏幕适配的实战教程,帮助开发者解决常见显示问题,包括无显示、色彩异常和屏幕错位等,并提供高级调试技巧如彩条测试模式和闪屏解决方案。

weixin_29186249的博客 156

鱼塘钓鱼(树)

Description 有N个鱼塘排成一排(N 鱼塘编号  1  2  3  4  5  第1分钟能钓到的鱼的数量(1..1000)  10  14  20  16  9  每过1分钟钓鱼数的减少量(1..100)  2  4  6  5  3  当前鱼塘到下一个相邻鱼塘需要的时间(单位:分钟)  3  5  4  4  即:在第1个鱼塘中钓

chrisblogtk的博客 1294

Cortex-M TrustZone实战:从硬件隔离到安全交互的嵌入式开发指南

在嵌入式系统开发中,硬件安全隔离是构建可信执行环境(TEE)的核心技术。其原理是通过处理器硬件机制,将系统资源划分为安全与非安全域,实现内存、外设和代码的强制访问控制。这项技术的核心价值在于,它能在单一芯片上为资源受限的物联网(IoT)设备、智能传感器等提供芯片级的安全基础,无需依赖外置安全元件,从而降低BOM成本并简化设计。典型的应用场景包括保护设备密钥、实现安全启动、构建安全服务(如加密、密钥管理)以供应用程序调用。本文聚焦于Arm Cortex-M系列微控制器上的TrustZone技术实现,针对开发中

weixin_42639246的博客 300

信息学奥赛一本通提高篇 1431:钓鱼 贪心算法

他从 1 出发,向右走,有选择的在一些湖边停留一定的时间(是 5 分钟的倍数)钓鱼。佳佳从第 i个湖到第 i+1 个湖需要走 5×Ti分钟路,还测出在第 i 个湖停留,第一个 5 分钟可以钓到 Fi 条鱼,以后每再钓 5 分钟,可以钓到的鱼量减少 Di​​ ,若减少后的鱼量小于 0,则减少后的鱼量为 0。从第 1 个湖到第 2 个湖,从第 2 个湖到第 3个湖,共用时间 15 分钟,共得 35 条鱼,并且这是最多的数量。选这i个湖中5分钟可以钓最多的鱼的湖钓5分钟,然后更新这个湖5分钟可以钓鱼的数量;

长春高老师编程 1152

工程师职级胜任力框架

一、前言 尽管这些年国内的IT行业发展迅速,但是仍然欠缺一套比较综合性的面向工程师的职级胜任力框架,造成国内很多工程师大都一心只想成为技术大牛,而忽视了自己全方位的工程师职业素养和能力的培养。 最近我有幸读到了Circle CI公司分享的工程胜任力矩阵,发现这份文档就是一份比较贴合互联网研发型企业的工程师职级胜任力框架,于是我在它的基础上,重新整理出了一份更适合国内工程师阅读的《工程师职级胜任力框架》,并把它分享在波波的github站点上,希望这份文档对工程师的职业开发和成长有帮助。注,Circle CI.

架构师波波的专栏 6327

AI在个性化营养方案制定中的应用:从代谢组学到膳食规划

本文章的主要目的是全面探讨AI在个性化营养方案制定过程中的应用,从代谢组学的数据收集与分析,到基于这些数据制定合理的膳食规划。范围涵盖了AI技术在该领域的核心概念、算法原理、数学模型、实际项目应用,以及相关的工具和资源推荐等方面。旨在为科研人员、营养师、软件开发人员等提供一个系统的知识体系,帮助他们更好地理解和应用AI技术来实现个性化营养方案的制定。核心概念与联系:介绍AI、代谢组学和膳食规划的核心概念,以及它们之间的相互联系,并通过文本示意图和Mermaid流程图进行展示。

架构师的AI之路,分享AI应用开发架构的学习与实践。 1028

鱼塘钓鱼(贪心算法)--算法设计

算法设计--鱼塘钓鱼 约翰有h(1≤h≤16)个小时的时间,在该地区有n(2≤n≤25)个湖,这些湖刚好分布在一条路线上,该路线是单向的。约翰从湖1出发,他可以在任一个湖结束钓鱼。但他只能从一个湖到达另一个与之相邻的湖,而且不必每个湖都停留。 已知在最初5分钟,湖i预计钓到鱼的数量为fi(fi≥0)。以后每隔5分钟,预计钓到鱼的数量将以常数di(di≥0)递减。如果某个时段预计钓到鱼的...

qq_43238335的博客 1686

Comsol 管道导波裂纹检测:从建模到求解的完整流程解析

本文详细解析了使用Comsol Multiphysics进行管道导波裂纹检测的完整仿真流程。从几何建模、材料定义、物理场设置到网格划分与求解后处理,系统阐述了如何构建高保真虚拟模型以模拟导波与裂纹的相互作用。重点分享了激励信号设置、频散效应处理及参数化扫描等实战技巧,旨在帮助工程师与研究人员高效优化无损检测方案,降低实验成本。

weixin_29207439的博客 74

“蔚来杯“2022牛客暑期多校训练营3

"蔚来杯"2022牛客暑期多校训练营3

Troye的博客 501

SAP各模块表清单及逻辑关系介绍

分享韩国同行总结的各模块的表清单及逻辑关系,这对ABAP顾问和各模块业务顾问应该非常有用的 物料主数据 SD与MM PS模块 PP模块 QM模块 CO模块 FI模块

weixin_40672823的博客 9599

极验点选click3.1.0所对应fullpage.js的逆向分析

极验3代点选验证,本文适用于使用click.3.1.0.js和fullpage919-eyz9lh.js版本的web验证码,没有细节内容,适合有基础的开发者阅读。

shanf7921的博客 648

2015 ACM多校训练第二场

在下面网址看效果更佳>_<http://mlz000.github.io/2015/08/17/2015-ACM%E5%A4%9A%E6%A0%A1%E8%AE%AD%E7%BB%83%E7%AC%AC%E4%BA%8C%E5%9C%BA/题外话颓废了一万年终于把第二场的题补完了,除了丧病的第一题。。hdu 5301(1002) BuildingsSolution水题,仔细讨论各种情况即可Codeh

mlzmlz95的专栏 1039

【WRF工具】WRF 模型输出可视化工具 RIP4

【WRF工具】WRF 模型输出可视化工具 RIP4

WW、forever的博客 1594

2020牛客暑期多校训练营(第五场)——E Bogo Sort

2020牛客暑期多校训练营(第五场)——E Bogo Sort 题目描述 Today Tonnnny the monkey learned a new algorithm called Bogo Sort. The teacher gave Tonnnny the code of Bogo sort: bool is_sorted(int a[], int n) { for (int i = 1; i < n; i++) { if (a[i] < a[i - 1]

cxkdad的博客 521

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

算法训练营 Day1

是一个内置的高阶函数,它的主要作用是对可迭代对象(如列表、元组等)中的每个元素应用指定的函数,并返回一个迭代器,该迭代器会生成函数应用后的结果。给你⼀个数组 nums 和⼀个值 val ,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新⻓度。给你⼀个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现⼀次 ,返回删除后数组的。将不重复的元素放入数组的前面,并返回新变量的值,即为最终删除数组后的剩余数量。你不需要考虑数组中超出新⻓度后⾯的元素。

m0_73983707的博客 1299

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

牛客网暑期ACM多校训练营 记录

所有牛客多校的做题记录请右转队伍wiki Name Date Rank 2018 Multi-University,Nowcoder Day 1 2018.7.19 16/338 5/10 https://acm.ecnu.edu.cn/wiki/index.php?title=2018_Multi-Unive...

weixin_30639719的博客 80

Python训练营-Day3

["Python", "Java", "Go"] :这是一个列表,列表是 Python 中一种可变的有序序列,用方括号 [] 表示,多个元素之间用逗号分隔。- tech_list.remove() :这是列表对象的一个方法, remove() 方法的作用是移除列表中第一个匹配指定值的元素。- tech_list[0] :在 Python 里,列表的索引从 0 开始,所以 tech_list[0] 表示获取 tech_list 列表中的第一个元素,即 "Python"。

HinoaMinoto的博客 1781

python训练营day3

整个代码通过 if-elif-else 结构,根据 temperature 变量的值,依次检查不同的温度区间,并输出对应的预警信息。由于 temperature 被赋值为 38,满足第一个 if 条件 temperature > 35 ,所以最终会输出 "红色预警:高温天气!

2202_75296561的博客 871

python训练营Day1打卡

在 Python 中, f 是在字符串前的前缀,带有 f 前缀的字符串被称为 f-string (格式化字符串字面值,Formatted String Literals),从 Python 3.6 版本开始引入。使用一个 print 函数和 f-string 分多行输出每个学生的详细信息,包括总分和平均分,并且格式化输出结果,保留两位小数。在字符串前加上 f 或者 F ,然后在字符串里使用大括号 {} 包裹变量名或者表达式,Python 会在运行时把大括号内的内容替换为对应的变量值或者表达式的计算结果。

Lee_m11的博客 2130

Python训练营-day1

在你的代码里, print(a, '\n', b, '\n', c, '\n') 中 a 与 '\n' 之间、 b 与 '\n' 之间、 c 与 '\n' 之间都会插入一个空格,所以第二行和第三行前面会多一个空格。- {} :在 f-string 里,花括号用于包裹表达式,Python 会在运行时计算花括号内的表达式,并将结果插入到字符串中。- f :这是 f-string 的标志,f-string 是 Python 3.6 及以上版本引入的一种字符串格式化方法,允许在字符串中嵌入表达式。

HinoaMinoto的博客 1678

python训练营Day3打卡

列表都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

Lee_m11的博客 1845

python训练营day2

比较结果存储在变量 is_a_lower_or_equal 中。str1 + " " + str2 表示先把 str1 的值 "Hello" 取出来,接着添加一个空格 " " ,最后再加上 str2 的值 "Python" ,拼接后的结果 "Hello Python" 被存储在变量 greeting 中。首先,重点肯定是运用换行符\n,它可以使一个 print() 函数调用就实现分三行的输出的效果,其次,注意到这里使用到了“f”,这个就是 f-string ,现在先留个悬念,接下来会详细阐述。

2202_75296561的博客 1085

牛客网暑期ACM多校训练营(第八场)E-Touring cities

链接:https://www.nowcoder.com/acm/contest/146/E 来源:牛客网   题目描述 Niuniu wants to tour the cities in Moe country. Moe country has a total of n*m cities. The positions of the cities form a grid with n rows...

实乃悲怜的博客 342

PYTHON训练营DAY1+DAY2

#曾经沧海难为水,Python阐述你的美 #变量和输出 #格式化字符串 #变量的基础运算 #字符串的操作 #比较运算

dhxhsgrx的博客 464

训练营DAY3

杨花落尽子规啼,领我编程破困迷# 列表的基础操作 #for循环语句 #if判断语句 # 遍历循环

dhxhsgrx的博客 439

Tree-AC训练实录

Tree-AC比赛记录 2018 ICPC nanjing Bronze 120/310 ICPC qingdao Bronze 153/360 2019 ZJPSC Silver20/192 训练记录(自2019.1.20开始记录) 2019 CCPC-Wannafly ...

weixin_30905133的博客 208
上一篇: 多校day1-2 军事
下一篇: 多校round2-day2-t2 净化
ACTY
博客等级 码龄12年 21粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值