摘要:
A. Inscribed Figures 分类讨论打表即可。 PS:这道题翻译有歧义。 这样稍微翻转一下,就可以是$7$个交点呀...(大概是我没看英文题干导致的惨案) cpp include include include using namespace std; const int N = 20 阅读全文
摘要:
A. Reverse a Substring 容易看出,只要符合递增顺序就符合$NO$,否则则可以找到一组,每次记录最大值比较即可。 B. Game with Telephone Numbers $Vasya$用尽所有轮次可以把几个$8$扔到最前面,只要这个数大于轮次,就说明$Petya$无法逆天改 阅读全文
摘要:
A. Detective Book 模拟题,有一些细节需要注意。 cpp include include include include include using namespace std; typedef pair PII; typedef long long LL; const int N 阅读全文
摘要:
A. Regular Bracket Sequence 显然,"$()$"不影响结果它是自我匹配的,可以把所有的$(($和$))$都放在左边/右边,这样只要检查它们的数目就行,还有个坑点,就是如果$)($多于一,需要给左右两边一个负担,必须小于它们的数量才行。 B. Discounts 模拟,从小到 阅读全文
摘要:
A. Best Subsegment 显然,选择数列中的最大值当做区间(长度为$1$)。只要尝试最大值这个区间是否能扩展(左右两边值是否跟它一样就行了) C. Magic Ship 二分答案。容易看出,时刻符合单调性。若$d$天能到,那么$d + 1$也能到。因为可以保持跟风相反的方向就可以保持不动 阅读全文
摘要:
A. Minimum Integer 1. 如果$d include using namespace std; int main(){ int T; scanf("%d", &T); while(T ){ int l, r, d; scanf("%d%d%d", &l, &r, &d); if(d 阅读全文
摘要:
A. Find Divisible 符合条件的区间一定可以选择$l, l 2$。 证明$l 2 include using namespace std; int main(){ int T; scanf("%d", &T); while(T ){ int l, r; scanf("%d%d", &l 阅读全文
摘要:
A. Dice Rolling 把$x$分解为$a 6 + b$,其中$a$是满6数,$b$满足$1 include using namespace std; int main(){ int T; scanf("%d", &T); while(T ){ int x; scanf("%d", &x); 阅读全文
摘要:
A. Vasya and Book 简单的取余运用。 B. Vova and Trophies 对于每一个$S$在的位置,二分出它的最大连续前缀$lenLeft$和最大连续后缀$lenRight$。 1. 如果除了这两块前缀以外没有别的$G$了,只需把右边的最后一个移到中间来,用$lenLeft + 阅读全文