题目大意:给定n个点,要求分成m段,使每段最小覆盖圆半径的最大值最小
二分答案,然后验证的时候把点一个个塞进最小覆盖圆中,若半径超了就分成一块……
等等你在跟我说不随机化的随机增量法?
好吧
那么对于一个点pos,我们要计算最大的bound满足[pos,bound]区间内的最小覆盖圆半径不超过二分的值
直接上二分是不可取的,因为我们要求m次,如果每次都验证一遍[1,n/2]直接就炸了
...
分类:
其他好文 时间:
2015-04-17 22:22:01
阅读次数:
226
#include#includeusing namespace std;void swap(int*a, int *b){ int *c = a; a = b; b = c;}int Partition(int *A, int p, int r){ int x = A[r];...
分类:
编程语言 时间:
2015-04-03 22:12:46
阅读次数:
127
之前的一篇笔记曾分析过,Go的map在底层是用hashmap实现的。由于高效的hash函数肯定不是对key做顺序散列的,所以,与其它语言实现的hashmap类似,在使用Go语言map过程中,key-value的插入顺序与遍历map时key的访问顺序是不相同的。熟悉hashmap的同学对这个情况应该非常清楚。
所以,本文要提到的肯定不是这个,而是一个比较让人惊奇的情况,下面开始说明。
1. 通过...
分类:
其他好文 时间:
2015-03-31 16:11:21
阅读次数:
494
另一个选址模型假设有两个小镇,本别称为东镇和西镇,每个小镇最多能容纳10万人,然后我们假设世界上一共有20万人,他们一共有两种人,分别是大个子和小个子。策略是你选择东镇还是西镇。利润与参与者所属人群在所在小镇的人数呈如下关系。并且我们假定如果某个小镇的人数超过10万,我们会采取随机策略选出一部分多出...
分类:
其他好文 时间:
2015-03-30 10:50:14
阅读次数:
203
1、简介跳跃列表(也称跳表)是一种随机化数据结构,基于并联的链表,其效率可比拟于二叉查找树(对于大多数操作需要O(log n)平均时间)。基本上,跳跃列表是对有序的链表增加上附加的前进链接,增加是以随机化的方式进行的,所以在列表中的查找可以快速的跳过部分列表,因此得名。所有操作都以对数随机化的时间进...
分类:
其他好文 时间:
2015-03-29 15:03:10
阅读次数:
213
题目链接:BZOJ - 2428题目分析这道题使用随机化算法来做,可以使用模拟退火,也可以random_shuffle之后贪心。模拟退火:要进行多次模拟退火,每次进行模拟退火之前,给每个点随机分配一下集合。然后模拟退火的随机移动就是随机一个点,再找另一个集合y,将这个点移动到集合y中。开始时模拟退火...
分类:
其他好文 时间:
2015-03-16 20:57:55
阅读次数:
142
快速排序在最坏情况下的复杂度较高,采取随机化算法选择每次的分割点,能够在一定程度上使每次划分的平衡性更好。
//
// main.cpp
// eoj1807
//
// Created by Fangpin on 15/3/15.
// Copyright (c) 2015年 FangPin. All rights reserved.
//
#include
#include
#...
分类:
编程语言 时间:
2015-03-15 16:54:45
阅读次数:
147
题目:可怜的二柱子,老师又对他的出题系统提出了新的要求:1,题目避免重复;2,可定制打印的方式;3,可控制下列参数:是否有乘除,是否有括号,数值范围,加减有无负数,乘除有无余数,是否支持分数,打印每行间隔可调整。解题思路:一,(1)题目避免重复:使用srand(seed)函数进行随机化,随seed的...
分类:
其他好文 时间:
2015-03-15 10:51:01
阅读次数:
136
【51CTO专稿】本文将详细介绍Android中的防缓冲区溢出技术的来龙去脉。
1、什么是ASLR?
ASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。通常情况下,黑客会利用某个特定函数或库驻存...
分类:
移动开发 时间:
2015-03-12 17:24:57
阅读次数:
254