随笔分类 -  贪心

摘要:description analysis 可以贪心还原出原$x$序列,且$x$是$n$的排列;易知$a$由是连续若干段的单调不递减区间拼起来而成 而且每一段区间内差值至多为$1$,大概像这样$1,1,2,2,2,3,...x,1,1,1,2,...,y,1,...$ 对每一段区间来说,前一块中的数都 阅读全文
posted @ 2020-01-03 21:37 路人黑的纸巾 阅读(182) 评论(0) 推荐(0)
摘要:description 外卖店一共有N种食物,分别有1到N编号。第i种食物有固定的价钱Pi和保质期Si。第i种食物会在Si天后过期。JYY是不会吃过期食物的。 比如JYY如果今天点了一份保质期为1天的食物,那么JYY必须在今天或 者明天把这个食物吃掉,否则这个食物就再也不能吃了。保质期可以为0天,这 阅读全文
posted @ 2019-12-14 20:27 路人黑的纸巾 阅读(173) 评论(0) 推荐(0)
摘要:description 装饰者坐在树荫下听着长者讲述以前的故事: 大神 yk 非常喜欢树,便钦点班里的 n 个小蒟蒻站在一棵 n 个点以 1 为根的树上,并且每个点上恰好有 1 个小蒟蒻。 大神 yk 非常喜欢 fake,尤其是 fake 比他弱的人。根据可靠消息,大神 yk 拟定了m 个假人计划, 阅读全文
posted @ 2019-10-04 20:43 路人黑的纸巾 阅读(290) 评论(0) 推荐(0)
摘要:description analysis 拆位从高位到低位贪心 对于当前位,如果把所有当前位为$1$的边塞入,$1$和$n$连通,则该位必须为$1$ 这个是因为高位的$1$比所有低位的$1$都要优,用并查集维护连通性 对固定下的位,继续向下贪心,找低位中满足所有条件的$1$位即可 code cpp 阅读全文
posted @ 2019-09-17 17:54 路人黑的纸巾 阅读(452) 评论(0) 推荐(0)
摘要:description analysis 可以先用前缀和把原串不调整的方案数先求出来 对于一种翻转,肯定是把$[i..a[i]]$或$[a[i]..i]$这段区间翻转 也可以看做是以${i+a[i]}\over 2$这个点为翻转中心来翻转区间 于是把所有$n$个翻转中心搞出来,用$vector$存下 阅读全文
posted @ 2019-08-09 21:18 路人黑的纸巾 阅读(113) 评论(0) 推荐(0)
摘要:description analysis 其实可以贪心 先把区间按左端点排序,转折点也排序 扫一次转折点,把所有左端点在当前点左边的区间丢进优先队列里 按照贪心策略,对于某个转折点,一定选择右端点离它最近的区间 于是把不合法(右端点在转折点左边)的区间弹出,匹配下去就好了 code cpp prag 阅读全文
posted @ 2019-08-07 16:46 路人黑的纸巾 阅读(93) 评论(0) 推荐(0)