一名苦逼的OIer,想成为ACMer

Iowa_Battleship

2018年11月2日

洛谷1113 杂务

摘要: "原题链接" 拓扑裸题。(其实可以不用建图就可以搞,不过我太懒了直接上拓扑 cpp include using namespace std; const int N = 1e4 + 10; const int M = 1e6 + 10; int fi[N], di[M], ne[M], q[M], 阅读全文

posted @ 2018-11-02 18:58 Iowa_Battleship 阅读(106) 评论(0) 推荐(0) 编辑

洛谷4556 [Vani有约会]雨天的尾巴

摘要: "原题链接" 每个点开一个权值线段树,然后用树上差分的方法修改,最后自底向上暴力线段树合并即可。 不过空间较大,会$MLE$,写个内存池就可以了。 cpp include include using namespace std; const int N = 1e5 + 10; const int M 阅读全文

posted @ 2018-11-02 18:30 Iowa_Battleship 阅读(180) 评论(0) 推荐(0) 编辑

BZOJ2212或洛谷3521 [POI2011]ROT-Tree Rotations

摘要: "BZOJ原题链接" "洛谷原题链接" 线段树合并裸题。 因为交换子树只会对子树内部的逆序对产生影响,所以我们计算交换前的逆序对个数和交换后的个数,取$\min$即可。 对每个叶子节点建一棵动态开点线段树,然后向上合并并更新答案。 而逆序对可以在线段树合并的过程中算出来,因为是权值线段树,根据$mi 阅读全文

posted @ 2018-11-02 15:27 Iowa_Battleship 阅读(104) 评论(0) 推荐(0) 编辑

洛谷1119 灾后重建

摘要: "原题链接" 写了这题才真正知道$Floyed$本质。 最原始的$Floyed$,$f[k][i][j]$表示的是以$i$为起点,$j$为终点,路径上的点的编号不超过$k$的最短距离。 所以这题的修复时间恰好就是$Floyed$中$k$这一维的递增转移,边询问边接着跑$Floyed$即可。 时间复杂 阅读全文

posted @ 2018-11-02 09:26 Iowa_Battleship 阅读(110) 评论(0) 推荐(0) 编辑

洛谷1462(重题1951) 通往奥格瑞玛的道路(收费站_NOI导刊2009提高(2))

摘要: "1462原题链接" "1951原题链接" 显然答案有单调性,所以可以二分答案,用$SPFA$或$dijkstra$跑最短路来判断是否可行即可。 注意起点也要收费,$1462$数据较水,我一开始没判也过了,但重题$1951$把我卡掉了。。 阅读全文

posted @ 2018-11-02 08:51 Iowa_Battleship 阅读(98) 评论(0) 推荐(0) 编辑

导航