博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Just a Hook
阅读量:5277 次
发布时间:2019-06-14

本文共 910 字,大约阅读时间需要 3 分钟。

#include<stdio.h>

#define MAX 1000001
struct node
{
   int
z;
   int
data;
}
sum[MAX*4];
void
js(int k,int j,int d)
{
   sum[d].z=1;
   sum[d].data=j-k+1;
   if
(j==k) return;
   int
m;
   m=(j+k)/2;
   js(k,m,d*2);
   js(m+1,j,d*2+1);
}
void
ch(int a,int b,int c,int k,int j,int d)
{
    if
(a<=k&&j<=b)
    {
       sum[d].z=c;
       sum[d].data=(j-k+1)*c;
       return
;
    }
    int
m;
    m=(k+j)/2;
    if
(sum[d].z>0)
    {
       sum[d*2].z=sum[d].z;sum[d*2+1].z=sum[d].z;sum[d].z=0;
       sum[d*2].data=(m-k+1)*sum[d*2].z;
       sum[d*2+1].data=(j-m)*sum[d*2+1].z;
    }
    if
(a<=m) ch(a,b,c,k,m,d*2);
    if
(b>m)  ch(a,b,c,m+1,j,d*2+1);
    sum[d].data=sum[d*2].data+sum[d*2+1].data;
}
int
main()
{
    int
t,n,m,cnt=1;
    int
a,b,c;
    scanf("%d",&t);
    while
(t--)
    {
       scanf("%d",&n);
       js(1,n,1);
       scanf("%d",&m);
       while
(m--)
       {
          scanf("%d %d %d",&a,&b,&c);
          ch(a,b,c,1,n,1);
       }
       printf("Case %d: The total value of the hook is %d.\n",cnt++,sum[1].data);
    }
    return
0;
}

转载于:https://www.cnblogs.com/zuiyi/archive/2012/07/10/2584013.html

你可能感兴趣的文章
(五十四)涂鸦的实现和截图的保存
查看>>
关于微信暴力加很申请
查看>>
06享元、责任链
查看>>
range,shuffle,str_shuffle
查看>>
网站性能的专业术语
查看>>
Pro/Toolkit示例之二:同步Dll程式
查看>>
ubuntu如何部署tftp服务
查看>>
[BJOI2014]大融合
查看>>
RPC简述
查看>>
题解 洛谷P4198/BZOJ2957【楼房重建】
查看>>
Easy UI分页控件修改刷新方法后触发两次请求
查看>>
【Alpha版本】冲刺阶段——Day 8
查看>>
解决CentOS6.x或RedHat Linux 6.x版本不能通过System eth0以固定IP访问外网的问题
查看>>
(转)Expression Tree不完全入门
查看>>
Struts2的工作原理
查看>>
配置EditPlus使其可以编译运行java程序
查看>>
我眼中的Android IDE
查看>>
LeetCode 112. Path Sum
查看>>
mkpasswd
查看>>
C++默认参数值函数
查看>>