分治(/cdq分治)
Nowed
把泪水种在心上,一定会开出勇敢的花。
展开
-
#Floyd分治# [Ybtoj NOIP2020 模拟赛 B 组 Day7]路径之和
Title 大意:询问不经过k∈[1,n]k\in [1,n]k∈[1,n],任意有序数对(l,k,r)(l,k,r)(l,k,r)的最短路和。 Solution Code #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #define ll long long #define rep(i,x,y) for(int i=x;i<=y;i++) usi原创 2020-11-03 08:11:39 · 159 阅读 · 0 评论 -
#cdq分治# [luogu P3157] [CQOI2011]动态逆序对
Title P3157 [CQOI2011]动态逆序对 Solution 对于逆序对,要满足 i<j,a[i].time<a[j].time,a[i].z>a[j].zi<j,a[i].time<a[j].time,a[i].z>a[j].zi<j,a[i].time<a[j].time,a[i].z>a[j].z i<ji<ji<j可以在cdq中维持 然后根据a[i].z>a[j].za[i].z>a[j].za[i].原创 2020-09-09 17:14:21 · 156 阅读 · 0 评论 -
#cdq分治# [luogu P3810] 【模板】三维偏序(陌上花开)
Title [luogu P3810] 【模板】三维偏序(陌上花开) Solution 第一维sortsortsort 第二维cdqcdqcdq分治,类似归并排序 第三维树状数组 Code #include<cstdio> #include<algorithm> #include<string> #define rep(i,x,y) for(int i=x;i<=y;++i) using namespace std; const int maxn=2e5原创 2020-08-30 22:37:54 · 166 阅读 · 0 评论 -
#简单分治#[jzoj 2940] 偷懒的小X
题目 话说3008年的Orz教主节,全民狂欢,传递教主圣火,以致万人空巷,股票飞涨。真乃锣鼓喧天,鞭炮齐鸣,红旗招展,人山人海呐。可是小X为了准备NOIP3008,不得不待在家里好好Coding。小X希望早点结束当天的任务,加入圣火传递队伍中去。 在这个不亚于狂欢节的日子里,小X的老师却“公然违抗”休假法令,布置小X写一个小根堆,但是小X不会堆的操作,所以想了一个偷懒的办法: 堆是一棵完全二叉...原创 2019-11-09 11:35:22 · 226 阅读 · 0 评论 -
[jzoj 1449]棋盘覆盖{分治}
题目 题目描述 在一个2^k× 2^k个方格组成的棋盘中恰有一个方格与其他方格不同(图中标记为-1 的方格),称之为特殊方格。现用L 型(占3 个小格)纸片覆盖棋盘上除特殊方格的所有部分,各纸片不得重叠,于是,用到的纸片数恰好是(4^k−1) / 3 。在下表给出的一个覆盖方案中,k=2,相同的3个数字构成一个纸片。 输入 输入文件Chessboard.in,共两行,第一行一个数N为棋原创 2018-02-04 12:36:02 · 444 阅读 · 0 评论 -
[luogu 2083]Fractal {分形,递归}
题目 http://poj.org/problem?id=2083 解题思路 可以先用递归构好图(图上自由规律)后,再逐个输出即可。 代码 #include<cstdio> using namespace std; int n,h[11]; char map[801][801]; void gs(int k,int x,int y)//k为级数,x、y为坐标 ...原创 2018-08-13 21:30:09 · 242 阅读 · 0 评论 -
[jzoj 5231] 序列问题{分治+前缀和优化}
题目 Description Input 输入文件名为seq.in。 首先输入n。 接下来输入n个数,描述序列 A。 Output 输出文件名为seq.out。 输出一行一个整数代表答案。 解题思路 这道题可以用分治做——每次我们只需要把一个大区间分成两个小区间,然而我们只用处理跨过中点的区间,分三类讨论: min值和max值都在中点左边的。 min值和max值都在中点右边的。 min值和m...原创 2019-01-28 07:42:36 · 236 阅读 · 0 评论