cf 444C.
听说这是线段树的裸题??(看来我也就能搞个求和什么的了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.的更多相关文章
- CF 444C DZY Loves Physics(图论结论题)
题目链接: 传送门 DZY Loves Chemistry time limit per test1 second memory limit per test256 megabytes Des ...
- Cf 444C DZY Loves Colors(段树)
DZY loves colors, and he enjoys painting. On a colorful day, DZY gets a colorful ribbon, which consi ...
- CF数据结构练习
1. CF 438D The Child and Sequence 大意: n元素序列, m个操作: 1,询问区间和. 2,区间对m取模. 3,单点修改 维护最大值, 取模时暴力对所有>m的数取 ...
- 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 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- cf Round 613
A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- 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 ...
随机推荐
- IdentityServer4专题之一:OAuth2.0介绍
1.OAuth 2.0授权方式介绍: OAuth 2.0 的标准是 RFC 6749 文件.该文件先解释了 OAuth 是什么: OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有 ...
- python类的对象使用
class student(): def __init__(self,age,sex): self.age = age self.sex = sex #self._ ...
- 题解 loj3050 「十二省联考 2019」骗分过样例
CASE \(1\sim 3\) \(n\)组测试数据,每次输入一个数\(x\),求\(19^x\). 测试点\(1\),\(x=0,1,\dots n-1\),可以直接递推. 测试点\(2\)要开l ...
- Ubuntu 16.04非编译安装Zabbix 3.2----服务端和客户端win的配置
控服务器 - 什么是Zabbix Zabbix是企业级开源分布式监控服务器解决方案. 该软件监控网络的不同参数和服务器的完整性,还允许为任何事件配置基于电子邮件的警报. Zabbix根据存储在数据库( ...
- SimpleAliasRegistry
SimpleAliasRegistry :主要使用map最为alias的缓存,并对接口AliasRegister进行实现. ==============================插曲====== ...
- 字符串题汇总(python3)
1.最小编辑距离 假设有两个字符串s1和s2,计算通过增添.删除.替换三种操作后,从s1转变为s2所需要的操作次数. #coding=utf-8 class Solution: def editDis ...
- 064、Java中递归调用
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 041、Java中逻辑运算之普通或运算“|”
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- UVA 12511/CSU 1120 virus 最长公共上升子序列
第一次接触一个这最长公共上升子序列 不过其实搞清楚了跟最长公共子序列和 最长上升子序列如出一辙 两重循环,对于当前不相等的,等于前一个的值,相等的,等于比当前A[i]小的最大值+1.弄个临时变量记录最 ...
- maven详解 之 pom.xml
Maven 一个项目管理工具 其作用就是用来管理jar 包的 maven的核心 pom.xml配置文件 <project xmlns="http://maven.apache ...