上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 42 下一页
摘要: 题意:给n,m,求出 思路:题意为求出1~m所有数和n的gcd之和。显然gcd为n的因数。我们都知道gcd(a,b)= c,那么gcd(a/c,b/c)= 1。也就是说我们枚举n所有的因数k,然后去找1~m/k中和n/k互质的个数就是gcd为k的个数。这个直接容斥就行。 代码: 阅读全文
posted @ 2018-11-01 12:13 KirinSB 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个环,有1~N编号,m次操作,将a位置的值改为b,问你这个环当前最小连续和多少(不能全取也不能不取) 思路:用线段树维护一个区间最值连续和。我们设出两个变量Lmin,Rmin,Mmin表示区间左边最小连续和,右边最小连续和,区间最小连续和,显然这可以通过这个方式更新维护。 现在我们已经可以 阅读全文
posted @ 2018-10-31 21:46 KirinSB 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 思路:题意转化为求 (ax+by=dis) || (ax+cy=dis) || (bx+cy=dis) 三个式子有解时的最小|x| + |y|。显然求解特解x,y直接用扩展欧几里得,那么怎么求|x| + |y|?xy关系为一条直线,那么|x| + |y|应该是在x取0或者y取0的时候,但是要整数,所 阅读全文
posted @ 2018-10-24 22:14 KirinSB 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 题意:求乘法逆元最小正正数解 思路:a*x≡1(mod m),则称x 是 a 关于 m 的乘法逆元,可以通过解a*x + m*y = 1解得x。那么通过EXGcd得到特解x1,最小正解x1 = x1 % m,如果x1 <=0,x1 += m,注意m是负数时取绝对值,因为是正解,所以不能用(x1%m+ 阅读全文
posted @ 2018-10-24 16:50 KirinSB 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 思路:Splay数查找前驱后继 代码: 阅读全文
posted @ 2018-10-24 12:09 KirinSB 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 思路(来自题解): 众所周知树上两个点xy的距离是deep[x]+deep[y]-deep[lca(x,y)]*2 然后我们把这个加减法换成异或,我们就会发现,deep[lca(x,y)]被消掉了 所以题目就简化成w是每个点的前缀异或和,只要找到一对最大的(x,y)让w[x]^w[y]最大就行了,这 阅读全文
posted @ 2018-10-22 11:50 KirinSB 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 思路:先把所有数字存进字典树,然后从最高位贪心。 代码: 阅读全文
posted @ 2018-10-21 23:36 KirinSB 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.nowcoder.com/acm/contest/203/I?tdsourcetag=s_pcqq_aiomsg来源:牛客网 思路:我们用用fa[i]表示距离i最近的大都市,dis[i]表示i距离该大都市的距离。我们先把所有大都市加入初始点,然后跑Dijkstra, 阅读全文
posted @ 2018-10-18 23:47 KirinSB 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 题意:把'+', '-', '*' 和'/'按顺序插入任意两数字间隔,使得操作得到后计算后最大。 思路:没想到是个水题,打的时候想得太复杂了。这道题其实只要考虑*和/。显然我们要把a*b/c弄到最小。那么ab只有一位,c可能有两位。m+n-a*b/c最大,那么mn和最大,那么就是-号前面分割最大和。 阅读全文
posted @ 2018-10-17 23:24 KirinSB 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题意:给一棵树,问你最多能找到几个组合(u,v),使得两点距离不超过k。 思路:点分治,复杂度O(nlogn*logn)。看了半天还是有点模糊。 显然,所有满足要求的组合,连接这两个点,他们必然经过他们的最小公共子树。 参考:【poj1741】Tree 树的点分治 代码: 阅读全文
posted @ 2018-10-16 23:32 KirinSB 阅读(211) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 42 下一页