摘要:
原题链接 考察:模拟 没什么难度,主要是记录一下从0开始和从1开始计算行号与列号的区别 从0开始: 行 = n/w,列 = n%w 从1开始: 行 = (n-1)/w,列 = (n-1)%w+1 1 #include <iostream> 2 #include <algorithm> 3 #incl 阅读全文
摘要:
原题链接 考察:枚举 错误思路: 直接从a,枚举到b,如果不符合正常日期就continue 本蒟蒻TLE了,这方法可能有卡常大神能过吧... 正确思路: 构造回文日期,如果在[a,b]区间内就ans++. 注意的是0229这个时间,虽然9220属于闰年但是不要忘记考虑. 1 #include <io 阅读全文
摘要:
原题链接 考察:双指针 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 阅读全文