关闭

[Boruvka算法 曼哈顿距离最大生成树] 省选模拟赛 4 C. 树树树 mst

题目大意 求曼哈顿距离最大生成树 n≤100000n\leq 100000Boruvka算法是什么呢 也就是说 我们只要每次求一个连通块连出去的最远的边 把这些边都加入 只要这样 O(logn)O(\log n)就能得到一棵最大生成树每次求两个连通块之间最大边的时候,就是求 |xi−xj|+|yi−yj||x_i − x_j| + |y_i − y_j| 的最大值,分情况用set维护即可。但是神...
阅读(505) 评论(2)

[高精度 递归] BZOJ 2930 [Poi1999]梦游者 Sleepwalker

我还能说什么呢 #include #include #include #include using namespace std; const int con=100000000; const int wei=8; class Int{ public:long long a[100]; void getdata(int x){memset(a,0,sizeof(a));wh...
阅读(144) 评论(0)

[悬线法] COGS 1722 [WC2002]奶牛浴场

论文:王知昆--浅谈用极大化思想解决最大子矩形问题 经典好论文 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,s...
阅读(112) 评论(0)

[GarsiaWachs算法] BZOJ 3229 [Sdoi2008]石子合并 & POJ 1738 An old Stone Game & 51Nod 1023 石子归并 V3

教主八题之一 却没有写堆或平衡树 投机取巧了 以后会把四边形不等式优化 和 数据结构维护都写一遍 详细解法见ACdreamers : http://blog.csdn.net/acdreamers/article/details/18043897 O(n2)的算法在这位神犇的实现下表现的十分优越 %%% #include #include #include using namespa...
阅读(284) 评论(0)

[悬线法] 51Nod 1158 全是1的最大子矩阵

复习 #include #include #include using namespace std; const int N=505; int n,m,a[N][N]; int lft[N][N],rgt[N][N],hgt[N][N]; int main(){ freopen("t.in","r",stdin); freopen("t.out","w",stdout); ...
阅读(169) 评论(0)

[近似算法 分治] UER #7 B.天路

vfk的题解没看懂 羞... #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) ret...
阅读(131) 评论(0)

[线段树 中位数] BZOJ 4071 [Apio2015]巴邻旁之桥

首先如果办公室和家在同一侧,直接将距离加到答案中即可。 如果办公室和家不在同一侧 对于k=1,显然只需要将桥建在所有位置的中位数即可。 对于k=2,可以发现每个人都会选择距离家和办公室中点较近的桥行走。那么我们就可以按照家和办公室中点将每个人排序,枚举分割点,将分割点前后的人分别处理。在权值线段树上二分求中位数 #include #include #include using na...
阅读(644) 评论(0)

[悬线法] BZOJ1057 [ZJOI2007]棋盘制作

当年是怎么把这道悬线法SB题漏掉没刷的 总之悬线法,刚好在省选前复习下 一开始愣是没看出来 诶 太弱 #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf...
阅读(285) 评论(0)

[N皇后 构造] BZOJ 3101 N皇后

这种题的意义何在... 传送门 http://blog.csdn.net/nike0good/article/details/41006705 以下是找到的N皇后一组解得构造法: 一、当n mod 6 != 2 或 n mod 6 != 3时,有一个解为: 2,4,6,8,...,n,1,3,5,7,...,n-1 (n为偶数) 2,4,6,8,...,n-1,1,3...
阅读(410) 评论(0)

[随机增量法 最小圆覆盖] BZOJ 1366 [Balkan2002]Alien最小圆覆盖 & 1337 最小圆覆盖 & 2823 [AHOI2012]信号塔

期望O(n) 棒极了 BZOJ 2823 #include #include #include #include #define eps 1e-8 #define X first #define Y second using namespace std; typedef pair Point; int n; Point P[1000005],C; double R; inline...
阅读(844) 评论(0)

[全局最小割] BZOJ 3345

最朴素的做法 n次最小割 O(mn^2) “ 关于全局最小割的问题: 首先刚才提到的集合S和T是客观存在的与最优解相关但不知道的量。S+T=全顶点集 那么一定有顶点1属于S或1属于T。 刚才又提到了对任意点s属于S,t属于T,对st求最小割即可得到全局最优解。 当点1属于S时,我们只要枚举另一个点i,强行认为它属于T,求一遍割。那么当i真的属于T的时候我们就得到最优解了。否则得到了一个没...
阅读(577) 评论(0)

[最大生成树] BZOJ 3943 [Usaco2015 Feb]SuperBull

#include #include #include using namespace std; int main() { int N; cin >> N; vector A(N); for (int i = 0; i > A[i]; } long long result = 0; vector used(N, fa...
阅读(481) 评论(0)

[悬线法] BZOJ 3039 玉蟾宫

《浅谈用极大化思想解决最大子矩形问题》王知昆 #include #include #include #include using namespace std; typedef pair abcd; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(b...
阅读(541) 评论(0)
    个人资料
    • 访问:261085次
    • 积分:11910
    • 等级:
    • 排名:第1320名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:49条
    最新评论