![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GDKOI
TARsier_Gu
这个作者很懒,什么都没留下…
展开
-
【NOIP2017GDKOI】a
DescriptionSolution很明显的一道题,只要仔细想想就能发现:某两个数所能构成的最小数是他们的最大公因数。当然,所求出的公因数也可以和其他数求最大公因数,那就相当于对所有数都一起求出最大公因数。为什么要求出最大公因数呢?因为求出了最小的可组成的数时,就能够一点点减掉,能减到零的数必然是这个公因数的倍数。Codevar a,b:array[0..100000] of longin原创 2017-01-12 19:27:36 · 1164 阅读 · 0 评论 -
【NOIP2017GDKOI】b
DescriptionSolution有一点巧妙,但是应该还是比较容易想到的。分析新增节点对于答案的贡献可以发现,转化成二进制后建树会更容易。当遇到某一位为0时,就应当在同一层新增一个节点,若是为1,在新加一个点之后,还应递进到下一层。自己在草稿纸上推一下,从底层算起,每个节点对答案的贡献是他儿子节点的乘积再+1。Codevar n,i,sum,s1,s2:longint; l,r:原创 2017-01-12 20:05:43 · 602 阅读 · 0 评论 -
【NOIP2017GDKOI】c
DescriptionData ConstraintSolution可以看出来,只要一段中1的个数和0的个数相同就可以满足了,前缀和能够比较好地判断是否合法。观察数据可以发现,询问的长度总和不会超过2∗1052*10^5,那么长度小于等于300的可以直接预处理出来,剩下的直接暴力,均摊的时间不会很多。Codeconst mx=350;var t:array[0..200000] of lo原创 2017-01-12 20:36:05 · 572 阅读 · 0 评论