听说这是线段树的裸题??(看来我也就能搞个求和什么的了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. Day1-XDoj-1062

    题目描述 一天,lw梦见自己在打dota,然而对面是一个加强过的卡尔!于是,他每次都被n个技能瞬间秒杀.愤怒的lw决定买BKB,来加强生存力. 由于加强过的卡尔是电脑操作的,他每次看见lw时,只会以1 ...

  2. 使用Hibernate+MySql+native SQL的BUG,以及解决办法

      本来是mssql+hibernate+native SQL 应用的很和谐 但是到了把mssql换成mysql,就出了错(同样的数据结构和数据). 查询方法是: String sql = " ...

  3. mysql5.7.26安装

    h https://www.cnblogs.com/zgqbky/p/11699282.html 张国强(明了) tar -xf mysql-5.7.26-1.el7.x86_64.rpm-bundl ...

  4. ObjectMapper : can only instantiate non-static inner class by using default, no-argument constructor

    Label_t lTrain = new ObjectMapper().readValue(s, Label_t.class); 因为Label_t是内部类,需要 1.static 2.无参构造函数

  5. 2-10 就业课(2.0)-oozie:5、通过oozie执行hive的任务

    4.2.使用oozie调度我们的hive 第一步:拷贝hive的案例模板 cd /export/servers/oozie-4.1.0-cdh5.14.0 cp -ra examples/apps/h ...

  6. BVS安全检测之检查Linux是否口令生存周期

    口令生存周期的配置文件为 /etc/login.defs vim 打开该文件,命令模式下输入 /PASS_MAX_DAYS 找到该配置信息的位置 我的Linux操作系统默认显示的是99999,说明我当 ...

  7. 剑指offer 链表中环的入口位置

    题目描述 一个链表中包含环,请找出该链表的环的入口结点.   思路:这题需要知道a = c,然后head和slow每次走一步,相遇的时候就是第一个入口交点, 注意:for循环或者while循环之后,一 ...

  8. Vue(十)---路由

    Vue.js 路由允许我们通过不同的 URL 访问不同的内容.通过 Vue.js 可以实现多视图的单页Web应用(single page web application,SPA). 需要引入vue-r ...

  9. Consul 简介及集群安装

    简介 Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册.服务发现和配置管理的功能. Consul的功能都很实用,其中包括:服务注册/发现.健康检查.Key/Value ...

  10. 记号一下用iptables做的端口转发

    iptables -t nat -I PREROUTING -p tcp -m tcp --dport 83 -j DNAT --to-destination 192.168.1.55:443ipta ...