
数学
文章平均质量分 62
commonc
这个作者很懒,什么都没留下…
展开
-
BZOJ3695: 滑行
题目大意:给一个平面,宽度为X,从上到下划分成了N个区域,每个区域有一个高度和速度,问从(0,0)到(X,Y)最快时间这题我看了好长时间才看懂题面再说什么...看一下发现和光的折射很像...然后我们可以二分初始角度,然后根据折射定律可以直接算出终点然后啊,这题十分非常特别的坑二分的时候必须类似我这么写...为什么呢?因为asin()函数里面可能不在定原创 2016-05-11 09:54:52 · 923 阅读 · 1 评论 -
BZOJ1128: [POI2008]Lam
题目大意:有一个无限长的序列,现在给你n个数,p1~pn,要求第i次把所有pi的倍数染成i这种颜色,问最后每种颜色占总长度的几分之几。保证pi两两互质一个显然的做法:由于pi两两互质,所以我们可以从后向前扫,令tmp[i]=tmp[i+1]*(p[i]-1)/p[i],则ans[i]=tmp[i+1]/p[i]显然鉴于p[i]和n的大小,直接做肯定是要爆longlong的而直接原创 2017-03-01 07:40:54 · 1083 阅读 · 0 评论 -
最小圆覆盖算法
算法目的:最小圆覆盖算法可以在线性时间复杂度内求出覆盖n个点的最小圆算法步骤: ①首先现将所有点随机排列 ②按顺序把点一个一个的加入(一步一步的求前i个点的最小覆盖圆),每加入一个点就进入③ ③如果发现当前i号点在当前的最小圆的外面,那么说明点i一定在前i个点的最小覆盖圆边界上,我们转到④来进一步确定这个圆,否则前i个点的最小覆盖圆与前i-1个点的最小覆盖圆是一样的,则不原创 2016-08-23 16:05:39 · 18078 阅读 · 6 评论 -
BZOJ2082: [Poi2010]Divine divisor
题目大意:给出一个用m个ai乘起来表示的n,求出一个最大的k,使得存在一个d,使得d^k|n,并求出在这种情况下符合条件的d的个数我们想求得答案,很自然的想要进行质因数分解,想要把n进行质因数分解,显然要把ai进行质因数分解但是由于ai有点大,直接根号ai全部分解显然是不现实的那么我们不妨考虑先筛出10^6以内的所有素数,然后用这些素数来筛ai这样筛完之后,对于所有的ai,原创 2016-12-29 14:05:11 · 645 阅读 · 0 评论 -
BZOJ2277: [Poi2011]Strongbox
题目大意:有一个密码箱,0到n-1中的某些整数是它的密码。且满足,如果a和b都是它的密码,那么(a+b)%n也是它的密码(a,b可以相等)某人试了k次密码,前k-1次都失败了,最后一次成功了。问:该密码箱最多有多少不同的密码。假如x是密码,则所有gcd(x,n)的倍数就一定是密码,反之则一定不是换言之,密码一定可以表示为x,2x,3x,4x,......其中x为n的一个约数推出原创 2016-10-09 14:50:07 · 1480 阅读 · 0 评论 -
BZOJ2962: 序列操作
题目大意:给定n个数,要求支持区间加,区间取相反数,区间查询任意选c(c<=20)个数的所有方案中乘积的和和维护k次方的和很像,想要维护选c个数,就要把选1~c个数的方案全部维护出来 这样当合并两个区间的时候(pushup),只需要枚举左右区间分别取了几个数即可现在考虑两种修改操作: 1.区间取相反数 发现这种操作只会影响区间选奇数个数的情况,把这些答案全部变成相反数即可 2.区间加 这个原创 2016-09-07 10:46:07 · 622 阅读 · 0 评论 -
BZOJ2425: [HAOI2010]计数
题目大意:给你一个最多50位的数,求在所有通过由他去掉0和重新排列数字顺序能产生的数中,比他小的有多少个首先位数少的肯定有去掉0的操作,我们可以默认是把0挪到了前面 问题就变成了把这些数字重新排列顺序能产生多少个比他小的数 首先需要知道当各个数字个数分别为a0,a1...a9a_{0},a_{1}...a_{9}时,自由排列能产生的数的个数为(a0+a1+...+a9)!a0!a1!...a9!原创 2016-09-07 10:14:41 · 1031 阅读 · 0 评论 -
BZOJ3771: Triple
题目大意:给定n把斧头的价值,问在这些斧头中随便挑一个两个或三个,价值总和分别有多少种拿这道题练了练FFT的理解程度首先我们考虑一个函数F(x)=a0+a1x^1+a2x^2+........无穷无尽(当然到后面系数可能是0)我们称这个为生成函数接着我们可以把每一项的系数想象成这种斧头的数量,比如当你有一把1斧头,一把3斧头,生成函数就是F(x)=x+x^3这个东西原创 2016-08-12 10:02:59 · 735 阅读 · 0 评论 -
BZOJ1336&1337:[Balkan2002]Alien最小圆覆盖
题目大意:给定n个点,求最小圆覆盖最小圆覆盖裸题....算法讲解戳→这里#include#include#include#include#include#define N 100010using namespace std;struct node{double x,y;}b[N];node O;double R;double sqr(double x){原创 2016-08-23 16:07:29 · 462 阅读 · 0 评论 -
BZOJ2280: [Poi2011]Plot
题目大意:给定n个点和m,要求把n个点分成m段,使得每段的最小覆盖圆的半径的最大值最小肯定能想到要二分答案,然后看看怎么判定对于每个点来说,需要找到序列中最远能到达的从他开始符合条件的点但是因为最小圆覆盖需要随机打乱点才能保证时间复杂度,所以我们不能依次推出最小覆盖圆,那么能想到二分但是每次检验是O(长度)的,而我们需要二分m次,直接二分可能会使时间复杂度变成O(logIN原创 2016-08-23 16:09:52 · 800 阅读 · 0 评论 -
BZOJ3834: [Poi2014]Solar Panels
题目大意:给定A,B,C,D,求满足A≤x≤B&&C≤y≤D的gcd(x,y)的最大值首先枚举答案n,变成检验⌊A−1n⌋\lfloor\frac{A-1}{n}\rfloor <⌊Bn⌋\lfloor\frac{B}{n}\rfloor && ⌊C−1n⌋\lfloor\frac{C-1}{n}\rfloor <⌊Dn⌋\lfloor\frac{D}{n}\rfloor 有没有解都是取整,何不分块原创 2016-05-13 15:10:06 · 1333 阅读 · 0 评论 -
BZOJ 3748: [POI2015]Kwadraty
Orz Claris http://www.cnblogs.com/clrs97/p/4608345.html#include #define N 507 typedef long long ll; ll n,l=12,r=1442250,mid,t,ans; int i,j,v[N],sum[N],f[N]={0,1,0,0,2,2,0,0,0,3,3,0,0转载 2016-04-29 14:47:32 · 1030 阅读 · 0 评论 -
BZOJ4377: [POI2015]Kurs szybkiego czytania
题目大意:给定n,a,b,p,其中n,a互质。定义一个长度为n的01串c[0..n-1],其中c[i]==0当且仅当(ai+b) mod n 给定一个长为m的小01串,求出小串在大串中出现了几次。首先很容易想到,当确定小串的第一位在大串当中的位置时,小串中所有数的值就都确定了先不考虑0和1不妨设x为小串第一个数实际的值则我们可以知道小原创 2016-04-29 15:13:46 · 1338 阅读 · 0 评论 -
BZOJ3421: Poi2013 Walk
题目大意:有2n2^n个长度为n的01串,两个01串之间有边当且仅当这两个01串只有一位不同,现在从这2n2^n个串中拿掉k个,问指定两个串之间能否到达吐槽: 先给这题100个差评,这题无论是POI官网还是BZOJ都特别差 先说POI官网,给的题解直接来了个定理也没证,然后说了一句这个定理在opisu中已经给出了,我拿百度翻译翻译了一下发现opisu是description 的意思…可是desc原创 2016-06-14 13:26:30 · 1231 阅读 · 0 评论