原网站大概已经上不了了-- 题目大意: 求出平面上n个点组成的一个包含顶点数最多的凸多边形.n<=250. 考虑我们每次枚举凸包的左下角为谁(参考Graham求凸包时的左下角),然后像Graham一样,将其他点相对于当前左下角做一个极角排序. 我们会想到一个dp,dp[i][j]表示当前边为i到j的最多点,得到下面这样的转移: for (int i=1;i<=n;i++) if (x!=i) dp[x][i]=1; for (int i=1;i<=n;i++) for (int j=i+…
Link: USACO 2017 Dec Gold 传送门 A: 为了保证复杂度明显是从终结点往回退 结果一开始全在想优化建边$dfs$……其实可以不用建边直接$multiset$找可行边跑$bfs$就行了 由于保证每个点只进队列一次.被搜索到一次,因此复杂度为$O(n*log(n))$ #include <bits/stdc++.h> using namespace std; #define X first #define Y second typedef long long ll; typ…
NC24083 [USACO 2017 Dec P]Greedy Gift Takers 题目 题目描述 Farmer John's nemesis, Farmer Nhoj, has N cows (\(1≤N≤10^5\)), conveniently numbered 1-N. They have unexpectedly turned up at Farmer John's farm, so the unfailingly polite Farmer John is attempting…
NC24866 [USACO 2009 Dec S]Music Notes 题目 题目描述 FJ is going to teach his cows how to play a song. The song consists of N (1 <= N <= 50,000) notes, and the i-th note lasts for Bi (1 <= Bi <= 10,000) beats (thus no song is longer than 500,000,000…
#include <iostream> #include <cstdio> #include <cstring> using namespace std; #define Up num[0] #define Right num[1] #define Down num[2] #define Left num[3] char ca,cb,cc,cd; int r,c,rc; ]; class Jigsaw { public: int serialNumber; ]; pub…