文章分类 - 其他算法
题解 P2698 【[USACO12MAR]花盆Flowerpot】
摘要:"luogu" 思路 二分答案套单调队列 此处的单调队列其实就是将求区间和最值的单调队列加上一个绝对值 关于单调队列 先贴代码 上面是求某数列小于某长度的区间最大和的板子,water[i].y可以预处理成i的前缀和 该问题可简化成选两个距离不超过限制的点使其前缀和相减的值最大 第一个while:区间
题解 P1901 【发射站】
摘要:"~~发射栈~~" 然而我是分块做的(这种膜你题竟然没有暴力题解???) "~~分 块 大 法 好~~" 如上,分块是 莫队 的标配优化之一 题中注意边界,分为左辐射和右辐射跑两遍 如图: 维护每块最大值Fmax[i] 若Fmax[i] 所求,暴力那个块,程序O(2n根号n) 简单的分块可以sqrt
题解 CF25C 【Roads in Berland】
摘要:"Codeforces" "luogu" 其实前一篇题解讲得很清楚了(发自内心) 每次插边更新一次 最后/=2 这里补充 "Floyd" 的基础知识,这篇目测可以(会最短路的可以忽略) ~~开long long保险好~~
题解 P1886 【滑动窗口】
摘要:单调队列 关于单调队列 "这篇博文不错呢" 开两组队列(也就是包括两组head和tail) 我的是~~两翼齐飞~~两边齐推,但实现大同小异(模板题嘛) 上代码
题解 CF1101C 【Division and Union】
摘要:题目link: "Codeforces" "luogu" 先按 左 端点由小到大排序,然后把线段合并为一条(能并则并) 不能并呢?(两端点都在合并线段之外) 那么合并线段目前长度就是断点了!(有兴趣可以证明) 剩下的过程难度pj 最后上代码 cpp include using namespace s
题解 CF1108D 【Diverse Garland】
摘要:原题link: "here" "luogu" 贪心试试能拿多少分 ~~结果一遍过~~ 无语 就是第个若与i 1不同则改 改后判断是否与第i+1个不同,否则改 ~~(其实就是找与前与后都不同的填)~~ 代码理解起来应该挺容易的
题解 P1016 【旅行家的预算】
摘要:贪心题 "贪心算法" 可以证明, 在一般情况下 ,可以找身前最小点,然后算 总量+=(两点距离)/每升油跑的路程 乘上 此点油价 但是! 我是说 “在一般情况下” 我此前WA了一个点 _75_ 分 理由是没有考虑前点价小于后点能到达的所有价 此时应该考虑把油加满,用nspc和lnspc记录箱内油量
题解 P4109 【[HEOI2015]定价】
摘要:此题乍看会超时 但是我考试时本想暴力骗分 结果优化着优化着发现好像不超了,~~ 于是A掉 ~~ 本题暴力递归(贪心)可做 至于优化,想通一个点即可: 为什么不加指数? 想到 10的幂 就好办了
题解 P1803 【凌乱的yyy / 线段覆盖】
摘要:根据dalao们的思路,理所当然地贪心 贪心思路:按结束时间排序 贴代码: cpp include using namespace std; int inp1,inp2,n,now= 999999999,tot; struct tmpk { int be,en;//即begin和end }qj[10