【NOIP2015模拟11.2】有趣的有趣的家庭菜园

Python小波变换实战:用PyCWT分析气候数据(附完整代码) 本文详细介绍了如何使用Python中的PyCWT库进行小波变换分析,特别针对气候数据(如NINO3海温异常数据)的多尺度周期性特征提取。通过完整的代码示例,从数据预处理、小波参数配置到结果可视化,逐步指导读者掌握小波变换在气候研究中的实际应用。 阅读详情

Description

职业经营家庭菜园的JOI君每年在自家的田地中种植一种叫做IOI草的植物。IOI草的种子在冬天被播下,春天会发芽并生长至一个固定的高度。到了秋天,一些IOI草会结出美丽的果实,并被收获,其他的IOI草则会在冬天枯萎。
JOI君的田地沿东西方向被划分为N个区域,从西侧开始的第i个区域中种植着IOI草i。在第i个区域种植的IOI草,在春天的时候高度会生长至Hi,此后便不再生长。如果IOI草i会结出果实,那么将会获得Pi的收益,否则没有收益。
春天到了,查看田地样子的JOI君决定拔掉一些种植的IOI草,使利益最大化。拔掉IOI草i需要Ci的花销,拔掉的IOI草会立刻枯萎。IOI草只能在春天被拔掉,夏天和秋天不能拔掉IOI草。
IOI草是一种非常依靠阳光的植物,如果在夏天某个区域的IOI草的东侧和西侧都有比它高的IOI草存在,那么这株IOI草在秋天便不会结出果实。换句话说,为了让没有被拔掉的IOI草i在秋天结出果实,到了夏天的时候,以下两个条件至少满足一个:
1.对于任意1<=j<=i-1,Hj<=Hi或IOI草j已经被拔除
2.对于任意i+1<=j<=N,Hj<=Hi或IOI草j已经被拔除
用最终收获的果实的总价格减掉拔除IOI草的花销的总和,即为JOI君的收益。那么JOI君能从IOI草中获取的最大利益到底有多少呢?

Solution

因为题目要求的是一个类似于单峰函数的东东,我们可以先求两个单调的序列然后拼起来,
有些植物没有价值 但是又没有遮住其他植物,我们可以不管它们,
设一个DP试:fi表示单调序列的第i个的最大价值,
DP式显然:fi=max(fj−∑ik=jcostk(costk<h[i]))
时间O(n3),优化:
搞一颗高度为下标的线段树,记录前面高度从1~i中的最大的价值,
查找直接从1~h[i]找一遍再加上自己的价值,
找完后,我们再把1~(h[i]-1)的所有值减去cost[i],
因为我们以后如要用到1~(h[i]-1)值,一定要把我当前这颗给除掉,
最后更新线段树,
另一个序列一样,倒过来做即可
时间复杂度:O(2nlog(n))

Code

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fo1(i,a,b) for(int i=a;i>=b;i--)
//#define read(a) scanf("%d",&a)
using namespace std;
typedef long long LL;
const int N=100500,maxlongint=2147483640;
const LL INF=9223372036854775800;
int read(int &n)
{
    char ch=getchar();
    while((ch!='-')&&((ch<'0')||(ch>'9')))ch=getchar();
    int q=0,w=1;if(ch=='-')w=-1,ch=getchar();
    while(ch>='0' && ch<='9')q=q*10+ch-48,ch=getchar();n=q*w;return n;
}
LL read(LL &n)
{
    char ch=getchar();
    while((ch!='-')&&((ch<'0')||(ch>'9')))ch=getchar();
    LL q=0,w=1;if(ch=='-') w=-1;else q=q*10+(LL)(ch)-48;ch=getchar();
    while(ch>='0' && ch<='9')q=q*10+(LL)(ch)-48,ch=getchar();n=q*w;return(n);
}
int n,mh;
LL ans;
LL a[N*4],f[N],b[N*4];
LL hi[N],pi[N],co[N];
LL max(LL a,LL b){return a<b?b:a;}
void putd(int l,int r,int e)
{
    a[e]+=b[e];
    if(l!=r)
    {
        b[e*2]+=b[e];b[e*2+1]+=b[e];
    }
    b[e]=0;
}
void doit(int e){a[e]=max(a[e*2],a[e*2+1]);}
void change(int l,int r,int e,int l1,LL l2)
{
    putd(l,r,e);
    if(l==r)
    {
        if(l==l1)a[e]=max(a[e],l2);
        return;
    }
    int t=(l+r)/2;
    if(l1<=t)change(l,t,e*2,l1,l2),putd(t+1,r,e*2+1);
        else putd(l,t,e*2),change(t+1,r,e*2+1,l1,l2);
    doit(e);
}
LL find(int l,int r,int e,int l1,int r1,LL l2,int nol)
{
    putd(l,r,e);
    LL ans=-INF;
    if(l==l1 && r==r1 && l!=nol && r!=nol)
    {
        ans=a[e];
        b[e]+=l2;
        putd(l,r,e);
        return ans;
    }
    if(l==r)return a[e];
    int t=(l+r)/2;
    if(r1<=t)ans=max(ans,find(l,t,e*2,l1,r1,l2,nol)),putd(t+1,r,e*2+1);
        else if(t<l1)putd(l,t,e*2),ans=max(ans,find(t+1,r,e*2+1,l1,r1,l2,nol));
            else 
            {
                ans=max(ans,find(l,t,e*2,l1,t,l2,nol));
                ans=max(ans,find(t+1,r,e*2+1,t+1,r1,l2,nol));
            }
    doit(e);
    return ans;
}
int main()
{
    freopen("herbary.in","r",stdin);
    freopen("herbary.out","w",stdout);
    LL q;
    read(n);
    fo(i,1,n) f[i]=read(hi[i]),read(pi[i]),read(co[i]);
    mh=unique(f+1,f+1+n)-f-1,sort(f+1,f+mh+1);
    fo(i,1,n)hi[i]=upper_bound(f+1,f+mh+1,hi[i])-f-1;
    memset(f,0,sizeof(f)); 
    memset(a,128,sizeof(a));
    change(0,mh,1,0,0);
    fo(i,1,n)
    {
        f[i]=find(0,mh,1,0,hi[i],-co[i],hi[i])+pi[i];
        change(0,mh,1,hi[i],f[i]);
    }
    memset(a,128,sizeof(a));
    change(0,mh,1,0,0);
    ans=-INF;
    fo1(i,n,1)
    {
        q=find(0,mh,1,0,hi[i],-co[i],hi[i]);
        ans=max(ans,q+f[i]);
        change(0,mh,1,hi[i],q+pi[i]);
    }
    printf("%lld\n",ans);
    return 0;
}
模拟量输入功能块 S_ITR(Easy系列PLC完整ST源代码) IN Input INT 输入数字量 1IN ISH INT 输入数字量上限 2IN ISL INT 输入数字量下限 3IN OSH REAL 输出工程量上限 4IN OSL REAL 输出工程量下限 5OUT OUTPUT REAL 输出工程量 6VAR temp1 REAL 临时变量1 7VAR temp2 REAL 临时变量2 8。 阅读详情

相关推荐

1. 基于STM32的1.28寸圆形IPS屏(GC9A01)驱动移植实战:软件SPI与硬件SPI双方案详解

本文详细介绍了如何在STM32平台上为1.28寸圆形IPS屏(GC9A01驱动芯片)移植驱动程序,涵盖软件SPI与硬件SPI两种实现方案。内容从引脚定义、工程搭建、GPIO配置到SPI外设初始化逐步详解,并提供了完整的测试代码,帮助开发者根据项目需求(灵活性或性能)选择合适的通信方式,快速点亮屏幕并集成到智能手表等嵌入式项目中。

weixin_42300144的博客 203

有趣的家庭菜园

Description 对家庭菜园有兴趣的JOI君每年在自家的田地中种植一种叫做IOI草的植物。JOI君的田地沿东西方向被划分为N个区域,由西到东标号为1~N。IOI草一共有N株,每个区域种植着一株。在第i个区域种植的IOI草,在春天的时候高度会生长至hi,此后便不再生长。 为了观察春天的样子而出行的JOI君注意到了IOI草的配置与预定的不太一样。IOI草是一种非常依靠阳光的植物,如果某个...

weixin_33958366的博客 197

安装matlab_Matlab+yalmip+cplex安装教程及算例

数学建模/科研学习推荐学习软件:Matlab+yalmip+cplex安装教程及算例其实绝大多数本科生都是在用Matlab和LINGO求解优化问题,Matlab可以求解一般优化问题,但是当优化问题规模比较大或者在应对一些非线性问题时候,Matlab会出现求解时间长,求解效率低,甚至难以求解等问题。Matlab+yalmip+cplex是Matlab通过调用商业软件cplex求解,求解时间短,这里简...

weixin_28939637的博客 5006

我的菜园

我的菜园 转载于:https://www.cnblogs.com/zhhtao/p/4302771.html

weixin_30692143的博客 139

手把手教你使用HFSS仿真高速差分过孔—上

高速数字电路设计中,信号完整性是一个非常重要的问题。为了使信号保持良好的传输特性,PCB板上的互联线一般都采用均匀传输线,使互联线保持特性阻抗一致性,减少信号反射。然而PCB板上的互联线很多时候避免不了换层的问题,这时候就必须使用过孔。过孔会导致阻抗不连续,进而造成反射,出现信号完整性问题。         当信号传输速率越高,信号前沿越短的时候,过孔引入的信号完整性问题越严重,需要对过孔进行优

a2447944219的博客 2万+

Imputation Methods for scRNA Sequencing Data

越来越多的研究者使用单细胞RNA测序(scRNA-seq)技术来表征单细胞水平的转录图谱。他们用它来研究复杂组织的异质性、转录组动力学和未知生物的多样性。然而,在基因表达模式随机性的scRNA-seq数据中普遍存在许多技术和生物学上的噪音。这些数据通常具有高维、稀疏和大量“dropout”值的特点,并且受批处理效应的影响。scRNA-seq数据中大量的“dropout”值严重掩盖了基因之间的重要关系,阻碍了下游分析。因此,scRNA-seq数据dropout值的估算就显得尤为重要。

qq_34179307的博客 542

[JZOJ4296]有趣的有趣的家庭菜园

题目描述有nn棵植株排成一排,第ii棵植株的高度、价值和拔除的花费分别为hih_i、pip_i和cic_i。 能够获得第ii棵植株的价值,当且仅当这棵植株左边所有高度大于它的植株都被拔除,或者右边所有高度大于它的植株都被拔除。 最大化收益(价值和与花费和的差)。3≤n≤105,1≤hi,pi,ci≤1093\le n\le10^5,1\le h_i,p_i,c_i\le 10^9题目分析我们观察

待成熟的葡萄 1166

基于Zynq的便携式γ能谱仪设计与实现

数字多道分析器(DMCA)是核辐射能谱测量的核心设备,其本质是将探测器输出的模拟脉冲按幅度数字化分道,构建能量-计数分布曲线,从而支撑放射性核素识别与定量分析。其技术原理依赖高速采样、数字滤波成形、基线恢复与峰值提取等关键信号处理环节,具备高分辨率、优线性度与强抗干扰能力。在环境监测、核安全巡检与野外地质勘探等场景中,对低功耗、小型化、实时性提出严苛要求。本方案采用Xilinx Zynq-7020异构SoC架构,融合FPGA实时数字信号处理与ARM嵌入式控制,实现软硬协同优化,兼顾算法精度与工程落地性,为国

weixin_33173126的博客 190

有趣的家庭菜园(贪心 逆序对 树状数组)

题目描述 JOI君对家庭菜园感兴趣。他每年在自家的田地中种植一种叫做IOI草的植物。JOI君的田地沿东西方向被划分为N个区域,由西到东标号为1~N。IOI草一共有N株,每个区域种植着一株。在第i个区域种植的IOI草,在春天的时候高度会生长至hi,此后便不再生长。 去踏青的JOI君注意到,IOI草的配置与预定的不太一样。IOI草是一种非常依靠阳光的植物,如果某个区域的IOI草的东侧和西侧都有比它高的...

eazo的博客 368

Cursor使用教程,有点难

Cursor Code Editor 不仅仅是一个代码编辑器,它更是一个集成了 AI 的全功能开发环境,帮助你从代码编写到优化的整个过程变得更加智能和高效。它通过内置的 AI 代码补全、错误检测和自动修复功能,大大减少了手动编写代码的负担,帮助你快速完成开发任务。同时,Cursor 还与多种前沿的 AI 大模型集成,包括 OpenAI 的 GPT-4o、Claude 3.5 和 Meta 的 Llama 3.1。

xiaofeitunAI的博客 1万+

10、犹豫双模糊TOPSIS算法:原理与实例解析

本文介绍了犹豫双模糊TOPSIS算法的基本原理与应用步骤,结合中国四家纺织公司的案例,详细解析了从构建犹豫双模糊决策矩阵、归一化处理、专家信息聚合,到确定正负理想解、计算距离与相对贴近度系数的完整决策流程。该方法有效应对决策者在评价过程中的犹豫性,适用于财务评估、项目选择等复杂多属性决策场景,具有较强的实用性和推广价值。

yhn45678901的博客 122

有趣的有趣的家庭菜园

题目描述职业经营家庭菜园的JOI君每年在自家的田地中种植一种叫做IOI草的植物。IOI草的种子在冬天被播下,春天会发芽并生长至一个固定的高度。到了秋天,一些IOI草会结出美丽的果实,并被收获,其他的IOI草则会在冬天枯萎。 JOI君的田地沿东西方向被划分为N个区域,从西侧开始的第i个区域中种植着IOI草i。在第i个区域种植的IOI草,在春天的时候高度会生长至Hi,此后便不再生长。如果IOI草i会结

不来也不去的一只失忆蝴蝶 1665

15、降维算法:原理、实现与应用

本文深入介绍了多种降维算法,包括线性方法如主成分分析(PCA)和线性判别分析(LDA),以及非线性方法如Sammon映射、t分布随机邻域嵌入(t-SNE)和自编码器。文章通过C++库Dlib和Shogun展示了这些算法的具体实现,并结合图像压缩和数据可视化等实际案例,分析了不同算法的适用场景。此外,还探讨了降维算法的选择策略、优化改进方法以及未来发展趋势,为读者提供了全面的技术理解和应用指导。

lemon的博客 116

4296. 【NOIP2015模拟11.2】有趣的有趣的家庭菜园

Description 职业经营家庭菜园的JOI君每年在自家的田地中种植一种叫做IOI草的植物。IOI草的种子在冬天被播下,春天会发芽并生长至一个固定的高度。到了秋天,一些IOI草会结出美丽的果实,并被收获,其他的IOI草则会在冬天枯萎。 JOI君的田地沿东西方向被划分为N个区域,从西侧开始的第i个区域中种植着IOI草i。在第i个区域种植的IOI草,在春天的时候高度会生长至Hi,此后便不再生长。如果IOI草i会结出果实,那么将会获得Pi的收益,否则没有收益。 春天到了,查看田地样子的JOI君决定拔掉一些种

zsjzliziyang的博客 273

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

JZOJ 4296【NOIP2015模拟11.2】有趣的有趣的家庭菜园

Description 职业经营家庭菜园的JOI君每年在自家的田地中种植一种叫做IOI草的植物。IOI草的种子在冬天被播下,春天会发芽并生长至一个固定的高度。到了秋天,一些IOI草会结出美丽的果实,并被收获,其他的IOI草则会在冬天枯萎。 JOI君的田地沿东西方向被划分为N个区域,从西侧开始的第i个区域中种植着IOI草i。在第i个区域种植的IOI草,在春天的时候高度会生长至Hi,此后便不再生长。如果

LYD729 752

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

BZOJ 4240 有趣的家庭菜园

第一道树状数组 用到了贪心的想法 交换的代价就是交换完之后的逆序对数 将所有IOI草从高到低放入 贪心判断是放在左边还是放在右边 会爆int 也要考虑有两棵IOI草高度相同 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm>...

weixin_30703911的博客 135

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

大模型稳定输出JSON:提示词工程与工程化实践指南

大模型在应用开发中经常需要输出结构化的JSON数据,但实际使用时会发现,即使明确要求输出JSON格式,模型仍可能返回非标准响应或格式错误。这个问题直接影响数据解析和系统集成,特别是在自动化流程和API调用场景下尤为关键。 这次我们深入分析大模型稳定输出JSON的技术方案。核心思路是通过多层次的约束机制来规范模型输出,包括提示词工程、Few-shot示例、响应格式限定以及后处理校验。本文将提供可落地的实施方案,涵盖从基础提示词设计到高级调优策略的完整解决方案。 1. 核心能力速览 能力项 说明 适用模型 支持

weixin_30740295的博客 349

【NOIP模拟】有趣的有趣的家庭菜园

Description职业经营家庭菜园的JOI君每年在自家的田地中种植一种叫做IOI草的植物。IOI草的种子在冬天被播下,春天会发芽并生长至一个固定的高度。到了秋天,一些IOI草会结出美丽的果实,并被收获,其他的IOI草则会在冬天枯萎。 JOI君的田地沿东西方向被划分为N个区域,从西侧开始的第i个区域中种植着IOI草i。在第i个区域种植的IOI草,在春天的时候高度会生长至Hi,此后便不再生长。如果

Facico的博客 1559

【NOIP 2016 提高组】愤怒的小鸟

DescriptionSolution一题很显然的状压DP, 显然的转移是n3n^3的, 优化: 1. 很显然两个点决定一条抛物线后,可以预处理还能打到那些点。 2. 贪心的想,既然一个点迟早要打,为何不现在就打了它,复杂度:O(2n∗n)O(2^n*n)Code#include <iostream> #include <cstdio> #include <cstdlib> #include

1482

【JZOJ 3853】帮助Bsny

DescriptionBsny的书架乱成一团了,帮他一下吧! 他的书架上一共有n本书,我们定义混乱值是连续相同高度书本的段数。例如,如果书的高度是30,30,31,31,32,那么混乱值为3;30,32,32,31的混乱值也为3。但是31,32,31,32,31的混乱值为5,这实在是太乱了。 Bsny想尽可能减少混乱值,但他有点累了,所以他决定最多取出k本书,再随意将它们放回到书架上。你能帮助

1335

【JZOJ 4599】西行妖

Description 在幻想乡白玉楼有一棵终年不开花的樱树叫西行妖,西行寺幽幽子曾经为了让它开花而大量收集春度,然后被城管教训了一顿… 现在,幽幽子得到城管的允许,收集了S点春度,让西行妖重新开花。 西行妖可以被看成是一棵有n个节点的树,每个叶子节点被分配了1点春度就能开花(幽幽子不会无意义地使用她的春度,于是最多只会给同一个叶子节点分配1点春度),对于非叶子节点i,如果它有至少有1个儿子开花,

1140

【51NOD 1383】整数分解为2的幂

Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4Solution显然,当n为奇数时(除了1),fn=fn−

1031

【JZOJ 3861】【JSOI2014】支线剧情2

DescriptionSolution显然的树形DP, 设gxg_x表示以点x根,一次存档也没有,跑完所有子树的时间, 设fxf_x表示以x的子树全部跑完所需的时间,可以有存档,也可以没有,(包含从根走下来的时间) 有三种情况, 1. 当前点存档,子树没有存档, 2. 当前点存档,子树只有一个存档, 3. 当前点存档,子树有一个存档,其他的点想存档要从根走下来,情况1,3比较好做,先考虑

985

【JZOJ 3052】剪草

Description 有N棵小草,编号0至N-1。奶牛Bessie不喜欢小草,所以Bessie要用剪刀剪草,目标是使得这N棵小草的高度总和不超过H。在第0时刻,第i棵小草的高度是h[i],接下来的每个整数时刻,会依次发生如下三个步骤: 1. 每棵小草都长高了,第i棵小草长高的高度是grow[i]。 2. Bessie选择其中一棵小草并把它剪平,这棵小草高度变为0。注意:这棵小草并没有死掉,它

969

【51NOD 1048】【51NOD 1383】整数分解为2的幂 V2

Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量! 比如N = 7时,共有6种划分方法。7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4Solution设gi,j,kg_{i,j,k}表示一个序列组成2i2^i这个数,这个序列中最大的数为2j2^j,最

912
上一篇: 【NOIP2015模拟11.2】复制&粘贴2
下一篇: 【GDOI2016模拟3.9】暴走的图灵机
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值