摘要:
原题链接 考察:双指针 or 二分排序 or 前缀和 思路: n<=105 n2的时间复杂度也会超时,所以我们只能枚举一个数,这就必须要利用乘法原理求得答案,已知题目要求 ai<bj<ck如果我们枚举aior ck可以发现无法省略其他层枚举,而我们枚举b,c与a就能利用乘法原理,找到小于bj与大于b 阅读全文
摘要:
原题链接 考察:枚举 错误思路: 三层for循环暴力. 做多了区间dp...枚举区间只能想到按长度枚举区间,但这道题不能这么枚举..... 正确思路: 按区间端点来枚举区间,连号区间的特点是最大值-最小值 = 右端点-左端点.随着区间向右边延长,而动态记录最值. 1 #include <iostre 阅读全文
摘要:
原题链接 考察:模拟(?) 思路: 最关键的一点是要想到当两只蚂蚁碰面时,相当于它们穿过彼此.这道题两只蚂蚁只关心它们是否感冒,而不关心它们原本的序号. 再做一次WA了4次....注意一下坑点,我们只能感染与第一只蚂蚁同向且位置>第一只蚂蚁的..... 而且要判断到底能不能去感染右边的!!!! 1 阅读全文
摘要:
原题链接 考察:hash 思路: 正常是四重for循环枚举,但是由时间复杂度而言我们只能枚举2个数,此时考虑用空间换时间:预处理平方和. 1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespa 阅读全文
摘要:
原题链接 考察:二分 or 递推 思路一: 二分初始能量值,check函数检查即可.要注意的是每次E都+=E-h,也就是 E = 2*E-h. 2100000不管用什么数据类型都会爆,因此必须考虑别的做法:此时思路有二: 高精度,但是高精很慢,尽量避免高精 避开运算,在E一定满足条件就return 阅读全文