听说这是线段树的裸题??(看来我也就能搞个求和什么的了2333)

 #include<bits/stdc++.h>
#define INF 0x7fffffff
#define LL long long
#define N 100005
using namespace std;
inline int ra()
{
int x=,f=; char ch=getchar();
while (ch<'' || ch>'') {if (ch=='-') f=-; ch=getchar();}
while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
return x*f;
}
LL s[N<<],del[N<<],mark[N<<];
void build(int k, int l, int r)
{
if (l==r)
{
mark[k]=l;
return;
}
int mid=(l+r)>>;
build(k<<,l,mid); build(k<<|,mid+,r);
}
LL query(int k, int l, int r, int x, int y)
{
if (y<l || x>r) return ;
if (x<=l && r<=y) return s[k];
int mid=l+r>>;
LL L=query(k<<,l,mid,x,y);
LL R=query(k<<|,mid+,r,x,y);
return L+R+max(,min(r,y)-max(l,x)+)*del[k];
}
void clear(int k, int l, int r, int val)
{
if (mark[k])
{
del[k]+=abs(mark[k]-val);
s[k]+=1LL*(r-l+)*abs(mark[k]-val);
mark[k]=;
}
else
{
if (l==r) return;
int mid=l+r>>;
clear(k<<,l,mid,val);
clear(k<<|,mid+,r,val);
s[k]=s[k<<]+s[k<<|]+1LL*(r-l+)*del[k];
}
}
void change(int k, int l, int r, int x, int y, int val)
{
if (y<l || x>r) return;
if (x<=l && r<=y)
{
clear(k,l,r,val);
mark[k]=val;
return;
}
int mid=l+r>>;
if (mark[k])
{
mark[k<<]=mark[k<<|]=mark[k];
mark[k]=;
}
change(k<<,l,mid,x,y,val);
change(k<<|,mid+,r,x,y,val);
s[k]=s[k<<]+s[k<<|]+1LL*(r-l+)*del[k];
}
int main()
{
int n=ra(),m=ra();
build(,,n);
while (m--)
{
int type=ra();
if (type==)
{
int x=ra(),y=ra(),v=ra();
change(,,n,x,y,v);
}
else
{
int x=ra(),y=ra();
printf("%I64d\n",query(,,n,x,y));
}
}
return ;
}

cf 444C.的更多相关文章

  1. CF 444C DZY Loves Physics(图论结论题)

    题目链接: 传送门 DZY Loves Chemistry time limit per test1 second     memory limit per test256 megabytes Des ...

  2. Cf 444C DZY Loves Colors(段树)

    DZY loves colors, and he enjoys painting. On a colorful day, DZY gets a colorful ribbon, which consi ...

  3. CF数据结构练习

    1. CF 438D The Child and Sequence 大意: n元素序列, m个操作: 1,询问区间和. 2,区间对m取模. 3,单点修改 维护最大值, 取模时暴力对所有>m的数取 ...

  4. ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  5. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  6. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  7. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  8. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  9. CF memsql Start[c]UP 2.0 A

    CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...

随机推荐

  1. Derivative Pricing_2_Vasicek

    *Catalog 1. Plotting Vasicek Trajectories 2. CKLS Method for Parameter Estimation (elaborated by GMM ...

  2. 开通博客第一天 写一个hello world

    申请的博客第一天便被批准了,有了一个和大家交流学习的园地.在今后的日子里期待一起进步.

  3. jquery获取select选中的文本值

    误区: 一直以为jquery获取select中option被选中的文本值,是这样写的:   $("#id").text();  //获取所有option的文本值 实际上应该这样: ...

  4. rem布局js脚本代码

    目前代码在750屏幕分辨率下是十倍 基本上使用iphone是375宽度 所以就是20倍 图片背景可以使用二倍图 (function (doc, win) { var docEl = doc.docum ...

  5. Codestorm:Counting Triangles 查各种三角形的个数

    题目链接:https://www.hackerrank.com/contests/codestorm/challenges/ilia 这周六玩了一天的Codestorm,这个题目是真的很好玩,无奈只做 ...

  6. 基于LAMP实现后台活动发布和前端扫码签到系统

    目的 无论是公司.学校和社会团体,都会举办各式各样的活动,比如运动会.部门会议.项目会议.野炊.团建等.作为团队管理者来讲,当然希望能够把这类活动转移到线上形成完整的系统,类似于电子流的形式.本文以学 ...

  7. tools.quartz.about

    官方网站,中文文档,demo,  参考零, 参考一, 参考二, 参考三, 参考四 , 参考五 ,文档下载 .

  8. Metasploit学习笔记——环境配置

    <Metasploit渗透测试魔鬼训练营>书56页开始配置网络环境,一共五台机器,攻击机换成了自己更常用的kali,配置方法和back track相同. kali(攻击机) 10.10.1 ...

  9. Day6 - B - 采花 HYSBZ - 2743

    萧芸斓是Z国的公主,平时的一大爱好是采花.今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花 .花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一排的,以便于公主采花.公 ...

  10. 彻底理解JavaScript中的this

    this 是 JavaScript 语言的一个关键字. 它是函数运行时,在函数体内自动生成的一个对象,只能在函数体内使用. 函数的不同使用场合,this 有不同的值.总的来说,this 就是函数运行时 ...