随笔分类 - 数据结构-树状数组
摘要:P3586 [POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a。2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进行s次操作。每次询问独立,即每次询问不会对序列进行修改。 离散化按照权值建立树状数组。
阅读全文
摘要:3155: Preprefix sum 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3155 把给出的a_i当成查分数组d_i做就可以了。 XJB搞一搞就过了。 code: include include using namespace
阅读全文
摘要:P4514 上帝造题的七分钟 题目描述 “第一分钟,X说,要有矩阵,于是便有了一个里面写满了00的n×mn×m矩阵。 第二分钟,L说,要能修改,于是便有了将左上角为(a,b)(a,b),右下角为(c,d)(c,d)的一个矩形区域内的全部数字加上一个值的操作。 第三分钟,k说,要能查询,于是便有了求给
阅读全文
摘要:1103: [POI2007]大都市meg 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。 不过,她经常回忆起以前在乡间漫步的情景。昔日,乡下有依次编号为1..n的n个小村庄,某些村庄之间有一些双 向的土路。从每个村庄都恰好有一条路径到达村
阅读全文
摘要:P4054 [JSOI2009]计数问题 题目描述 一个n m的方格,初始时每个格子有一个整数权值。接下来每次有2种操作: 改变一个格子的权值; 求一个子矩阵中某种特定权值出现的个数。 输入输出格式 输入格式: 第一行有两个数N,M。 接下来N行,每行M个数,第i+1行第j个数表示格子(i,j)的初
阅读全文
摘要:删区间 (remove.cpp/c) 【问题描述】 给出一个长度为𝑛的数组𝐴,你每次需要选出一个长度大于1的区间[𝑙, 𝑟]并删掉它,代价 是左右端点的元素之差的绝对值|𝐴𝑙 − 𝐴𝑟 |,之后再将左右两个数组接起来构成一个新的数组。 你的任务是要求出删除整个数组的最小代价和。 【输
阅读全文
摘要:P3431 [POI2005]AUT The Bus Byte City 的街道形成了一个标准的棋盘网络 – 他们要么是北南走向要么就是西东走向. 北南走向的路口从 1 到 n编号, 西东走向的路从1 到 m编号. 每个路口用两个数(i, j) 表示(1 include include using
阅读全文
摘要:【bzoj1782】: [Usaco2010 Feb]slowdown 慢慢游 Description 每天Farmer John的N头奶牛(1 include using namespace std; const int wx=200017; inline int read(){ int sum=
阅读全文
摘要:P3616 富金森林公园 题目描述 博艾的富金森林公园里有一个长长的富金山脉,山脉是由一块块巨石并列构成的,编号从1到N。每一个巨石有一个海拔高度。而这个山脉又在一个盆地中,盆地里可能会积水,积水也有一个海拔高度,所有 严格低于 这个海拔高度的巨石,就会在水面下隐藏。 由于地壳运动,巨石的海拔高度可
阅读全文
摘要:做了一道树上求逆序对的题,主要难点并不在于树形结构,而是求逆序对数。(在我看来是这样的)。 to洛谷P3605晋升者计数。 发现自己树状数组求逆序对还有个坑,先填上再说。再加上最近学的树状数组离散化,捋一捋思路。 首先是离散化 c++ for(int i=1;i
阅读全文
摘要:P3605 [USACO17JAN]Promotion Counting晋升者计数 题目描述 奶牛们又一次试图创建一家创业公司,还是没有从过去的经验中吸取教训 牛是可怕的管理者! 为了方便,把奶牛从 1 N(1 N 100, 000) 编号,把公司组织成
阅读全文