上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 54 下一页
摘要: 基于圆的对称性,我们只需要考虑第一象限的整点即可满足条件的x,y都是整数数学上这类问题我们通常用一个量表示另一个量y^2=(r-x)(r+x) (r-x)(r+x)要是完全平方数令d=gcd(r-x,r+x)则y^2=d^2*a*b a=(r+x)/d b=(r-x)/d;不难发现此时(a,b)=1... 阅读全文
posted @ 2014-10-16 22:31 acphile 阅读(255) 评论(0) 推荐(0)
摘要: 首先这种题目肯定是要先排序,以x为第一关键字,y为第二关键字不难想到O(n2)的dp,下面显然要优化不难发现,由于两点的耗费是坐标差的平方的和,不带根号,因此,不难发现一个很有用的性质,如果从A点能到C点,C点到B,这样走C点一定比不走C点优于是不难想到我们要维护y坐标上的上x最大的点,这个点一定是... 阅读全文
posted @ 2014-10-14 22:36 acphile 阅读(238) 评论(0) 推荐(0)
摘要: 明显的二分图最大独立点权集ans=总点权-最小割(最大流) 1 const dx:array[1..4] of longint=(0,0,-1,1); 2 dy:array[1..4] of longint=(1,-1,0,0); 3 inf=10000007; 4 5 type no... 阅读全文
posted @ 2014-10-07 22:03 acphile 阅读(148) 评论(0) 推荐(0)
摘要: 这道题初看真的毫无思路,又是合并又是分裂的 但实际上我们知道,当两组和相等的时候才能由一组变成另一组 我们将初始状态和最终状态划分成若干对,每对中的两组元素和相等的 不难发现,最少步骤=n+m-2*对数 因为在一对不能再划分的组中,具有k个元素变换到具有j个元素所花的最短步骤是k+j-2 于是问题就 阅读全文
posted @ 2014-10-07 21:54 acphile 阅读(279) 评论(0) 推荐(0)
摘要: 两题是类似的,这里说一下bzoj1853首先我们求出所有的幸运号码,注意如果存在x是y的倍数则x不算在内,避免之后重复计算下面我们就要统计幸运号码的倍数了,这显然是要用到容斥原理的但是幸运号码很多,如果直接暴力找几个幸运号码的公倍数做容斥原理弄会TLE的;因此我们想到在搜索中剪枝,如果几个幸运号码的... 阅读全文
posted @ 2014-10-07 21:34 acphile 阅读(1067) 评论(0) 推荐(0)
摘要: 不难发现,要让约数尽可能多,那么素因子越小的的指数一定越大可能的素因数的种类也不超过10种然后直接暴搜即可 1 const p:array[1..10] of longint=(2,3,5,7,11,13,17,19,23,29); 2 var n,ant,ans:int64; 3 procedur... 阅读全文
posted @ 2014-10-07 21:19 acphile 阅读(114) 评论(0) 推荐(0)
摘要: 对于这道题第一感觉是图论相关然后我们先分析,假设a[i]在A集合需要的元素是a[x],在B集合是a[y]那么假设a[i]在A集合,那必然a[x]也必须在A集合,由于a[y]如果在B集合就没有对应元素,则a[y]也一定在A集合同理,当a[i]在B集合,a[x],a[y]一定也要在B集合对此我们可以分析... 阅读全文
posted @ 2014-09-23 21:24 acphile 阅读(146) 评论(0) 推荐(0)
摘要: 其实这道题只告诉了一个事当出现多个满足答案约束条件是,我们可以求一个再求一个,不要一下子全求完前两个条件怎么弄之前已经做过类似的了于是我们可以用记忆化搜索找出最小差异然后配合最小差异来剪枝,搜索出最小答案 1 var a,b:array[0..110] of longint; 2 f:arr... 阅读全文
posted @ 2014-09-23 21:11 acphile 阅读(202) 评论(0) 推荐(0)
摘要: 对于xor有一个非常重要的性质A xor B xor B=A 并且满足交换律和结合律这道题是求无根树上最长的xor路径我们知道,无根树的题目我们都是要想办法转化为有根树来处理当我们确定了一个根,根到每个节点i的xor路径f[i]可知则在树中,任意两个节点ij间的xor路径长度即为f[i] xor f... 阅读全文
posted @ 2014-09-23 21:04 acphile 阅读(224) 评论(0) 推荐(0)
摘要: 其实和bzoj1878类似只不过要求的是区间内数量多于1个的数字种数其实还是按照bzoj1878做只不过我们是把每一种数字下一个出现的位置+1,并把这个位置置为0 1 var x,y,ans,p,last,a,c,next:array[0..1000010] of longint; 2 ma... 阅读全文
posted @ 2014-09-19 22:44 acphile 阅读(226) 评论(0) 推荐(0)
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 54 下一页