http://acm.hdu.edu.cn/showproblem.php?pid=1698
如果更新到叶子节点会超时的
#include<iostream>
using namespace std;
const int N=100001,NN=3*N;
struct segtree
{
int left,right,num;
int mid()
{
return (left+right)/2;
}
}st[NN];
void build(int left,int right,int id)
{
st[id].left=left;
st[id].right=right;
st[id].num=1;
if(left==right)
return ;
int mid=st[id].mid();
build(left,mid,id*2);
build(mid+1,right,id*2+1);
}
void update(int left,int right,int x,int id)
{
if(left<=st[id].left&&right>=st[id].right)
{
st[id].num=x;
retu
这篇博客主要讨论了HDU 1698编程题目,涉及hook、query、build及C语言编程。作者指出,直接更新到叶子节点可能导致超时,暗示需要优化算法以避免效率问题。
订阅专栏 解锁全文
152

被折叠的 条评论
为什么被折叠?



