合集-AtCoder赛后总结
摘要:AtCoder Beginner Contest 337 赛后总结 A题不多说,纯水。 B题对题目要求没有理解太透(不知道是英语问题,还是它样例给的不够全,没太能理解最后的那个判断结果) 卡c题上了 c题感觉其实是个比较有意思的题,但是只要理解了题目就知道本质是一个求数组对应的下标,再以数组的下标所
阅读全文
摘要:A 没什么好说的,纯水。 B 哎,思路秒出,纠错半天,改来改去发现是逆时针判断有问题。 原本我用time =1,2,3,4表示前后左右,想到了超出4的情况,却漏了小于1的情况,太傻逼了。 C 思路一眼二分,但是又没纠错出来,两点傻逼处。 补充一个知识点 longlong可以开到1e18。 我直接开1
阅读全文
摘要:ABC355 D区间相交问题 题意 给出n个区间,每个区间给出左端点(l)和右端点(r),判断有多少区间成对相交。 分析 如果我们直接暴力查找每个区间是否和别的区间相交,那么时间复杂度就是O( ),肯定是过不了的。 考虑如何优化,通过题意,可以发现优化的关键在于区间相交的判定方式,对于任
阅读全文
摘要:Atcoder356 C 解题思路 先从数据量上看, =32768,那么时间复杂度为O( )大约在 左右,可以直接跑暴力枚举。 按照正常思路,我们需要创建一个二维数组来存储测试中的数据。然后再创建一个一维数组来模拟n把钥匙的选和不选。这
阅读全文
摘要:ABC359 E 题目很简单,大概就是要求数组中一个数的左侧第一个比它大的值。这里就需要用单调栈来实现了。 单调栈 单调栈就是通过栈的性质,来实现快速查找一个数的左侧第一个比他大的数。 过程 创建一个栈,判断栈顶元素是否小于当前元素,如果小于则将栈顶元素弹出直到栈顶元素大于当前元素,最后将当前元素压
阅读全文