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

  1. #include<bits/stdc++.h>
  2. #define INF 0x7fffffff
  3. #define LL long long
  4. #define N 100005
  5. using namespace std;
  6. inline int ra()
  7. {
  8. int x=,f=; char ch=getchar();
  9. while (ch<'' || ch>'') {if (ch=='-') f=-; ch=getchar();}
  10. while (ch>='' && ch<='') {x=x*+ch-''; ch=getchar();}
  11. return x*f;
  12. }
  13. LL s[N<<],del[N<<],mark[N<<];
  14. void build(int k, int l, int r)
  15. {
  16. if (l==r)
  17. {
  18. mark[k]=l;
  19. return;
  20. }
  21. int mid=(l+r)>>;
  22. build(k<<,l,mid); build(k<<|,mid+,r);
  23. }
  24. LL query(int k, int l, int r, int x, int y)
  25. {
  26. if (y<l || x>r) return ;
  27. if (x<=l && r<=y) return s[k];
  28. int mid=l+r>>;
  29. LL L=query(k<<,l,mid,x,y);
  30. LL R=query(k<<|,mid+,r,x,y);
  31. return L+R+max(,min(r,y)-max(l,x)+)*del[k];
  32. }
  33. void clear(int k, int l, int r, int val)
  34. {
  35. if (mark[k])
  36. {
  37. del[k]+=abs(mark[k]-val);
  38. s[k]+=1LL*(r-l+)*abs(mark[k]-val);
  39. mark[k]=;
  40. }
  41. else
  42. {
  43. if (l==r) return;
  44. int mid=l+r>>;
  45. clear(k<<,l,mid,val);
  46. clear(k<<|,mid+,r,val);
  47. s[k]=s[k<<]+s[k<<|]+1LL*(r-l+)*del[k];
  48. }
  49. }
  50. void change(int k, int l, int r, int x, int y, int val)
  51. {
  52. if (y<l || x>r) return;
  53. if (x<=l && r<=y)
  54. {
  55. clear(k,l,r,val);
  56. mark[k]=val;
  57. return;
  58. }
  59. int mid=l+r>>;
  60. if (mark[k])
  61. {
  62. mark[k<<]=mark[k<<|]=mark[k];
  63. mark[k]=;
  64. }
  65. change(k<<,l,mid,x,y,val);
  66. change(k<<|,mid+,r,x,y,val);
  67. s[k]=s[k<<]+s[k<<|]+1LL*(r-l+)*del[k];
  68. }
  69. int main()
  70. {
  71. int n=ra(),m=ra();
  72. build(,,n);
  73. while (m--)
  74. {
  75. int type=ra();
  76. if (type==)
  77. {
  78. int x=ra(),y=ra(),v=ra();
  79. change(,,n,x,y,v);
  80. }
  81. else
  82. {
  83. int x=ra(),y=ra();
  84. printf("%I64d\n",query(,,n,x,y));
  85. }
  86. }
  87. return ;
  88. }

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. IdentityServer4专题之一:OAuth2.0介绍

    1.OAuth 2.0授权方式介绍: OAuth 2.0 的标准是 RFC 6749 文件.该文件先解释了 OAuth 是什么: OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有 ...

  2. python类的对象使用

    class student():    def __init__(self,age,sex):        self.age = age        self.sex = sex  #self._ ...

  3. 题解 loj3050 「十二省联考 2019」骗分过样例

    CASE \(1\sim 3\) \(n\)组测试数据,每次输入一个数\(x\),求\(19^x\). 测试点\(1\),\(x=0,1,\dots n-1\),可以直接递推. 测试点\(2\)要开l ...

  4. Ubuntu 16.04非编译安装Zabbix 3.2----服务端和客户端win的配置

    控服务器 - 什么是Zabbix Zabbix是企业级开源分布式监控服务器解决方案. 该软件监控网络的不同参数和服务器的完整性,还允许为任何事件配置基于电子邮件的警报. Zabbix根据存储在数据库( ...

  5. SimpleAliasRegistry

    SimpleAliasRegistry :主要使用map最为alias的缓存,并对接口AliasRegister进行实现. ==============================插曲====== ...

  6. 字符串题汇总(python3)

    1.最小编辑距离 假设有两个字符串s1和s2,计算通过增添.删除.替换三种操作后,从s1转变为s2所需要的操作次数. #coding=utf-8 class Solution: def editDis ...

  7. 064、Java中递归调用

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  8. 041、Java中逻辑运算之普通或运算“|”

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  9. UVA 12511/CSU 1120 virus 最长公共上升子序列

    第一次接触一个这最长公共上升子序列 不过其实搞清楚了跟最长公共子序列和 最长上升子序列如出一辙 两重循环,对于当前不相等的,等于前一个的值,相等的,等于比当前A[i]小的最大值+1.弄个临时变量记录最 ...

  10. maven详解 之 pom.xml

    Maven  一个项目管理工具  其作用就是用来管理jar 包的 maven的核心    pom.xml配置文件 <project xmlns="http://maven.apache ...