文章分类 -  算法蒟蒻 / 二分/分治思想

摘要:【分治思想】 dfs递归 划分区间 偏暴力写法但降复杂度 Reverse 2^i https://atcoder.jp/contests/abc413/tasks/abc413_e 写法很像归并排序 merge_sort(q,l,mid); merge_sort(q,mid+1,r); 一般都是递归 阅读全文
posted @ 2025-07-06 18:02 White_ink 阅读(18) 评论(0) 推荐(0)
摘要:【三分】 求单峰函数最大值/单谷函数最小值 凹函数/凸函数 思路 模版代码 整数域三分 求凸点 while (l < r) { int mid = (l + r) / 2; if (check(mid) >= check(mid + 1)) r = mid; else l = mid + 1; } 阅读全文
posted @ 2025-06-06 18:46 White_ink 阅读(46) 评论(0) 推荐(0)
摘要:【二分+类树上DP】专题整理 涉及到求最小/最大值->都可以用二分答案解决 设计check函数->一般用到贪心思想检验(尽可能用/不用/不超过xxx)->统计出个数小于/大于题目所给值 小紫的树上染色 https://ac.nowcoder.com/acm/contest/103948/F 思路 【 阅读全文
posted @ 2025-03-18 11:08 White_ink 阅读(30) 评论(0) 推荐(0)
摘要:【01分数规划】 阅读全文
posted @ 2025-01-29 18:33 White_ink 阅读(6) 评论(0) 推荐(0)
摘要:【二分答案】 二分+贪心 重点在贪心(check函数) 思路 只要满足单调性就都可以二分答案!!! 单调性:假设x为答案 x左边一个性质 x右边一个性质 可优化O(n) -> O(logn) 【题目整理】 跳石头 https://ac.nowcoder.com/acm/contest/22353/C 阅读全文
posted @ 2025-01-29 18:28 White_ink 阅读(30) 评论(0) 推荐(0)
摘要:【二分查找】 二分模版 如果二分出来有问题,一定不会是模版的问题! /* 若R=mid L=mid+1->找满足条件更小的->(L+R)>>1 若L=mid R=mid-1->找满足条件更大的->(L+R+1)>>1 答案就是L/R */ int L=0,R=INF; while(L<R){ int 阅读全文
posted @ 2025-01-11 14:56 White_ink 阅读(37) 评论(0) 推荐(0)