中易网

hdu 1698 WA 求助哇!!

答案:1  悬赏:20  
解决时间 2021-01-20 09:53
hdu 1698 WA 求助哇!!
最佳答案
已ac,线段树去看胡浩的博客。。
#include
#include

struct Num
{
int flag;
int l, r, m, sum;
}num[400005];

void build( int l, int r, int rt )
{
num[rt].flag = 0;
num[rt].l = l, num[rt].r = r;
num[rt].m = ( l + r ) >> 1;
num[rt].sum = r - l + 1;
if( l == r )
{
return ;
}
build( l, num[rt].m, rt << 1 );
build( num[rt].m + 1, r, rt << 1|1 );
}

void updata( int x, int y, int value, int rt )
{
if( x <= num[rt].l && num[rt].r <= y )
{
num[rt].sum = value * ( num[rt].r - num[rt].l + 1 );
num[rt].flag = value;
return ;
}
if( num[rt].flag )
{
int rt2 = rt<<1;
num[rt2].flag = num[rt].flag;
num[rt2].sum = ( num[rt2].r - num[rt2].l + 1 ) * num[rt].flag;
num[rt2|1].flag = num[rt].flag;
num[rt2|1].sum = ( num[rt2|1].r - num[rt2|1].l + 1 ) * num[rt].flag;//!!!!!!!!!
num[rt].flag = 0;
}
if( x <= num[rt].m )
updata( x, y, value, rt << 1 );
if( y > num[rt].m )
updata( x, y, value, rt << 1|1 );
num[rt].sum = num[rt<<1].sum + num[rt<<1|1].sum;
}

void solve( int n, int m )
{
int i, x, y, value;
build( 1, n, 1 );
for( i = 0; i < m; i ++ )
{
scanf( "%d%d%d", &x, &y, &value );
updata( x, y, value, 1 );
}
return ;
}

int main( )
{
int n, m, t, nth = 1;
scanf( "%d", &t );
while( t -- )
{
scanf( "%d%d", &n, &m );
solve( n, m );
printf( "Case %d: The total value of the hook is %d.\n", nth++, num[1].sum );
}
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
音乐和美术哪个好学
匆匆的组词
杭城管道疏通空调维修地址在什么地方,我要处
谁有李汉庭大师颖拓作品时的录制视频,想根据
变现和抵押一样吗,是包含关系还是没有关系
公司开启动会的开场音乐,比较激情的,节奏比
哈尔滨住房公积金管理中心平房办事大厅地址在
诛仙手游焚香谷隐藏任务汇总 焚香谷隐藏任务
2016年是什么年。
dnf那个像句号的点在角色上面咋打?
怎么买内裤 注意什么
哪些情况下电气需要紧急解列发电机
有哪部动漫是女子角摔主题
用vb写程序,怎么无论程序是否为当前窗口,都
索尼NET-5Twifi怎么连接手机?
推荐资讯
贤贤贷怎么样请知道的帮帮忙!
三人不能守密,二人谋一事一人当殉.是什么意
生石灰失去干燥能力的化学方程式
福州闽江学院附中与杨桥中学哪个好????
瞎眼山羊把歌唱读后感,短
CPU的总线速度是什么意思?它和CPU的性能有什
你好方是什么意思
还好你在,还好我还在等我的爱情到来。是哪首
女子趁男网友醉酒之机盗窃手机需要承担怎样后
论述 用感性认识和理性认识关系的原理,说明实
今年祖孙两人的年龄都是合数,明年他们的年龄
千丝百顺怎么去啊,我要去那办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?