NowCoder Wannafly挑战赛22 A~D 一句话题解

原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-Wannafly22.html

高精度板子在手,rk3我有。

 

故事:

A题:迟到10分钟,急忙注册了个小号,急忙开题。

B题:我一开始还以为中间没有小写字母的不算,然后搞了好久,过了样例,交了一发wa掉了,然后才发现我的代码漏洞百出。改完之后发现样例过不掉,改成把中间没有小写字母的也统计进去的做法,过了样例,交一发AC

C题:B题打完我去吃饭了,8:30才回来。我已经忘了和角公式,百度一发,发现懒标记很好维护,然后就码呀码。10分钟码完交一发TLE 了。突然想起sin和cos函数的复杂度不是 O(1) ,赶紧把更新懒标记改成了和更新区间和差不多的做法。然后AC 了。

D题:我已经忘了有理函数的极限怎么求了,赶紧打开我自己的博客,赶紧学习了一下我以前写的学习笔记,发现不是一道难题。然而我比较傻,开始打多项式的运算符重载;打了一半发现要高精度,赶紧打开我的博客,拖我的高精度模板。写完然后过了样例,然后分析了一下复杂度发现不大行。于是突然发现只要保存最高位即可……然后改好过了样例交一发AC 了。

 

我今天居然没有犯大的傻逼错误?

 

一句话题解

A题:直接对于 $m$ 和所有 $a_i$ 求一个 gcd ,然后凡是这个 gcd 的倍数都可能出现。

B题:考虑先处理出以每一个点出发/结尾的只经过空格的路径条数,然后借着之前的那个处理出以每一个点结尾/出发的只经过一个头/尾字符(其他都是空格)的路径条数。然后就可以方便的统计答案了。

C题:这里直接放结论,剩下的全是模拟。关于结论的证明,可以到后面的连接里面找。https://www.cnblogs.com/zhouzhendong/p/Calculus.html

D题:线段树维护区间 sin和 、cos和;以及对于sin和cos分别维护一个懒标记。下传和更新直接通过和角公式搞就可以了。

 

我的提交记录:

A  https://www.nowcoder.com/acm/contest/view-submission?submissionId=32031706

B  https://www.nowcoder.com/acm/contest/view-submission?submissionId=32036110

C  https://www.nowcoder.com/acm/contest/view-submission?submissionId=32044324

D  https://www.nowcoder.com/acm/contest/view-submission?submissionId=32039750

猜你喜欢

转载自www.cnblogs.com/zhouzhendong/p/NowCoder-Wannafly22.html