上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 36 下一页
摘要: 题目链接 思路 毒瘤的一批的东西 也算是cdq的一个应用吧 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout<<"I AM HERE"<<endl; using namespace std 阅读全文
posted @ 2021-09-16 19:44 hunxuewangzi 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 cdq分治其实就是归并排序的思维 这个题目就是cdq套一个线段树就行 但是要注意有些点的坐标相同,要先去重,然后再写 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout< 阅读全文
posted @ 2021-09-16 14:33 hunxuewangzi 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 这个题目其实就是本来就是严格单调上升的,这是关键条件 那么对于$a[i]=a[i]-i$,题目转化为是否有$a[i]$为$0$ 并且这个数组也是非严格单调上升 其实就是对于每次给一个区间加一段值,那么会打断这个区间的非严格单调上升性 但其实可以把他变为几个非严格单调上升的区间 每 阅读全文
posted @ 2021-09-14 21:31 hunxuewangzi 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 就是利用分治的思想 对于区间$[l,r]$如果要使用操作$1$ 那么根据贪心的思想一定是使得$a[l],a[l+1]...a[r]$全部减去这个区间的最小值 代码 #include<bits/stdc++.h> #define fi first #define se second 阅读全文
posted @ 2021-09-14 10:19 hunxuewangzi 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 这是一个经典的问题,我稍微记录一下 这个贪心思路就是能取长的就尽量长一点 最优的就是直接差分数组贪心求解 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout<<"I AM 阅读全文
posted @ 2021-09-14 10:13 hunxuewangzi 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 三种操作 1 减少一个0 2 减少两个1加一个2 3 减少一个1 和一个2 那么每次对手都能使得$c0-2$或者$c1-3$ 根据巴士博弈的思想那么就直接取模,然后爆搜 注意特判只有$C0$的情况 代码 #include<bits/stdc++.h> #define fi fir 阅读全文
posted @ 2021-09-12 17:06 hunxuewangzi 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 容易想到本题要求的最晚安全时间可以用二分的方式寻找。 对于两种不同型号的车,如果他们的相对位置发生了改变,那么就发生了碰撞。 因此,每辆车移动的最大范围就是他两边相同型号车的范围。 这句话的意思就是最开始按照位置排完序之后现在型号为 1 1 2 2 2 1 1 那么前两个车可以随 阅读全文
posted @ 2021-09-10 15:39 hunxuewangzi 阅读(196) 评论(2) 推荐(0) 编辑
摘要: 题目链接 题目大意 就是给你$n$个集合,所有集合的元素数量不超过$2e5$ 找出两个集合使得这两个集合至少拥有两个相同的元素,输出任意一组解即可 题目思路 这个写法 真玄学 俗称根号分治 就是对于集合元素的数量进行分类 我是直接看这份题解的链接 对于n个点对的重复问题,确实可以使用$O(n)$ 比 阅读全文
posted @ 2021-09-09 17:09 hunxuewangzi 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个长度为n的01串s,要你构造一个长度为k的串t 使得串t和s中所有长度为k的子串至少有一个字符相同 并且t的字典序最小 nk 1e6 题目思路 这个算是一个思维题 其实要把这个题目转化一下 转换为找到一个字典序最小的01串且不能是这n个串的长度为k的子串的反串 还有就是2 阅读全文
posted @ 2021-09-09 14:23 hunxuewangzi 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 要对数字充满感觉 1e5 20 那么就是log 1e5 5 那么就是loglog 而loglog就是开根号 然后就用开根号的思维去写即可 代码 #include<bits/stdc++.h> #define fi first #define se second #define d 阅读全文
posted @ 2021-09-08 21:05 hunxuewangzi 阅读(43) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 36 下一页