• 2024-11-17NOIP 模拟 8
    搬的【MX-S5】梦熊NOIP2024模拟赛1(同步赛)A王国边缘倍增写脸上了。B买东西题反悔贪心写脸上了,首先按物品价格从小到大排序,这样之前用的优惠券一定可以给现在的优惠券用,如果给价格为\(a\),折扣价为\(w\)的物品用了优惠为\(x\)的优惠券,现在拿过来给\(b\)用后的贡献是
  • 2024-11-17反悔贪心杂题
    反悔贪心杂题笔者水平有限,若有笔误望指出。笔者认为,反悔贪心其实质仅仅只是一类贪心策略,所谓反悔,仅为一个思维过程,体现为:拿出一个错误的贪心策略(很多时候体现为略去某些限制)并尝试使用更多的策略去修正它反悔贪心有一个很常见的应用场景:从\(i\)的答案修正到\(i+1\)的答案,并
  • 2024-11-09带悔贪心 QOJ interval
    interval带反悔的贪心即通过堆(大根堆、小根堆)来维护当前贪心策略的最优解,若发现最优解不对,就退回上一步,更新最优解。将区间按照左端点排序,从左向右遍历区间。当前区间为\([l,r]\),取出当前右端点最左的区间,可以就匹配。如果不可以,去看看已经匹配的这些对区间中的\((b,c)\),\(c
  • 2024-11-06【算法学习】反悔贪心
    前言反悔贪心,先选择局部最优,当不断向后更新时发现前面的决策在现在来看并不优就进行调整过去决策进行局部最优,可以说反悔贪心一步步扩宽自己的视野从而明白过去的错误。、如果动态规划是将各种削苹果的方式都展示出来的话,那反悔贪心就是削一下补回来一点再削。当然反悔贪心的题
  • 2024-10-26[反悔贪心] Add One 2
    估计是全网最复杂题解。。。反向考虑:将\(a_i\)进行减操作,使得每个数都小于等于0。考虑差分,差分后将区间减转变为单点的加减,但是这样一来每个数都小于等于0的判定就变成了要判定前缀和是否都小于等于0,这不太好处理。考虑增加一个区间加操作,对\([l,r]\)的区间内的\(a_i\)
  • 2024-10-12
    堆这个东西吧,往往跟贪心结合很密切。往往一个贪心策略会需要维护最值,最值经常可以用priority_queue维护。维护n个数的序列A,B,问数两两组合,最大的n个这个题需要动态维护,所以我们用堆,详见这里堆往往与反悔贪心挂钩看这里,按收益排序,从头开取,并维护当前最小收益,如果时间超限就反
  • 2024-10-10网络流
    最大流给定一张\(\text{DAG}\),每条边有一个「容量」\(c\)。你需要找到从\(S\)到\(T\)的最大流。FF算法首先一开始对每条边建立一条容量为\(0\)的反向边。然后每轮执行以下操作:在残量网络(即还能流的网络)中找到一条\(S\)到\(T\)的增广路。令\(w=\)增广路所有边
  • 2024-10-052024.10.5 笔记
    贪心的证明方法(5个):咕咕咕贪心、DP。贪心优化DP。有简单策略:贪心。无:DP。手玩样例。手玩。兜底。重复:copy。一行多个最小值。不管。得到答案后转成0/1。反悔贪心的一般策略:先把所有都选上,再反悔。IOI那道题和这道题。感觉反悔贪心常用堆。手写堆,支持插入、
  • 2024-08-30分享丨【题单】贪心算法(基本贪心策略/反悔/区间/字典序/数学/思维/构造)
    作者:灵茶山艾府链接:https://leetcode.cn/circle/discuss/g6KTKL/一、贪心策略有两种基本贪心策略:从最小/最大开始贪心,优先考虑最小/最大的数,从小到大/从大到小贪心。在此基础上,衍生出了反悔贪心。从最左/最右开始贪心,思考第一个数/最后一个数的贪心策略,把n个数的原问题转
  • 2024-08-16反悔贪心 & 模拟费用流
    反悔贪心&模拟费用流参考资料来源cyt前言很多找到一种可行的方案,匹配(选择)某些东西,使价值最优化的问题可以建出费用流模型。但是直接跑费用流的复杂度是不对的。我们又想到可以用简单的贪心思路解决这些问题,然而一般的贪心都假掉了。于是我们考虑模拟费用流的退流操作来做
  • 2024-08-13可持久化可反悔贪心
    接到上级通知,贪心思路假了,紧急需要调整思路思路假了?考虑反悔while(思路==false){cout<<"思路假了"<<endl;思路=true;cout<<"改对了"<<endl;}SampleOutput思路假了改对了思路假了改对了思路假了改对了思路假了改对了思路假了改对了思路假了改对了
  • 2024-08-06贪心
    有些题dp是难做的或做不了的,这个时候可以去设计一种策略使得决策尽可能最优,也就是贪心。可以说贪心有时候是一种乱搞,但乱搞也能搞出出题人想不到的正解。反悔贪心有些题中直接dp的复杂度很高并且很难优化或者有后效性无法dp,朴素贪心考虑可以做到\(O(n)\)但是无法保证正确
  • 2024-07-13【反悔贪心】P2949WorkSchedulingG+P4053[JSOI2007]建筑抢修题解
    这两天遇到了几个很神奇的题目——能反悔的贪心。赶紧记录一下。例1(用时一定模型)用时一定:每个任务完成的耗时都是一样的。题面:Luogu-P2949WorkSchedulingG大体思路是:先把所有任务按照截止时间从小到大排序,然后枚举,遇到一个能做任务的就把他做了,把他的贡献加入一个
  • 2024-06-09反悔贪心学习笔记
    算法:反悔贪心,顾名思义就是贪心的时候反悔。意思是:如果这一步的贪心不是全局最优解,就退回去一步,换一种贪心策略。一般分为反悔自动机和反悔堆。反悔自动机基本的思路是:每次选择直观上最接近全局最优解的贪心策略,若发现最优解不对,就想办法自动支持反悔策略。反悔堆则
  • 2024-06-03【反悔贪心】算法讲解
    目录cf865D 环形喂猪建筑抢修                cf865D思路:我们贪心的原则是尽可能的多卖,而且尽可能的卖的多。整体的贪心思路就是能卖就卖,卖完后放入堆中(以便反悔),先不考虑能卖多少,因为堆是按照价格从小到大排序,把最优的选择放在最前面。在遍历到
  • 2024-05-22反悔贪心
    1.介绍贪心:即考虑局部最优解达到全局最优解的目的,但有时局部最优解并不会达到全局最优解,此时有两种思考方向,dp和反悔贪心dp:能全局计算答案,根据拓扑学的DAG实现状态转移达到最优(这里不过多介绍)反悔贪心:根据之前的决策进行反悔操作,主要用反悔堆实现去除性价比最低的决策,达到
  • 2024-05-22反悔贪心学习笔记
    本文仅用于笔者关于反悔贪心的学习笔记,反悔贪心是笔者在一场$div4$中遇到的问题,故来学习一番【学习笔记】反悔贪心 1、什么是反悔贪心?贪心本身是没有反悔操作的,贪心求的就是当前的最优解。但当前的最优解有可能是局部最优解,而不是全局最优解,这时候就要进行反悔操
  • 2024-05-09如果想得到线程中的反悔呢
    importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.*;publicclassMain{publicstaticvoidmain(String[]args){intcorePoolSize=5;//核心线程数intmaxPoolSize=10;//最大线程数longkeepAlive
  • 2024-04-30【题解】 量化交易5
    题目描述applepi训练了一个可以自动在股票市场进行量化交易的模型。通常来说,applepi写出的模型,你懂得,就好比一架印钞机。不过为了谨慎起见,applepi还是想先检查一下模型的效果。applpie收集了“塞帕思股份(surpass)”在最近的连续N天内的价格。在每一天中,他可以做如下事情之一:
  • 2024-04-11反悔贪心
    一直搞不明白这东西自身的正确性。我更愿意将其理解为模拟费用流或者某种dp优化,事实上证明正确性的时候往往也是这么证的。基于dp优化的理解AT_dwango2016qual_e令\(dp_{i,j}\)表示i时刻在位置j的最小代价。转移:\[dp_{i,j}=min_{k<=j}(dp_{i-1,k})+(i时间内在位置j
  • 2024-03-21cf 1852C
    链接\[f[i][j]表示前i个数字,然后最后一个数字是a[i]+k\timesj个区间的结尾,干掉所有章鱼的最小代价\]这个是我最开始想的dp的状态。然后很明显\(j\)是可以挺大的,但是如果你不去证明而是感性理解(瞎猜)的话,就很有可能得到\(j\in[0,1]\)的结论。然后用这个写出来一个\(O(n)\)的dp,
  • 2024-03-06从CF1935C看带反悔的贪心和multiset
    Problem-C-Codeforces.思路首先很显然对\(b\)数组排序能最小化\(b\)的花费。难点在\(a\)的选择,因为已经对\(b\)排序,不可能再兼顾\(a\)的优劣,所以\(a\)需要类似枚举的技术,这是一个类似搜索最优子集的问题,可以用\(DP\),但是更可以贪心带反悔的贪心这类问题就
  • 2024-02-15反悔贪心(模拟费用流)
    反悔贪心(模拟费用流)贪心本身是不能反悔的,但如果当前最优解不是全局最优解,我们就需要通过反悔来贴近全局最优解。一般用堆来实现,即堆中维护当前可以用来反悔的决策,然后每次取最优的决策。其实从更一般的角度,反悔贪心就是建出费用流模型,然后用数据结构来模拟增广的操作。一些例题
  • 2023-12-31从《老鼠进洞》开始,浅谈模拟费用流
    部分内容来自WC2018PPT。另外,我真的是浅谈。前置知识在学习一下的内容之前,你需要至少学会费用流相关概念,反悔贪心相关概念和堆。当然了,你还要有足够学会模拟费用流的OI基础,因为本文会略去一部分比较trivial的道理。老鼠进洞(其一)有\(n\)个老鼠\(n\)个洞,每只老鼠向
  • 2023-12-027
    这是反悔贪心下面证明只会反悔一次假设我们选的疲劳值最大的前X个的最远的一个的距离为\(S_{1}\),那么可以知道,一定不会存在一个更优的方案,使得这个方案的最远的距离比\(S_{1}\)要小所以更优的方案的最远的距离肯定要比\(S_{1}\)大,假设我们选择了一个比\(S_{1}\)远的,距离为\(S_