hdu 2795

本文详细探讨了HDU 2795问题,涉及构建数据结构、解决n的平方复杂度问题以及C语言实现技巧。通过实例分析和代码展示,帮助读者理解并解决该算法挑战。
摘要由CSDN通过智能技术生成

http://acm.hdu.edu.cn/showproblem.php?pid=2795


#include<stdio.h>
#define N 200000

/*
叶节点为[i,i]3281MS
叶节点为[i,i+1)3312MS
这题一看,完全不知怎么下手,只想如果可以暴力就好了。
经提示,这也可以SegmentTree,结点中wmax保存该段的最大值,
更新的同时其实也查询了,有点二分的思想
*/
int max(int a,int b)
{
    return a>b?a:b;
}
struct node
{
    int left,right,wmax;
    int mid()
    {
        return (left+right)/2;
    }
}st[N<<2];

void build(int left,int right ,int w,int id)
{
    st[id].left=left;
    st[id].right=right;
    st[id].wmax=w;
    if(left+1>=right)
        return;
    int mid=s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值