
数学----------------------------
文章平均质量分 79
Fsss_7
这个作者很懒,什么都没留下…
展开
-
UVA1378A Funny Stone Game
链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=41555题意:有n堆石子排成一行,a[0]~a[n-1]。两个人轮流进行游戏:每次玩家都有找到一组三元组(i,j,k){i分析:这题我们对SG函数的理解要更深一点,而且要了解子游戏的异或和对母游戏的影响。对SG函数的理解大家自己去网上找资料学习。我这里只对该题进行原创 2016-05-13 22:08:49 · 440 阅读 · 0 评论 -
hdu5754Life Winner Bo
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5754题意:给定一个n*m的矩阵,有四种棋子(国际象棋的王,王后,骑士,车)。起点在(1,1)先走到(n,m)获胜。分析:车是nim博弈。王后是威佐夫博弈。王和骑士写两个1000*1000的预处理即可。代码:#include#include#include#include#inclu原创 2016-07-26 18:39:50 · 570 阅读 · 0 评论 -
Codeforces 2011-2012 Waterloo Local Contest, 24 September, 2011 E.Harmonious Matrices
链接:http://codeforces.com/gym/100008题意:给定矩阵的长宽n,m。要求在每个格子填0/1并且每个格子自己+周围4个格子为偶数,要求1尽可能多。分析:很明显我们只需要知道第一行的填写情况就能将整个矩阵填出来,但是暴力2^m填写是不可能的,我们设这m个位置为x1,x2...xm。xi=0/1。那么我们可以得到第n+1行每一个位置的情况(一个关于x的集合)且n+1原创 2016-07-15 17:11:29 · 901 阅读 · 0 评论 -
hdu5755Gambler Bo
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5755题意:给定一个只含{0,1,2}的n*m的矩阵。有一种操作:将(x,y)位置+2同时(x-1,y),(x+1,y),(x,y-1),(x,y+1)都会+1。要求进行分析:前段时间刚做完一道这样的题,比赛的时候因为卡其他题了这道题却没看到。想多练一下的转E.Harmonious Matrices原创 2016-07-27 10:11:09 · 1293 阅读 · 0 评论 -
Codeforces Round #361 (Div. 2)D. Friends and Subsequences
链接:http://codeforces.com/contest/689/problem/D题意:给定两个长度为n的数组a,b。求有多少个区间[l,r]有max(a[l]~a[r])==min(b[l]~b[r])。分析:对于每一个a[i]找到它为最大的值的区间最大边界l[i]和r[i],同样处理b数组。然后我们枚举以每一个a[i]为区间max来和b数组计数,注意下去重就行了。代码:原创 2016-07-07 21:04:13 · 487 阅读 · 0 评论 -
51nod1678 lyk与gcd
链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1678题意:中文题。分析:比较基础的容斥题,我们预处理出每个i的所有素因子的组合,比如6={2,3,6},那么我们对于a[6]将它加入到sum[2],sum[3],sum[6]中,统计答案时用容斥思想加加减减就行了。O(nlogn)代码:#includ原创 2016-07-08 11:47:09 · 762 阅读 · 0 评论 -
hdu5724Chess
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5724题意:有个n*20的表格,每行有若干棋子,两个人轮流移动。每次移动棋子只能将这枚棋子移动到它右边的第一个空格,同一个位置最多只能有一个棋子,不能移动棋子的人输。分析:因为每一行只有20个位置,我们直接用二进制保存,然后计算每个状态的sg值,然后将n行的sg值异或起来就行了,xor=0先手输否则原创 2016-07-19 17:06:51 · 1248 阅读 · 0 评论 -
Codeforces Round #360 (Div. 1)B - Remainders Game
链接:http://codeforces.com/contest/687/problem/B题意:给定n个整数a[i]和一个k,对于每一个整数x会有一个数组{x%a[1],x%a[2]....,x%a[n]},要求判断是否能根据一个数组判断出x%k。分析:我们可以将数组的每一位分开看,显然a[i]的循环节是a[i],那么我们就能知道整体的循环节即最小公倍数lcm。那么我们只需要判断lcm能原创 2016-07-08 22:53:53 · 339 阅读 · 0 评论 -
hdu5768Lucky7
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5768题意:求在l~r中有多少个数x满足要求,要求:x%7=0,并且有n个p,a满足x%p=a。分析:容斥+中国剩余定理。注意剩余定理里面可能爆longlong要用快速乘。代码:#include#include#include#include#include#include#in原创 2016-07-29 21:48:53 · 585 阅读 · 0 评论 -
UESTC OJ1219 Ba Gua Zhen
链接:http://mozhu.today/#/problem/show/1219题意:给定n个点m条边有边权的无向图,求一个异或值最大的回路。分析:其实就是将所有环的异或值找出来然后任选一些组成最大的异或值。从k个数中任选一些求最大的异或值在莫涛的高斯消元解XOR方程组里面讲得很清楚。代码:#include#include#include#include#include原创 2016-07-20 15:39:50 · 566 阅读 · 0 评论 -
hdu4790Just Random
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4790题意:给定两个区间[a,b]和[c,d]和两个数p,m,0分析:因为数据范围都是10^9,如果直接暴力是不行的。我们先用容斥原理将x和y的范围变成[0,a']和[0,b']且a'代码:#include#include#include#include#include#inc原创 2016-07-24 19:20:38 · 378 阅读 · 0 评论 -
hdu5749Colmerauer
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5749题意:中文题意。分析:如题解所说求出每个元素的a,b,c,d之后计算贡献的系数即可。。规律好难找,其实系数为a*b*c*d*(a+b)*(c+d)/4。代码:#include#include#include#include#include#include#include#原创 2016-07-23 22:29:46 · 460 阅读 · 0 评论 -
hdu5750Dertouzos
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5750题意:中文题意。分析:用类似均摊的方法在遍历素数的时候加上n/d这个限制会优化。代码:#include#include#include#include#include#include#include#include#include#include#include#原创 2016-07-23 22:26:38 · 431 阅读 · 0 评论 -
whuProblem 1613 - Count in Sama’s triangle
链接:http://acm.whu.edu.cn/land/problem/detail?problem_id=1613题意:构造f[i][0]=a,f[i][i]=b,f[i][j]=f[i-1][j-1]+f[i-1][j]的30行30列的类杨辉三角矩阵,计算所有的数对有(a,b)中有多少个位置的值等于m。分析:因为我们的构造方法是一样的,变动的是a和b,那么我们在每一个位置f[i][原创 2016-05-04 22:43:31 · 448 阅读 · 0 评论 -
hdu5668Circle
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5668题意:给定n个人的约瑟夫环的出队时间点,求出构造这个出队序列的最小报数k,如果无解输出"Creation August is a SB!"。分析:看到题解说是模拟得出n个不定方程,然后用中国剩余定理求解。我想这个模拟想了半天,是不是像普通的数学方法求最后一个出队编号一样去做。然后这样想了很久,原创 2016-05-05 22:30:47 · 787 阅读 · 0 评论 -
hdu1517A Multiplication Game
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1517题意:给定一个整数n,先手从1开始操作,谁先使这个数字>=n谁就获胜。操作:乘以2~9任意一个数。分析:之前做的博弈都是将大数减小,这种博弈是变大,有点不同,但是博弈的基础理论还是不变的,设P(必败点),N(必胜点),那么初始有n~∞是必败点,那么能一步操作到达必败点为必胜点:n/9~n-1(原创 2016-05-18 14:36:48 · 396 阅读 · 0 评论 -
hdu1079Calendar Game
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1079题意:给定一个在1990.1.1~2001.11.4之间的日期year,month,day,两人轮流进行操作:(1)将日期变为下一天。(2)day不变month往后挪一个月,如果日期中下一个月没有day这一天则不能进行操作。谁不能操作谁输。分析:一个处理日期的前一天和后一天、后一个月的问题,加原创 2016-05-18 15:43:41 · 403 阅读 · 0 评论 -
计蒜客 遗失的支付宝密码(中等)
链接:https://nanti.jisuanke.com/t/11160题意:中文题。分析:对于中等难度的n=40的情况,我们可以直接枚举所有是square位置的情况2^(n/2)种,然后容斥m^n-至少有1个位置是square+至少有2个位置是square.....就行了。我们可以发现40*40的所有情况我们可以直接本地打表处理出来。详见代码。打表代码:#include#in原创 2016-07-10 13:39:09 · 682 阅读 · 0 评论 -
hdu4611Balls Rearrangement
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4611题意:给定多组数据,每组有n,a,b。求sigma(i=0~n-1)abs(i%a-i%b)。分析:很显然我们会想到lcm(a,b)是循环节,因为a=10^5,爆了求lcm的贡献不好求,我们想想该怎么快速求得一个lcm块中的价值。如果你随便打个表或者画画图就会发现很多连续的段内是相同的值,那么原创 2016-07-10 17:15:36 · 379 阅读 · 0 评论 -
Codeforces Round #359 (Div. 2)E. Optimal Point
链接:http://codeforces.com/contest/686/problem/E题意:给定t组数据,每组给n个点(x,y,z)。求一个点(X,Y,Z)使得max(|xi-X|+|yi-Y|+|zi-Z|)最小。分析:叉姐的题解很清楚了,我就不再重复一遍了。叉姐题解链接。O(t*log(3e18))。代码:#include#include#include#inclu原创 2016-06-30 00:35:50 · 1063 阅读 · 2 评论 -
POJ1704Georgia and Bob
链接:http://poj.org/problem?id=1704题意:给定n个不同的数表示n个位置上有棋子,两个人轮流进行操作,不能操作的人输,每次可以选一个棋子然后向左移动至少一步并且不能越过别的棋子并且一个格子最多只能有一个棋子。判断先手能否必胜。分析:阶梯博弈的基础题,这题的思路挺巧妙的,先将位置排下序,我们将棋子相邻的两个两两组成一对,对于每一对我们会知道如果前面那个棋子向前走多原创 2016-07-12 13:48:09 · 686 阅读 · 0 评论 -
hdu4315Climbing the Hill
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4315题意:有一群人在爬山,每个人有个离山顶的距离,且没有两个人在同一位置,可以多个人在山顶,其中有一个国王在位置k(标号),两个人轮流操作:任意选一个人然后将他向上移动至少位置1且不能越过其他人,谁将国王移动到山顶谁获胜。分析:如果没有国王的话,显然和poj1704一样,但是有了国王我们就要在处理原创 2016-07-12 16:22:32 · 764 阅读 · 0 评论 -
hdu5699货物运输
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5699题意:中文题。分析:因为只能建一个传送站并且要求最大的时间最小,我们二分答案,但是怎么判断能?设当前答案为x建立传送站的位置为L,R,显然只有r-l>x的运送方案才会需要使用传送站且会满足|l-L|+|r-R|=L+R>=l+r-x。(2)l-r+x>=L-R>=l-r-x。我们只需要判断这两原创 2016-07-20 19:48:53 · 338 阅读 · 0 评论 -
51nod1632 B君的连通
链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1632题意:中文题。分析:原本是一棵树,求删一些边后联通块的期望。很明显联通块个数只和删的边数量有关,即C(n-1,m)*(m+1),n-1条边删m条边得m+1个联通块。代码:#include#include#include#include#i原创 2016-08-01 14:09:33 · 1218 阅读 · 0 评论 -
hdu5730Shell Necklace
链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5730题意:给定a数组,f[i]=sigma(f[i-j]*a[j]),j分析:分治FFT,这题是学snowy_smile的,他分析的很详细,我就不再重复一遍了。代码:#include#include#include#include#include#include#i原创 2016-09-08 14:14:45 · 767 阅读 · 0 评论 -
2016 ICPC 北京网络赛F题Periodic Signal,hiho1388 : Periodic Signal
链接:http://hihocoder.com/problemset/problem/1388题意:给定a,b两个数组,求最优的k使得sigma((a[i]-b[(i+k)%n])^2){0分析:我们将表达式拆开会发现我们只要求-2* a[i]*b[(i+k)%n]最小。这是一个循环的乘积和,我们将所有的情况写出来会是一个n*n的矩阵,其中第k行是a[0]*b[k-1]+a[1]*b[k]原创 2016-09-24 19:53:48 · 1003 阅读 · 2 评论 -
hdu5901Count primes
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5901题意:求n以内素数个数。分析:模板题,没搞懂原理,先弄一个O(n23)O(n^{ \frac{2}{3}})的模板吧。代码:const int N=5e6+10;const int M=7;const int PM=2*3*5*7*11*13*17;bool np[N];int pi[N],pr原创 2016-10-24 20:37:03 · 604 阅读 · 0 评论 -
hdu5909Tree Cutting
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5909题意:给定一棵无根树,统计所有子树的异或和的个数。分析:求出所有子树的异或和,题解的两种方法我都写了一下。第一种是FWT加速卷积O(n*m*logn)。第二种是树分治,因为是无根树,我们可以每次用树dp确定过重心的方案数,然后每次删掉重心就是树分治啦O(n*mlgon)。fwt代码:#原创 2016-10-26 21:38:45 · 830 阅读 · 0 评论 -
hdu5896Running King
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5896题意:给定多个n,求有多少n个点的无向无重边无自环的图满足有环,mod1004535809mod 1004535809。分析:其实看到这个modmod是一个可ntt的费马素数就应该有点方向。直接构图我们不好求,我们反向求有多少n个点的森林设为f(n)f(n),那么我们就可以用n个点的图的总数2n∗(n−原创 2016-10-01 19:23:14 · 764 阅读 · 0 评论 -
hdu5921Binary Indexed Tree
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5921题意:给出多个n,求∑ni=1∑i−1j=0g(i,j)\sum_{i=1}^{n}\sum_{j=0}^{i-1}g(i,j),g(i,j)g(i,j)的意义是ii和jj在二进制意义下去掉公共前缀后的1的个数之和,例如11={1011},13={1101},去掉公共前缀{1100}后剩下{0011}和原创 2016-10-07 16:59:10 · 1262 阅读 · 0 评论 -
hdu5955Guessing the Dice Roll
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5955题意:有一个6面的骰子,有n个人每个人猜了一个长度为l的序列,不停的掷骰子直到满足一个人的序列则那个人获胜,求每个人获胜的概率。分析:因为是一些序列之间状态概率的转变,很容易想到AC自动机的fail树的转换,我们从fail树上确定了各个状态的转变概率就可以得到一个方程组,然后高斯消元求出各个节原创 2016-11-01 14:51:12 · 1662 阅读 · 0 评论 -
【索引】Codeforces
Codeforces Round #378 (Div. 2)A. Grasshopper And the String B. Parade C. Epidemic in Monstropolis D. Kostya the Sculptor E. Sleep in Class F. Drivers DissatisfactionCodeforces Round #377 (Div.原创 2016-10-24 22:14:23 · 573 阅读 · 0 评论 -
hdu5943Kingdom of Obsession
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5943题意:给定n和s,要求将1~n与s+1~s+n一一匹配使得i匹配j有i整除j。求是否能完全匹配。分析:很容易想到如果错开的max(s+1,n+1)~s+n中有>1个素数的话显然是不能完全匹配的,而1e9内素数的间隔不会大于500,叉姐说很容易证明最优匹配重叠的那段一定是互相匹配的,但是窝不知道原创 2016-11-01 19:17:24 · 654 阅读 · 0 评论 -
hdu5751Eades
链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5751题意:统计所有区间中最大值的个数,g[i]表示区间中最大值的个数恰好是i个的区间个数。求sigma(i^g[i])。分析:这题是学snowy_smile的,他分析的很详细了。我就不再重复一遍了,我把他的线段树换成了rmq。代码:#include#include#incl原创 2016-09-08 14:10:22 · 412 阅读 · 0 评论 -
bnu52305Around the World
链接:https://www.bnuoj.com/v3/problem_show.php?pid=52305题意:给定一棵n个节点的树,a到b边权c的意义表示a到b有2*c条不同的边,求从1开始遍历这颗树有多少种不同的排列。分析:将样例中的树画出来我们可以看出一些规律,有些点只能出现在一些特定的位置,比如1只会出现在奇数位且又不是任意奇数位。这个题并不能随便排列而是有些限制。我们需要找到某原创 2016-10-09 22:48:40 · 500 阅读 · 0 评论 -
hdu5894hannnnah_j’s Biological Test
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5894题意:有n个座位(环),求m个人坐上去且两个人相隔至少k个空座位的方案数。分析:先确定1个人的位置,那么剩下的就是C(n-m*k-1,m-1),那么有n*C(n-m*k-1,m-1)种方案然后/m去掉重复的。代码:#include#include#include#include原创 2016-09-22 21:44:21 · 637 阅读 · 0 评论 -
hdu5795A Simple Nim
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5795题意:n堆石子,两个人轮流拿,每次可以选择任意一堆取任意个(不能不拿)或者将一个堆分成3个小堆,问先手胜还是后手胜。分析:打表找sg函数的规律,不会证明。。i=8*k+7时sg[i]=8*k+8,i=8*k+8时sg[i]=8*k+7其他情况sg[i]=i。代码:#include#i原创 2016-08-05 00:39:50 · 472 阅读 · 0 评论 -
hdu5781ATM Mechine
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5781题意:有一个人存了钱在银行,但是不记得具体有多少钱,只记得上界k,他能被最大警告w次,每取一次钱花费一个单位时间,求最小时间刚好取完钱的期望。分析:首先因为要最少时间,因为二分最多logk次,那么我们可以先w=min(w,logk),然后我们设状态f[k][w]表示上界为k最大被警告w次是的期原创 2016-08-03 02:58:00 · 642 阅读 · 0 评论 -
hdu5731Solid Dominoes Tilings
链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5731题意:给定n*m的矩阵,求用骨牌覆盖且稳定的方案数。稳定的定义是没有一行或一列的缝隙是直接分割整个矩阵的。分析:预处理出所有矩阵为i*j的覆盖方案,然后按列容斥按行递推。预处理可以看骨牌覆盖,然后按列容斥很简单,按行递推就是代码里的b[j]-=b[k]*a[j-k]啦。详见代码。原创 2016-09-09 17:29:06 · 433 阅读 · 0 评论 -
hdu5869Different GCD Subarray Query
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5869题意:给定一个a数组,每次询问一个区间[l,r]求这个区间内所有子区间的gcd的种类。分析:很容易想到,当我们固定右端点时在L减小的情况下gcd是递减的且最多形成loga[i]个不同的gcd,当我们固定右端点时对于不同的gcd有一个最大左端点(即L至少要到这个才能在L~R这个区间中能形成这个g原创 2016-09-11 20:39:51 · 1431 阅读 · 0 评论