摘要:
这个题方法还挺多的,不过洛谷上要输出方案所以用堆最方便 先按起始时间从小到大排序。 我用的是greater重定义优先队列(小根堆)。用pair存牛棚用完时间(first)和牛棚编号(second),每次查看队首的first是否比当前牛的起始时间早,是则弹出队首记录当前牛的答案,再把新的pair放进去 阅读全文
摘要:
直接枚举两两牛之间的距离即可 cpp include include include using namespace std; const int N=10005; int n,a[N]; int read() { int r=0,f=1; char p=getchar(); while(p '9' 阅读全文
摘要:
把add传参里的double写成int我也是石乐志…… 首先这个东西长得就很01分数规划 然后我不会证为什么没有8字环,我们假装他没有 那么设len为环长 $$ ans \leq \frac{\sum_{i=1}^{len}f_i}{\sum_{i=1}^{len}t_i} $$ $$ ans \s 阅读全文
摘要:
设f[i]为i不选的最小损失,转移是f[i]=f[j]+e[i[(i j 1 include using namespace std; const int N=100005; int n,m,e[N],q[N],l,r; long long f[N],ans,mn=1e18; int read() 阅读全文