USACO2016 January Gold Angry Cows】的更多相关文章

Angry Cows 题目描述:给出数轴上的\(n\)个整点\((a[i])\),现在要在数轴上选一个位置\(x\)(可以是实数),以及一个半径\(R\),在以\(x\)为中心,半径为\(R\)的范围内的点为被覆盖,然后被覆盖的点会以自己为中心,半径为\(R-1\)覆盖其它未被覆盖的点,以此类推,问覆盖所有点的最小\(R\) solution 这道题挺好的,可能我对于那些有单调性的题目不是很熟悉吧. 从小到大排序,首先算出以\(i\)为半径中心,覆盖前\(i\)个点的最小半径\(f[i]\),容…
NC24017 [USACO 2016 Jan S]Angry Cows 题目 题目描述 Bessie the cow has designed what she thinks will be the next big hit video game: "Angry Cows". The premise, which she believes is completely original, is that the player shoots cows with a slingshot i…
1.题意:给一堆可以的限制长度的区间...区间的长度是你控制的...但是只有一个长度...求最短长度覆盖所有的点 2.分析:发现可以二分...那二分吧.....然后我们从头向后扫一遍直接判断能否直接覆盖...然后就可以AC了<大赛后一水系列> #include <map> #include <set> #include <queue> #include <cmath> #include <cstdio> #include <cs…
二分. #include<cstdio> #include<algorithm> #include<cstring> using namespace std; + ; int n,k,l,r,mid,ans,d; int a[maxn]; bool check(int dist) { dist=*dist; ,sum=; ;i<=n;i++) { ]>dist-d) { sum++; d=; } ]; } //printf("%d %d\n&quo…
题目 题目链接,我只在poj上找到了题目,usaco居然上不去. 大意就是说有一些\(1\times 1\times 1\)的小方块堆在一起,问最多能装多少水. 我们在一次测试中出了这题,由于我写水题的能力太弱,挂掉了. 算法1 这是我当时想到的方法. 我们可以统计出每一层能装多少水.由于层数达到了\(10^9\),所以需要离散化一下. 我们可以用并查集来维护装水的面积. 时间复杂度:\(O(n^2 \alpha (n^2))\). 算法2 这是<算法艺术>\(P89\)上的例题(同时也是PO…
传送门 一道神奇的DP………(鬼知道他为什么在tarjan里面) 一开始可能会考虑贪心或者什么其他神奇的算法,不过还是DP比较靠谱. 我们用f[i]表示摧毁所有i左侧的炸 药包最少需要的能量,用g[i]表示摧毁所有i右侧的炸 药包最少需要的能量. 那么我们只要找到满足j < i,a[i] - a[j] > f[j]+1的最后一个j炸 药包,就可以更新f[i]的值,f[i]  = min(f[i],a[i]-a[j],f[j]+1); 同样的g也是同理. 为什么这么找呢……因为首先我们发现如果a…
题目链接 Solution 应该可以用二分拿部分分,时间 \(O(n^2logn)\) . 然后可以考虑 \(n^2\) \(dp\) ,令 \(f_i\) 代表 \(i\) 点被激活,然后激活 \(i\) 之前所有点所需的半径. 那么很显然 \(f[i]=min(max(pos[i]-pos[j],f[j]))\) 其中 \(j<i\) . 再从后往前记录一个 \(g[i]\) , 那么答案就为 \(min(max(f[i],g[i]))\)以及还要考虑两点中间的,其中 \(1<=i<…
一图流 参考代码: #include<bits/stdc++.h> #define ll long long #define db double #define filein(a) freopen(#a".in","r",stdin) #define fileot(a) freopen(#a".out","w",stdout) #define sky fflush(stdout) #define gc getcha…
1.Angry Cows http://www.usaco.org/index.php?page=viewproblem2&cpid=597 dp题+vector数组运用 将从左向右与从右向左扫描结合.先从左到右DP,确定每个干草捆向右爆炸的最小半径,再从右到左,确定每个干草捆向左爆炸的最小半径.通过扫描每个干草捆,用这两个数字来确定我们应该设置初始引爆点的最佳位置. #include <cstdio> #include <algorithm> #include <v…
Corral the Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1352   Accepted: 565 Description Farmer John wishes to build a corral for his cows. Being finicky beasts, they demand that the corral be square and that the corral contain a…