随机化
_beginend
这个作者很懒,什么都没留下…
展开
-
bzoj 4080: [Wf2014]Sensor Network 随机化
题意给定平面内的n个点,选出一个点集S,使得S里的所有点两两之间欧几里得距离不超过d,问|S|的最大值以及S里的点都有哪些。若答案有多种,输出任意一个。 第一行两个整数n和d,分别表示烤鸭店数和老板给魔法炮的路费。 n<=100,d<=10000分析题意就是要找一个最大团。 正解貌似是二分图最大独立集。 居然还有随机化这种玄学的算法。。。看来是我孤陋寡闻了。 只要每次随机一个序列,然后按顺原创 2017-07-27 16:41:06 · 402 阅读 · 0 评论 -
bzoj 2396: 神奇的矩阵 随机化
题意给出三个行数和列数均为N的矩阵A、B、C,判断A*B=C是否成立。 N不超过1000,矩阵中的数字大于等于0小于1000,数据组数不超过5组。分析随机化大法好! 我们可以先随机出一个n*1的矩阵D,然后判断A*B*D是否和C*D相等即可。代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#inc原创 2017-08-10 07:22:52 · 400 阅读 · 0 评论 -
bzoj 1336/bzoj 1337: [Balkan2002]Alien最小圆覆盖 随机增量法
题意给出N个点,让你画一个最小的包含所有点的圆。输出圆心和半径。 n<=100000。分析随机增量法裸题。假设已经求出了前i-1个点构成的最小圆,且第i个点不在该圆内,那么显然我们取前i-1个点中的若干个与点i构成一个圆,则点i一定在边界上。 那么我们枚举1到i-1中的点j,假设已经求出了1到j-1中的点和i构成的最小圆,且点j不在该圆内,那么点j一定在1到j中的点和i构成的最小圆的边界上。原创 2017-08-23 21:39:42 · 356 阅读 · 0 评论 -
bzoj 3632: 外太空旅行 随机化
题意给出一个无向图,求最大团。 n<=50分析据说正解是搜索,但为什么不用随机化呢?代码#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;const int N=55;int n,a[N],ans;bool vis[N],m原创 2017-09-20 20:21:32 · 317 阅读 · 0 评论