洛谷P2526 【SHOI2001】小狗散步】的更多相关文章

题目背景 Grant喜欢带着他的小狗Pandog散步.Grant以一定的速度沿着固定路线走,该路线可能自交.Pandog喜欢游览沿途的景点,不过会在给定的N个点和主人相遇.小狗和主人同时从(X1,Y1)点出发,并同时在(Xn,Yn)点汇合.小狗的速度最快是Grant的两倍.当主人从一个点以直线走向另一个点时,Pandog跑向一个它感兴趣的景点.Pandog每次与主人相遇之前最多只去一个景点. 题目描述 你现在的任务是:为Pandog寻找一条路线(有可能与主人的路线部分相同),使它能够游览最多的景…
Link: P2526 传送门 Solution: 一道提示非常到位的题目 题面中强调了在两个路径相邻点间只能再去至多一个点,且每个点只计算一次贡献 于是明显可以将原题看作询问在两个不相交点集间最多能连几条边 接下来将合法边连上跑二分图匹配就好了 Tip:二分图匹配时分清$X,Y$集合以及$match$数组是哪个集合的匹配值 Code: #include <bits/stdc++.h> using namespace std; typedef pair<int,int> P; #d…
luoguP2526_[SHOI2001]小狗散步_二分图匹配 题意: Grant喜欢带着他的小狗Pandog散步.Grant以一定的速度沿着固定路线走,该路线可能自交.Pandog喜欢游览沿途的景点,不过会在给定的N个点和主人相遇.小狗和主人同时从(X1,Y1)点出发,并同时在(Xn,Yn)点汇合.小狗的速度最快是Grant的两倍.当主人从一个点以直线走向另一个点时,Pandog跑向一个它感兴趣的景点.Pandog每次与主人相遇之前最多只去一个景点. 分析: 我们可以把人每次走的一条路径当作点…
题目传送门 感觉这题最大的难点是发现它的解法是二分图最大匹配 主人的路线是固定的,对于每一段的路线,我们可以枚举小狗想去的景点,如果时间够,我们就将这段路线的起点和小狗想去的点连起来 这样就形成了一个二分图,因为dog每次与主人相遇之前最多只去一个景点,所以这道题就转化成了二分图最大匹配 #include <cstdio> #include <iostream> #include <cstring> #include <cmath> #include <…
考虑到每次与主人相遇之前最多只去一个景点,很容易转化为匹配问题 由于数据很小,我们不妨枚举每个相遇点间隙和每个景点,判断是否来得及,如果来得及就连边 沙雕题搞了二十来分钟,我是憨憨 #include <bits/stdc++.h> using namespace std; #define N 505 int n,m,p,cx[N],cy[N],vis[N],ax[N],ay[N],bx[N],by[N]; std::vector<int> e[N]; int dfs(int u,i…
传送门 简直就是模板题啊! #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #define N 101 using namespace std; int n, m, cnt; int X1[N], Y1[N], X2[N], Y2[N], head[N], to[N * N], nex[N * N], belong[N], ans[N]; bool vis[N…
注意一个景点只能去一次. #include <iostream> #include <cstring> #include <cstdio> #include <queue> #include <cmath> using namespace std; int n, m, xx[205], yy[205], hea[205], ss, tt, cnt, lev[205], maxFlow; const int oo=0x3f3f3f3f; queue…
[洛谷4005]小Y和地铁(搜索) 题面 洛谷 有点长. 题解 首先对于需要被链接的两个点,样例中间基本上把所有的情况都给出来了. 但是还缺了一种从下面绕道左边在从整个上面跨过去在从右边绕到下面来的情况(从反过来是一样的) 然后把所有方法分类之后发现实际上只有\(4\)种决策. 而\(4\)种决策中,两两一组,可以发现对于后面结果的影响是相同的, 那么只需要贪心的考虑选择两种决策的较优值. 所以只剩下两种方法了,直接爆搜+最优性剪枝,拿个二进制什么的状压一下计算贡献, 时间复杂度\(O(2^{n…
[洛谷3674]小清新人渣的本愿(莫队,bitset) 题面 洛谷,自己去看去,太长了 题解 很显然的莫队. 但是怎么查询那几个询问. 对于询问乘积,显然可以暴力枚举因数(反正加起来也是\(O(n\sqrt{n})\)的 对于加减????暴力显然\(GG\) 所以我们来用\(bitset\)玄学优化一下... 然后就能\(AC\)了 时间复杂度? 大概是\(O(n^2/64)\)吧.. #include<iostream> #include<cstdio> #include<…
原题传送门 题目背景 Grant喜欢带着他的小狗Pandog散步.Grant以一定的速度沿着固定路线走,该路线可能自交.Pandog喜欢游览沿途的景点,不过会在给定的N个点和主人相遇.小狗和主人同时从(X1,Y1)点出发,并同时在(Xn,Yn)点汇合.小狗的速度最快是Grant的两倍.当主人从一个点以直线走向另一个点时,Pandog跑向一个它感兴趣的景点.Pandog每次与主人相遇之前最多只去一个景点. 题目描述 你现在的任务是:为Pandog寻找一条路线(有可能与主人的路线部分相同),使它能够…