上一页 1 ··· 48 49 50 51 52 53 54 55 56 ··· 75 下一页
摘要: 原题链接 考察:双指针 or 二分排序 or 前缀和 思路: n<=105 n2的时间复杂度也会超时,所以我们只能枚举一个数,这就必须要利用乘法原理求得答案,已知题目要求 ai<bj<ck如果我们枚举aior ck可以发现无法省略其他层枚举,而我们枚举b,c与a就能利用乘法原理,找到小于bj与大于b 阅读全文
posted @ 2021-02-24 19:50 acmloser 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:枚举 错误思路: 三层for循环暴力. 做多了区间dp...枚举区间只能想到按长度枚举区间,但这道题不能这么枚举..... 正确思路: 按区间端点来枚举区间,连号区间的特点是最大值-最小值 = 右端点-左端点.随着区间向右边延长,而动态记录最值. 1 #include <iostre 阅读全文
posted @ 2021-02-24 19:08 acmloser 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:模拟(?) 思路: 最关键的一点是要想到当两只蚂蚁碰面时,相当于它们穿过彼此.这道题两只蚂蚁只关心它们是否感冒,而不关心它们原本的序号. 再做一次WA了4次....注意一下坑点,我们只能感染与第一只蚂蚁同向且位置>第一只蚂蚁的..... 而且要判断到底能不能去感染右边的!!!! 1 阅读全文
posted @ 2021-02-24 15:52 acmloser 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:hash 思路: 正常是四重for循环枚举,但是由时间复杂度而言我们只能枚举2个数,此时考虑用空间换时间:预处理平方和. 1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespa 阅读全文
posted @ 2021-02-24 14:11 acmloser 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分 or 递推 思路一: 二分初始能量值,check函数检查即可.要注意的是每次E都+=E-h,也就是 E = 2*E-h. 2100000不管用什么数据类型都会爆,因此必须考虑别的做法:此时思路有二: 高精度,但是高精很慢,尽量避免高精 避开运算,在E一定满足条件就return 阅读全文
posted @ 2021-02-24 12:14 acmloser 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:找规律(?) 发现规律后代码超短..我还想复杂了... 思路: 第1项是k0 第2项是k1 第3项是k0+k1 可以发现指数和第n项的二进制排列相同..通过这个制造映射,求出答案 1 #include <iostream> 2 #include <algorithm> 3 #incl 阅读全文
posted @ 2021-02-23 22:28 acmloser 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性dp or 暴力枚举 思路一: 预处理前缀和,四个for循环枚举边界. 思路二: 55. 连续子数组的最大和 根据这道题的思路,f[i]定义为以i结尾的最大连续和,集合划分分为长度为1和长度>1, 当长度为1 状态转移方程为f[i] = a[i],当长度>1,说明至少包含i,为f 阅读全文
posted @ 2021-02-23 19:42 acmloser 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:STL(?) 思路: 最简单的做法:next_permutation 全排列. 1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 const int N = 10010; 5 int a[N]; 阅读全文
posted @ 2021-02-23 15:50 acmloser 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:枚举 错误思路: 第一想法是两个对顶堆维护最大值和最小值,但是遇到这样的 0 2 21 0 19 的数据会出错.原因是当第一次修改a[n]与a[1]符合距离17后,与a[2]不一定符合距离17,但是题目约定只能修改一次a2+b2 <= (a+b)2这样会使得结果小了.同理每次sort 阅读全文
posted @ 2021-02-23 14:08 acmloser 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:唯一分解定理 这题不会,果然我是不配学OI的 思路: 易知只有当阶乘出现了2和5才能有一个0, 由唯一分解定理 n! = 2a3b5c....,当我们把n!的2和5的共同凑成10的因子全部除去后,再%10就能得到答案.这个答案为 2a-min(a,c)%10*5c-min(a,c)% 阅读全文
posted @ 2021-02-23 11:43 acmloser 阅读(115) 评论(0) 推荐(0) 编辑
上一页 1 ··· 48 49 50 51 52 53 54 55 56 ··· 75 下一页