![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
结论题
wisdom_grass
这个作者很懒,什么都没留下…
展开
-
洛谷P1072 Hankson的趣味题
传送门solution:很妙的数学推导题易知,一般的,令k=gcd(a,b)k = \gcd(a, b)k=gcd(a,b),则gcd(a/k,b/k)=1\gcd(a / k, b / k) = 1gcd(a/k,b/k)=1。那么将gcd(x,a0)=a1\gcd(x, a_0) = a_1gcd(x,a0)=a1转化为gcd(x/a1,a0/a1)=1\gcd(x / a_1, a_0 / a_1) = 1gcd(x/a1,a0/a1)=1 ①又由b1=lcm(x,b0)原创 2020-11-04 21:17:49 · 143 阅读 · 0 评论 -
洛谷P7043 村国
传送门Solution:这题乍一看毫无思路,但是仔细思考(指思考了两天),找到了突破口。手玩一下样例,设最大值为AiA_iAi(在第iii个结点),那么在旅行若干次iii后,其相邻结点中会有一个Aj=AiA_j = A_iAj=Ai(在第j个结点)。此时若iii < jjj,则继续旅行iii,使得Aj=Ai+1A_j = A_i + 1Aj=Ai+1。接下来应该旅行jjj,而旅行一次jjj后,因为jjj的相邻结点中iii的AAA值最大,且此时AiA_iAi又会大于(或等于,取决于ii原创 2020-11-04 13:15:12 · 90 阅读 · 0 评论 -
洛谷P1631 序列合并
传送门Solution:首先将a与b数组分别排序。原理:对于每个i,a_i + b_i <= a_i + b_{i+1} <= … <= a_i + b_N流程:对于每个i,初始化时将不等式打头的那个扔进优先队列。取出最小值,弹出,然后将该不等式“所在位置”的后一位扔进优先队列。如取出的值是a_3 + b_5,接下来应将a_3 + b_6扔进优先队列。注意当取出的值为a_x + b_x时,应将a_{x+1} + b_x,a_x + b_{x+1}扔进优先队列。重复步骤2原创 2020-11-03 22:59:56 · 76 阅读 · 0 评论