5142: [Usaco2017 Dec]Haybale Feast Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 182  Solved: 131[Submit][Status][Discuss] Description Farmer John is preparing a delicious meal for his cows! In his barn, he has NN haybales (1≤N≤100,0 00). The iith…
Description Farmer John is preparing a delicious meal for his cows! In his barn, he has NN haybales (1≤N≤100,0 00). The iith haybale has a certain flavor Fi (1≤Fi≤10^9) and a certain spiciness Si(1≤Si≤10^9). The meal will consist of a single course,…
Description Farmer John's nemesis, Farmer Nhoj, has NN 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 to  give them gifts.To this end, Farmer Jo…
[BZOJ3387][Usaco2004 Dec]Fence Obstacle Course栅栏行动 Description 约翰建造了N(1≤N≤50000)个栅栏来与牛同乐.第i个栅栏的z坐标为[Ai.,Bi](-100000≤Ai<Bi≤10^5),y坐标为i.牛棚的外栏即x轴,原点是牛棚的门.奶牛们开始处于(S,N),她们需要回到牛棚的门(下图中用“*’表示).    约翰的初衷是为了给奶牛们练习跳跃,但是奶牛们似乎更愿意四蹄着地,慢慢她沿着栅栏 走.当她们走到栅栏的尽头,就会朝着牛棚的…
题目描述 Farmer John's cows, pampered since birth, have reached new heights of fastidiousness. They now require their barn to be immaculate. Farmer John, the most obliging of farmers, has no choice but hire some of the cows to clean the barn. Farmer John…
---题面--- 题解: 观察到以决策点为分界线,以点数大的赢为比较方式的游戏都是它的前缀,反之以点数小的赢为比较方式的都是它的后缀,也就是答案是由两段答案拼凑起来的. 如果不考虑判断胜负的条件的变化,则有一个比较容易发现的贪心: 设f[i]为从1开始到i位, 比较方式为点数大的获胜,最多能赢几局. 那么为了使答案尽可能优,每次我们都会在剩余牌中找到点数大于对方的 最小的牌,然后出掉. 同理,设g[i]为从n开始到i位,比较方式为点数小的获胜,最多能赢几局, 则每次都在剩余牌中选择点数小于对方的…
链接 题意:给你一些区间,每个区间都有一个花费,求覆盖区间 \([S,T]\) 的最小花费 题解 先将区间排序 设 \(f[i]\) 表示决策到第 \(i\) 个区间,覆盖满 \(S\dots R[i]\) 的最小花费 显然 \(f[i]=\min_{R[j]\ge L[i]}f[j]+w[i]\) 按照区间建线段树,插右端点即可 #include<bits/stdc++.h> #define REP(i,a,b) for(int i(a);i<=(b);++i) using names…
标题解法是吓人的. 图上修改询问,不好用数据结构操作.尝试转化为树来维护.发现(不要问怎么发现的)最小生成树在这里比较行得通,因为最近异色点对一定是相邻的(很好想),所以只要看最短的一条两端连着异色点的边,而分析一下kruskal的过程,发现满足这种要求的最小边一定会被加进去(因为相邻异色点总要联通),所以不管颜色怎么修改,答案一定在最小生成树上.于是,问题转化为了一棵树.````` 修改一个点的颜色,不妨只关心他和他儿子之间的所有边.由于要查询和自己颜色不同的儿子的最小权值,与颜色有关,所以可…
题意: T,A,B.T是上限.A和B可以随意吃但是不能超过T.有一次将吃的东西/2的机会.然后可以继续吃,不能超过T.问最多可以吃多少. =>我们先处理不能/2可以吃到哪些.然后弄个双指针扫一扫就可以了TAT #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> using namespace std; #define rep(i,s,t) for(int i=s…
[BZOJ5138][Usaco2017 Dec]Push a Box(强连通分量) 题面 BZOJ 洛谷 题解 这题是今天看到萝卜在做然后他一眼秒了,我太菜了不会做,所以就来做做. 首先看完题目,是不是有点像\(NOIP\)的那道华容道? 所以类似的考虑状态\(f[x][y][d]\),表示当前箱子在\((x,y)\)位置,人在\(d\)(上下左右中的一个)方向时是否存在.那么这样子的状态数是\(4nm\)个,显然是可以的.考虑转移的话就是人推箱子了,沿着某个方向直接推是很容易的,现在的问题是…