摘要: 思路来自题解 作者: Red_w1nE 更新时间: 2016-11-13 20:46 在Ta的博客查看 72 最近有点忙 没时间贴代码了== 【分析】 首先,把A和B两个序列分别从小到大排序,变成两个有序队列。这样,从A和B中各任取一个数相加得到N^2个和,可以把这些和看成形成了n个有序表/队列: 阅读全文
posted @ 2019-04-26 21:03 羊肉汤泡煎饼 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 首先理解这里的美味值相当于给你更多时间让你经过这个草垛的, 也就是在经过草垛时可以给你的时间减少w[i],这样能否比最短路不慢 然而我们并不容易知道怎么走才是最好的,所以要想办法避免找这个方案 我们新建一个点,向每个草垛连一个边权为 d[u]-w[u] 的有向边,从这个点跑一次最短路 效果就相当于求 阅读全文
posted @ 2019-04-25 22:05 羊肉汤泡煎饼 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 好像是个不需要vis数组的次短路,跑到收敛,然而给我脑袋弄炸了......到现在还没懂.......究竟次短路应该怎么求a...... 抄题解: 阅读全文
posted @ 2019-04-25 21:25 羊肉汤泡煎饼 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 一开始想着最短路时统计一下到每个点的牛数量,但是没写出来 建最短路树是个不错的想法,正常跑一次最短路,枚举每个点的前驱,如果d[y]==d[x]+w就是树上的一条边,优先连编号小的, 建好树以后做一次dfs,枚举一下每个点的贡献取个最大值即可 阅读全文
posted @ 2019-04-25 20:25 羊肉汤泡煎饼 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 有一点乱搞吧......对人对背包的理解有些考验,要想知道去掉某个点的值,可以选择对前缀求一次背包,后缀求一次背包,而且不省掉价钱那一维, 这样每个点就可以由前后组合成了,枚举一下价钱取max即可 直接01的多重背包就可以过 阅读全文
posted @ 2019-04-25 18:39 羊肉汤泡煎饼 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 清明講過一道類似的,難度略大的:P3545 [POI2012]HUR-Warehouse Store 兩道題類似,都是暫時先把前面的加進候選集合里,如果超出限制的話就拿現在這個和前面的交換, 相當於不選前面那個選當前這個,應該是比較好的思想 這道題還有一個就是如果最優解要你走到那個點,那麼中間的路程 阅读全文
posted @ 2019-04-24 18:24 羊肉汤泡煎饼 阅读(123) 评论(0) 推荐(0) 编辑
摘要: hack: 4 4 1 2 10000 2 3 10000 3 4 10000 1 4 10000 答案:13 不能邊最短路邊取模,因為取模后最大值不一定為原來最大值,所以利用log(m*n)=logm+logn 把邊權取log跑最短路,記錄路徑,最後邊乘邊取模 阅读全文
posted @ 2019-04-23 21:42 羊肉汤泡煎饼 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 比較簡單的單調隊列,但是有一些要注意的 維護單調隊列的時候裡面存的是入隊時間,而不是i,因為前面有l個沒有入隊(不可能走進),所以把i减一个l以达到延迟入队的效果 阅读全文
posted @ 2019-04-23 20:02 羊肉汤泡煎饼 阅读(98) 评论(0) 推荐(0) 编辑
摘要: d長度內區間最大值,單調隊列維護即可 由於需要滿足左右同時有2倍高度的牛才能更新答案,所以正反跑兩次 阅读全文
posted @ 2019-04-23 18:52 羊肉汤泡煎饼 阅读(100) 评论(0) 推荐(0) 编辑
摘要: P1917 -- 探险 时间限制:1000MS 内存限制:131072KB 题目描述(explore.cpp) π+e去遗迹探险,遗迹里有 N 个宝箱,有的装满了珠宝,有的装着废品。 π+e手上有 n+e的地图,所以他知道每一个宝箱的价值,但是他不喜欢走回头路,所以要按顺序拿这 N 个宝箱中的若干个 阅读全文
posted @ 2019-04-23 17:56 羊肉汤泡煎饼 阅读(157) 评论(0) 推荐(0) 编辑