用户工具

站点工具


2020-2021:teams:too_low:cf665cy

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

2020-2021:teams:too_low:cf665cy [2020/07/17 17:07]
member 创建
2020-2021:teams:too_low:cf665cy [2020/07/17 17:13] (当前版本)
member
行 4: 行 4:
  
 水题,吓唬人的。 水题,吓唬人的。
 +<​hidden>​
 <code cpp> <code cpp>
 #​include<​iostream>​ #​include<​iostream>​
行 25: 行 25:
 } }
 </​code>​ </​code>​
 +</​hidden>​
 ===== B ===== ===== B =====
  
行 31: 行 31:
  
 **思路**:找出 n 的大于 1 的最小因子 k,a = n/k,b = n - n/​k。不会证明,感觉是对的。 **思路**:找出 n 的大于 1 的最小因子 k,a = n/k,b = n - n/​k。不会证明,感觉是对的。
 +<​hidden>​
 <code cpp> <code cpp>
 #​include<​iostream>​ #​include<​iostream>​
行 62: 行 62:
 } }
 </​code>​ </​code>​
 +</​hidden>​
 ===== C ===== ===== C =====
  
行 67: 行 68:
  
 **题解**:显然,情况1:如果a本来就单调增,则为0次。情况2:如果没有一个数字在对应位置上,则为1次。情况3:在其他情况下,总能找到一个方法,对全部的区间重排,使得每个数字都不在自己原本的位置上并且不是最终要求的位置,这样就能转化为情况2,所以答案为2。 **题解**:显然,情况1:如果a本来就单调增,则为0次。情况2:如果没有一个数字在对应位置上,则为1次。情况3:在其他情况下,总能找到一个方法,对全部的区间重排,使得每个数字都不在自己原本的位置上并且不是最终要求的位置,这样就能转化为情况2,所以答案为2。
 +<​hidden>​
 <code cpp> <code cpp>
 #​include<​iostream>​ #​include<​iostream>​
行 123: 行 124:
 } }
 </​code>​ </​code>​
 +</​hidden>​
 ===== D ===== ===== D =====
  
行 128: 行 130:
  
 **题解**:一开始想区间dp,发现数据太大搞不了,又想优先队列贪心,后面又发现不太对。实际上,如果我进行了一次操作,得到了一个新数字a,​那么我的下一次操作就最好不要选择与a相邻的数,因为这样的话,实际上相当于在原来的环上删掉了2个数字(因为a是原本环上两个数字 的和),按照这个思路贪心即可。实现的话,直接拆环就行。 **题解**:一开始想区间dp,发现数据太大搞不了,又想优先队列贪心,后面又发现不太对。实际上,如果我进行了一次操作,得到了一个新数字a,​那么我的下一次操作就最好不要选择与a相邻的数,因为这样的话,实际上相当于在原来的环上删掉了2个数字(因为a是原本环上两个数字 的和),按照这个思路贪心即可。实现的话,直接拆环就行。
 +<​hidden>​
 <code cpp> <code cpp>
 #include <​cstdio>​ #include <​cstdio>​
行 162: 行 164:
 } }
 </​code>​ </​code>​
 +</​hidden>​
2020-2021/teams/too_low/cf665cy.1594976829.txt.gz · 最后更改: 2020/07/17 17:07 由 member