原网站大概已经上不了了-- 题目大意: 求出平面上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+…
http://www.lydsy.com/JudgeOnline/problem.php?id=1591 https://www.luogu.org/problemnew/show/P2924#sub 有n(5≤n≤250)个栅栏点,FJ需要围成一个栅栏圈,这个圈是一个凸包并且凸包上的点最多. 这题题解写的如此之玄幻,题目看起来如此之不可做…… 然而实际很简单……看了半天题解发现不如看他代码. 我们考虑我们是怎么构造凸包的,就是通过点的极角排序来判断这个点所引出的线应该往哪里转(或者可能不取这个…
[题意概述] 有n件物品,每件物品有体积Vi,背包容量为C,问最多可以装多少体积的物品 [题解] 显然是个无限背包嘛.. 直接做背包DP就好 注意无限背包的写法和01背包的区别 #include<cstdio> #include<algorithm> using namespace std; ; ; void read(int &k){ k=; ; char c=getchar(); ),c=getchar(); +c-',c=getchar(); k*=f; } int…
USACO 2013 DEC SILVER 一.题目概览 中文题目名称 挤奶调度 农场航线 贝西洗牌 英文题目名称 msched vacation shuffle 可执行文件名 msched vacation shuffle 输入文件名 msched.in vacation.in shuffle.in 输出文件名 msched.out vacation.out shuffle.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较方式 全文…
USACO 2014 DEC SILVER 一.题目概览 中文题目名称 回程 马拉松 奶牛慢跑 英文题目名称 piggyback marathon cowjog 可执行文件名 piggyback marathon cowjog 输入文件名 piggyback.in marathon.in cowjog.in 输出文件名 piggyback.out marathon.out cowjog.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 10 10 每个测试点分值 10 10 10 比较…
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…
后缀数组 o(︶︿︶)o 唉傻逼了一下,忘了把后缀数组的字典范围改回20001,直接21交了上去,白白RE了两发……sigh 既然要找出现了K次的子串嘛,那当然要用后缀数组了>_>(因为我太弱不会自动机&树) ok离散化后上后缀数组,求出height数组>_>然后用个……ST表= =?! O(n)地扫一遍所有的区间……看所有长度为k的里面最大的min(i,i+k-1)是多少(当然,k要减一,因为是K个子串的话对应的是K-1个串的LCP) 水题还RE了两发→_→真是难过 /*…