技术标签: CDQ分治
BZOJ2683传送门
BZOJ1176几乎一样啊
戳这里–>BZOJ1176
然后这个题 应 该? 要开long long 吧。
(日常打错变量名QAQ。。)
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <cmath>
#define N 200005
#define M 800005
#define INF 1<<29
using namespace std;
typedef long long ll;
int read()
{
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch)){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}
return x*f;
}
int n,tot,numa;
ll ans[N],szsz[500005];
class Query{
public:
int type,x,y,w,id;
Query(){}
Query(int tt,int xx,int yy,int ww,int ii){
type=tt,x=xx,y=yy,w=ww,id=ii;
}
}Q[M],tmp[M];
bool operator <(Query a,Query b){
return a.x<b.x||(a.x==b.x&&a.type<b.type);
}
int lowbit(int x){
return x&-x;}
void Sum_Up(int x,int y){
for(int i=x;i<=n;i+=lowbit(i)) szsz[i]+=y;
}
ll query(int x){
ll rtn=0;
for(int i=x;i;i-=lowbit(i)) rtn+=szsz[i];
return rtn;
}
void Clear(int x){
for(int i=x;i<=n&&szsz[i];i+=lowbit(i)) szsz[i]=0;
}
void CDQ(int l,int r)
{
if(l==r) return;
int mid=l+r>>1;CDQ(l,mid);CDQ(mid+1,r);
int p=l,q=mid+1,o=0;
while(p<=mid&&q<=r){
if(Q[p]<Q[q]) {
if(Q[p].type&1) Sum_Up(Q[p].y,Q[p].w);
tmp[o++]=Q[p++];
}
else {
if(Q[q].type==2) ans[Q[q].id]+=query(Q[q].y)*Q[q].w;
tmp[o++]=Q[q++];
}
}
while(p<=mid) tmp[o++]=Q[p++];
while(q<=r) {
if(Q[q].type==2) ans[Q[q].id]+=query(Q[q].y)*Q[q].w;
tmp[o++]=Q[q++];
}
for(int i=0;i<o;i++) Clear(tmp[i].y),Q[i+l]=tmp[i];
}
int main()
{
n=read();
while(1)
{
static int tp,x,y,xx,yy;
tp=read();if(tp==3) break;
x=read(),y=read(),xx=read();
if(tp&1) Q[++tot]=Query(tp,x,y,xx,0);
else {
yy=read();numa++;
Q[++tot]=Query(tp,x-1,y-1,1,numa);Q[++tot]=Query(tp,x-1,yy,-1,numa);
Q[++tot]=Query(tp,xx,y-1,-1,numa);Q[++tot]=Query(tp,xx,yy,1,numa);
}
}
CDQ(1,tot);
for(int i=1;i<=numa;i++) printf("%lld\n",ans[i]);
return 0;
}
在matlab中,round、ceil、floor、fix都是取整函数函数,round函数是个四舍五入函数,例:round(2.7)=3; round(1.2)=1; round(-1.3)=-1ceil函数是大于X的最大整数,例:ceil(2.3)=3;ceil(-2.3)=-2floor函数是不超过X的最大整数,例:floor(2.3)=2; floor(-2.3)=-3fix
Java 8新特性简介新特性简介Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Java 8 是oracle公司于2014年3月发布,可以看成是自Java 5 以 来最具革命性的版本。Java 8为Java语言、编译器、类库、开发 工具与JVM带来了大量新特性。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-itrO2xSg-1600041602719)(/Users/haitao/Pictures/TyporaPic/16_java
题目:作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。你的任务便是告诉小Z,他有多大的概率抽到两只...
本节书摘来自华章社区《电子元器件的可靠性》一书中的习题,作者王守国,更多章节内容可以访问云栖社区“华章社区”公众号查看习题1.对飞机上电子设备用的某种电子元器件进行现场无替换试验,其元件数n=39,记录下9次失效时间分别为:423,1090,2386,3029,3652,3925,8967,10957,11358小时,求该电子元器件在飞机上使用的平均寿...
What-is-this题目来源: su-ctf-quals-2014题目描述:找到FLAG附件解压后无后缀,用winhex打开,右边显示“pic2.jpg”再解压一次,得到两张一样的jpg图片用stegsolve先打开pic1.jpg,再点击“Analyse --> Image Combiner”选择第二张图片pic2.jpg得到flagflag为:AZADI ...
使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [applicationContext.xml] cannot be opened because it does not exist错误。但是用mvn clean package命令编译时成功的。web.
java-链表-练习:package com.etc.liebiao;/** * 链表的简单联系与理解 */public class LbMonkey { public int id ; // 编号 public String name; // 名字 public LbMonkey next; // 它表示后面的猴子 public LbMonkey(){} // ctrl + o public
Problem Description某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input本题目包含多组数据,请处理到文件结束。每组数据第一行包
项目背景采用IDEA+Maven+Spring boot+Spring Cloud搭建了以微服务为框架的系统。问题描述由于各个子项目需要继承自己写的父pom,于是把原本spring boot的parent去掉,改为用dependencyManagement引入,代码如下://去掉原本的parent&amp;amp;amp;lt;!--&amp;amp;amp;lt;parent&amp;amp;amp;gt; &amp;amp;amp;lt;grou
文章目录20201学期《C语言程序设计B》平时自主学习D13428.C对于跳转后的数组可见性的分析程序的出错点小题答题情况D13454.C程序内容逻辑出错位置:分析:题目参考解答D13455.C程序内容跟踪过程要点题目参考解答D13456.C程序内容本题特点跟踪过程要点题目参考解答最后的建议20201学期《C语言程序设计B》平时自主学习D13428.C题干:请单击此处下载文件D13428.C,然后对程序进行跟踪调试,要求不增加或删除行,测试时输入的数据为6 1 3 2 9 -222。程序的功能是:
mysql修改linux的机器名字sudo vi /etc/hostname给linux命令提示起名字在配置文件 ~/.bashrc 或./profileexport PS1=‘(-_-)test:’数据1结构化数据Stu (id, name,age)2.半结构数据点击流stu.xml <stus> <stu> <id&...
GCN 自定义数据集流程定义自己的图矩阵定义GCN模型设定特征矩阵 及 标签训练流程使用的是DGL框架为什么使用DGL 不使用pyG 因为DGL大图支持更好定义自己的图矩阵#An highlighted blockimport dglimport numpy as np# S D source destination 类型 list【int】def build_graph(S,D): # 另一个用于目标端点。 src = np.array(S) dst = n