[USACO 12DEC]Running Away From the Barn】的更多相关文章

Description It's milking time at Farmer John's farm, but the cows have all run away! Farmer John needs to round them all up, and needs your help in the search. FJ's farm is a series of N (1 <= N <= 200,000) pastures numbered 1...N connected by N - 1…
子树操作, dfs序即可.然后计算<=L就直接在可持久化线段树上查询 ------------------------------------------------------------------- #include<bits/stdc++.h>   using namespace std;   #define M(l, r) (((l) + (r)) >> 1)   const int maxn = 200009;   typedef long long ll;  …
BZOJ_3011_[Usaco2012 Dec]Running Away From the Barn _可并堆 Description 给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于l的点有多少个. Sample Input 4 5 1 4 2 3 1 5 Sample Output 3 2 1 1 做法不唯一,这里用来练习可并堆. 先求出每个点$i$ 到根路径上的长度$dis[i]$ ,对每个点建一个可并堆(大根). 然后从下往上合并,如果当前$dis[堆顶]-dis[x]>L$…
[BZOJ3011][Usaco2012 Dec]Running Away From the Barn Description It's milking time at Farmer John's farm, but the cows have all run away! Farmer John needs to round them all up, and needs your help in the search. FJ's farm is a series of N (1 <= N <=…
题目大意: 给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于m的点有多少个 左偏树 https://blog.csdn.net/pengwill97/article/details/82874235 题解https://www.cnblogs.com/GXZlegend/p/6532881.html 若y在x的子树内 那么x到y的距离 等于 dis(1,y)-dis(1,x) 所以DFS时处理出节点到根(点1)的距离 然后自底向上合并 维护距离大顶堆 那么当 堆顶到根的距离 > m…
题目描述 给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于l的点有多少个. 输入格式 Line 1: 2 integers, N and L (1 <= N <= 200,000, 1 <= L <= 10^18) Lines 2..N: The ith line contains two integers p_i and l_i. p_i (1 <= p_i < i) is the first pasture on the shortest path b…
题意 给出一棵以1为根节点树,求每个节点的子树中到该节点距离<=l的节点的个数 题解 方法1:倍增+差分数组 首先可以很容易的转化问题,考虑每个节点对哪些节点有贡献 即每次对于一个节点,找到其第l个父亲,这个操作可以用倍增在logn时间内完成 找到后将x-y这一段区间都加1,很容易想到用差分数组维护 方法2:主席树 考虑节点x和节点x的子树中的一个节点y,记点x到根节点的距离为dis[x] 若dis[y]-dis[x]<=l则满足条件 将不等式变形可得dis[y]<=dis[x]+l 即…
[题解] 动态规划,dp[i][j]表示第i分钟疲劳度为j的最长距离. [代码] #include <iostream> #include <cstdlib> #include <algorithm> #include <cstring> using namespace std; #define scan(x) cin >> x #define print(x) printf("%d\n", x) #define maxn 1…
题目 一道入门的dp,首先要先看懂题目要求. 容易得出状态\(dp[i][j]\)定义为i时间疲劳度为j所得到的最大距离 有两个坑点,首先疲劳到0仍然可以继续疲劳. 有第一个方程: \(dp[i][0]=max(dp[i-1][0],d[i][0])\) 而如果要休息则一定要休息到疲劳值为0才可以停止. 有第二个方程: \(dp[i][0]=max(dp[i][0], dp[i-j][j])\)意思是i位置疲劳度为0时的最大距离,是i-j位置疲劳值为j时休息j天的最大距离. 而根据题目意思所得到…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3011 题解 复习一下左偏树板子. 看完题目就知道是左偏树了. 结果这个板子还调了好久. 大概已经不会写左偏树了. 时间复杂度 \(O(n\log n)\). #include<bits/stdc++.h> #define fec(i, x, y) (int i = head[x], y = g[i].to; i; i = g[i].ne, y = g[i].to) #define dbg(…
其实日期没有那么近啦……只是我偶尔还点进去造成的,导致我没有每一章刷完的纪念日了 但是全刷完是今天啦 讲真,题很锻炼思维能力,USACO保持着一贯猎奇的题目描述,以及尽量不用高级算法就完成的题解……例如用暴搜加优化代替插头dp 但是第6章!我就说第6章!为什么大赛的实践,几乎全是暴搜!是为了传达给我们不如暴搜吗?! 但是总之是结束了……想了想,从初二暑假刷了两章,然后一年陆陆续续刷完较难的四章…… 唉,一年了啊……下周也该中考了……7月份还得去noi被各大神犇完虐……仅代表辽宁省最低水平…… 一…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
https://files.cnblogs.com/files/Winniechen/usaco2012-2013.pdf 做的不是很好,还请见谅! 如果有什么疑问,可以QQ上找我. QQ号:1967199892 附上代码: BZOJ3010: [Usaco2012 Dec]Gangs of Istanbull #include <cstdio> #include <cmath> #include <algorithm> #include <iostream>…
USACO前面好像有类似的题目..dp(i,j)=min(dp(i+1,j),dp(i+1,j+1),dp(i,j+1))+1  (坐标(i,j)处无tree;有tree自然dp(i,j)=0) .dp(i,j)表示以坐标(i,j)为左上角的barn边长最大值,dp(i+1,j),dp(i,j+1)分别表示向右和向下能扩展的最大边长,但是以此为正方形时,右下方的一个格子没有考虑到,所以就+个dp(i+1,j+1).边界为:dp(i,j)=1(i==n-1或j==n-1). -----------…
A Rectangular Barn Mircea Pasoi -- 2003 Ever the capitalist, Farmer John wants to extend his milking business by purchasing more cows. He needs space to build a new barn for the cows. FJ purchased a rectangular field with R (1 ≤ R ≤ 3,000) rows numbe…
Big BarnA Special Treat Farmer John wants to place a big square barn on his square farm. He hates to cut down trees on his farm and wants to find a location for his barn that enables him to build it only on land that is already clear of trees. For ou…
53 奶牛赛跑 约翰有 N 头奶牛,他为这些奶牛准备了一个周长为 C 的环形跑牛场.所有奶牛从起点同时起跑,奶牛在比赛中总是以匀速前进的,第 i 头牛的速度为 Vi.只要有一头奶牛跑完 L 圈之后,比赛就立即结束了.有时候,跑得快的奶牛可以比跑得慢的奶牛多绕赛场几圈,从而在一些时刻超过慢的奶牛.这就是最令观众激动的套圈事件了.请问在整个比赛过程中,套圈事件一共会发生多少次呢?输入格式• 第一行:三个整数 N, L 和 C, 1 ≤ N ≤ 105 , 1 ≤ L ≤ 25000 , 1 ≤ C…
  Barn Repair 题意:在一个夜黑风高,下着暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 剩下的牛一个紧挨着另一个被排成一行来过夜. 有些牛棚里有牛,有些没有. 所有的牛棚有相同的宽度. 自门遗失以后,农民约翰必须尽快在牛棚之前竖立起新的木板. 他的新木材供应商将会供应他任何他想要的长度,但是供应商只能提供有限数目的木板. 农民约翰想将他购买的木板总长度减到最少. 给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1&l…
贪心,去掉最大的min(m,c)-1个间隔 /******************************************* TASK: barn1 LANG: C++ Created Time: 2016/9/9 14:36:17 *********************************/ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> u…
这到题目的题意不太好理解= = 看来还是英语太弱了 实际上题目给了你M, S, C 分别代表最多不超过M 块木板, S代表牛棚总数,C代表接下来有C个牛所在牛棚的标号 然后求的是如何安排方案,可以使得总木板长度最小. 是一道[贪心]的题目. 首先得判断,如果M >= C,就直接输出C,表示最小长度为C 然后,对输入的牛进行排序 求出ans数组,表示相邻牛的牛棚间隔 再对ans数组排序 求出cnt,cnt为最后一只牛棚的牛和第一只牛棚牛的间隔 从大到小,用cnt减去ans[i],减M- 1次,表示…
题目 题目描述 某农夫有一个养牛场,所有的牛圈都相邻的排成一排(共有S个牛圈),每个牛圈里面最多只圈养一头牛.有一天狂风卷积着乌云,电闪雷鸣,把牛圈的门给刮走了.幸运的是,有些牛因为放假,所以没在自己的牛圈里(只有C个牛圈里面有牛).现在农夫需要去用木板将牛圈的门补好,为了快速修复,农夫可以用一块长的木板直接将相邻连续的几个牛圈一起钉好封闭.现在有一个木板供应商,他能够供应M块木板,每块木板的长度任意.农夫想让最终消耗的木板总长度最小,请编写一个程序计算. 数据范围 1 <= M <= 50…
题目描述 输入 第1行:两个用空格隔开的整数:N和M * 第2行到N+1行:第i+1行表示一个整数C_i * 第N+2到N+M+1行: 第i+N+1行表示2个整数 A_i和B_i 输出 * 第一行: 一个整数表示最多能够被满足的要求数 样例输入 5 4 1 3 2 1 3 1 3 2 5 2 3 4 5 样例输出 3   对于区间覆盖这一类的问题,贪心是一个很好的思路.优先选右端点小的,这个很好证明:选了一段区间后,如果有更优解,也就是这段区间能被其他两段区间代替,那么这两个区间不会有相同部分,…
Description 在一个夜黑风高,下着暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 剩下的牛一个紧挨着另一个被排成一行来过夜. 有些牛棚里有牛,有些没有. 所有的牛棚有相同的宽度. 自门遗失以后,农民约翰必须尽快在牛棚之前竖立起新的木板. 他的新木材供应商将会供应他任何他想要的长度,但是供应商只能提供有限数目的木板. 农民约翰想将他购买的木板总长度减到最少. 给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S…
题意 之后补. 分析 这题同样也很精巧.我们不妨思考一下,如果只允许用一块木板,那么要购买多少距离?是整个的距离吗?不是,是从第一个到最后一个(哈哈哈哈哈哈哈).但是,不包括第一个的"左边"和最后一个的"右边".只允许用两块的时候发生了什么变化?可以想见,最好的解是将最宽的那个间隔去掉.以此类推. 以这样的思路就可以得到题目的解法.问题在于各种各样的细节(again):样例数据里面给的牛棚按照顺序但是实际数据它未作保证:然后牛棚的距离记得-1,因为牛棚本身需要盖木板…
barn1解题报告 —— icedream61 博客园(转载请注明出处)------------------------------------------------------------------------------------------------------------------------------------------------[题目] 有一列牛棚,编号从1到S,相邻的牛棚紧挨着(间距为0),每个牛棚长度是一个单位. 其中有C头牛,分别在各自的牛棚中,不存在多个牛挤…
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5141 [算法] 树形DP 时间复杂度 : O(N) [代码] #include<bits/stdc++.h> using namespace std; typedef long long LL; ; ; ; struct edge { int to , nxt; } e[MAXN << ]; int n , k , tot; int color[MAXN] , hea…
Running Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5652   Accepted: 2128 Description The cows are trying to become better athletes, so Bessie is running on a track for exactly N (1 ≤ N ≤ 10,000) minutes. During each minute, she can…
USACO Chapter 1 解题总结 1.1.1 Your Ride Is Here 基本字符串操作,无压力. 1.1.2 Greedy Gift Givers 基础模拟题,弄明白题意,不怕麻烦,就OK了. 1.1.3 Friday the Thirteenth 自己的做法:三维数组代表年月日,400的数据范围不大,模拟走一下时间的流逝过程即可.时间复杂度O(N*12*31),多好玩. 官方标程好像用到了一个神奇的公式,好像是什么蔡勒公式. 1.1.4 Broken Necklace 2*N…
Description The cows are trying to become better athletes, so Bessie ≤ N ≤ ,) minutes. During each minute, she can choose to either run or rest for the whole minute. The ultimate distance Bessie runs, though, depends on her . When she chooses to run…
usaco ch1.4 sort(d , d + c, [](int a, int b) -> bool { return a > b; }); 生成与过滤 generator&&filter dfs:简化多重循环,枚举点对与判环 洛谷OJ P1209 [USACO1.3]修理牛棚 Barn Repair P1444 [USACO1.3]虫洞wormhole P3650 [USACO1.3]滑雪课程设计Ski Course Design P2693 [USACO1.3]号码锁…