摘要: bzoj4002[JLOI2015]有意义的字符串 题意: 给出b,d,n。求 题解: 蒟蒻太弱只能引用神犇的题解 构造数列an=b∗an−1+d−b2/4*an−2 ,其中a0=2,a1=b,然后我们求出这个数列的通项公式,得到an=(b+d√2)n+(b−d√2)n 即(b+d√2)n=an−( 阅读全文
posted @ 2016-09-16 16:14 YuanZiming 阅读(158) 评论(0) 推荐(0) 编辑
摘要: bzoj1613[Usaco2007 Jan]Running贝茜的晨练计划 题意: 贝茜进行N分钟的晨跑。在每分钟的开始,贝茜会选择下一分钟是用来跑步还是休息,如果贝茜选择在第i分钟内跑步,她可以在这一分钟内跑Di米,并且她的疲劳度会增加 1。贝茜的疲劳度上限为M。如果贝茜选择休息,那么她的疲劳度就 阅读全文
posted @ 2016-09-16 16:00 YuanZiming 阅读(232) 评论(0) 推荐(0) 编辑
摘要: bzoj1602[Usaco2008 Oct]牧场行走 题意: n点树(有边权),q个询问求两个点之间的最短距离。n,q≤1000。 题解: 倍增求lca。 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 # 阅读全文
posted @ 2016-09-16 15:56 YuanZiming 阅读(174) 评论(0) 推荐(0) 编辑
摘要: bzoj1715[Usaco2006 Dec]Wormholes 虫洞 题意: 判一个图是否有负环。点数≤500,边数≤3000。(我看不懂原题,后来看了题解,就直接这样说了) 题解: SPFA中如果一个点被更新了n次以上,那么这个图中存在负环。 代码: 20160912 阅读全文
posted @ 2016-09-16 15:52 YuanZiming 阅读(194) 评论(0) 推荐(0) 编辑
摘要: bzoj2442[Usaco2011 Open]修剪草坪 题意: 从一个序列中选n个数,要求这些数中不能有超过k个数在原序列中位置是连续的。求最大的取数之和。n≤100000。 题解: f[i]表示不选i,1到i-1可以得到的最大取数之和。则f[i]=max(f[j]+sum[i-1]-sum[j] 阅读全文
posted @ 2016-09-16 15:49 YuanZiming 阅读(200) 评论(0) 推荐(0) 编辑
摘要: bzoj3374[Usaco2004 Mar]Special Serial Numbers 特殊编号 题意: 求比一个数大的最小的一半以上的数位相同的数。数位数≤100。 题解: 模拟题。从低位枚举到高位,对于每一位枚举比原数该位大的数,同时枚举这一位之后要由0和哪一个数组成,最后得到一个最小的数输 阅读全文
posted @ 2016-09-16 15:36 YuanZiming 阅读(304) 评论(0) 推荐(0) 编辑
摘要: bzoj3383[Usaco2004 Open]Cave Cows 4 洞穴里的牛之四 题意: 平面直角坐标系有n个点,从(0,0)出发,从一个点上可以跳到所有与它横纵坐标距离都≤2的点上,求最少步数使得纵坐标为T。 题解: 先用set存下所有的点。在做dp的时候把所有横纵坐标与当前节点距离≤2的节 阅读全文
posted @ 2016-09-16 15:29 YuanZiming 阅读(324) 评论(0) 推荐(0) 编辑
摘要: bzoj3382[Usaco2004 Open]Cave Cows 3 洞穴里的牛之三 题意: n个点,求最远曼哈顿距离。n≤50000。 题解: 曼哈顿距离转切比雪夫距离(点(x,y)变为点(x+y,x-y)),然后输出最大横坐标-最小横坐标与最大纵坐标-最小纵坐标的较大值即可。 代码: 2016 阅读全文
posted @ 2016-09-16 15:23 YuanZiming 阅读(333) 评论(0) 推荐(0) 编辑
摘要: bzoj3381[Usaco2004 Open]Cave Cows 2 洞穴里的牛之二 题意: RMQ问题。序列长度≤25000,问题数≤25000。 题解: 倍增。 代码: 20160912 阅读全文
posted @ 2016-09-16 15:19 YuanZiming 阅读(279) 评论(0) 推荐(0) 编辑
摘要: bzoj3380[Usaco2004 Open]Cave Cows 1 洞穴里的牛之一 题意: 给一个无向图,每一条边都有一个阈值,有一些点有草。牛从点1出发,每当它到达有草的点可以选择吃或不吃,如果吃的话体重加1。对于边如果它的阈值小于牛的体重,则此边不可通过。求牛走一圈回到点1的最大体重。有草节 阅读全文
posted @ 2016-09-16 15:16 YuanZiming 阅读(282) 评论(0) 推荐(0) 编辑
摘要: bzoj3375[Usaco2004 Mar]Paranoid Cows 发疯的奶牛 题意: 依次给出n只奶牛的产奶时间段,求最大的k使得前k只奶牛不存在一个时间段被另一个时间段完全覆盖的情况。n≤100000。 题解: 设当前在处理第i只奶牛,前i-1只奶牛都合法。那么如果前i-1只奶牛中时间段左 阅读全文
posted @ 2016-09-16 15:03 YuanZiming 阅读(318) 评论(0) 推荐(0) 编辑
摘要: bzoj3538[Usaco2014 Open]Dueling GPS 题意: 给你一个N个点的有向图,设定初始位置为1,结束位置为n。有两个GPS定位系统,分别认为经过边i的时间为Pi,和Qi.每走一条边的时候,如果一个系统认为走的这条边不是它认为的最短路,就会受到警告一次。如果走的这条边都不在两 阅读全文
posted @ 2016-09-16 14:55 YuanZiming 阅读(245) 评论(0) 推荐(0) 编辑
摘要: bzoj3891[Usaco2014 Dec]Piggy Back 题意: 给定一个N个点M条边的无向图,其中Bessie在1号点,Elsie在2号点,它们的目的地为N号点。Bessie每经过一条边需要消耗B点能量,Elsie每经过一条边需要消耗E点能量。当它们相遇时,它们可以一起行走,此时它们每经 阅读全文
posted @ 2016-09-16 14:48 YuanZiming 阅读(310) 评论(0) 推荐(0) 编辑
摘要: bzoj3892[Usaco2014 Dec]Marathon 题意: 在二维平面上有N个点,从(x1,y1)到(x2,y2)的代价为|x1-x2|+|y1-y2|。求从1号点出发,按从1到N的顺序依次到达每个点的最小总代价。你有K次机会可以跳过某个点,不允许跳过1号点或N号点。n≤500。 题解: 阅读全文
posted @ 2016-09-16 14:43 YuanZiming 阅读(378) 评论(0) 推荐(0) 编辑
摘要: bzoj3893[Usaco2014 Dec]Cow Jog 题意: 在一条无限长的跑道上有N头牛,每头牛有自己的初始位置及奔跑的速度。牛之间不能互相穿透。当一只牛追上另一只牛时,它不得不慢下来,成为一个群体。求T分钟后一共有几个群体。n≤100000,t≤1000000000 题解: 如果慢车经过 阅读全文
posted @ 2016-09-16 12:10 YuanZiming 阅读(579) 评论(0) 推荐(0) 编辑
摘要: bzoj3524[Poi2014]Couriers 题意: 给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。n,m≤500000。 题解: 先建主席树,之后在查找时,只走s 阅读全文
posted @ 2016-09-16 11:13 YuanZiming 阅读(198) 评论(0) 推荐(0) 编辑
摘要: bzoj4390[Usaco2015 dec]Max Flow 题意: 给定一棵有N个点的树,所有节点的权值都为0。有K次操作,每次指定两个点s,t,将s到t路径上所有点的权值都加一。请输出K次操作完毕后权值最大的那个点的权值。n≤50000,k≤100000。 题解: 先链剖把树变为链。然后用数组 阅读全文
posted @ 2016-09-16 11:08 YuanZiming 阅读(209) 评论(0) 推荐(0) 编辑
摘要: bzoj4393[Usaco2015 Dec]Fruit Feast 题意: 奶牛一开始饱胀值为0,上限为T。每个柠檬派提供a点饱胀值,每个橘子派提供b点饱胀值,有一次机会喝水,使得饱胀值div2。柠檬派和橘子派有无限个,求最大饱胀值。T≤5000000。 题解: dfs。f[i][1/0]表示当前 阅读全文
posted @ 2016-09-16 11:03 YuanZiming 阅读(412) 评论(0) 推荐(0) 编辑
摘要: bzoj4397[Usaco2015 dec]Breed Counting 题意: 给定一个长度为N的序列,每个位置上的数只可能是1,2,3中的一种。有Q次询问,每次给定两个数a,b,请分别输出区间[a,b]里数字1,2,3的个数。n≤100000,q≤100000。 题解: 裸前缀和。 代码: 2 阅读全文
posted @ 2016-09-16 10:56 YuanZiming 阅读(176) 评论(0) 推荐(0) 编辑
摘要: bzoj4396[Usaco2015 dec]High Card Wins 题意: 一共有2n张牌,Alice有n张,Bob有n张,每一局点数大的赢。知道Bob的出牌顺序,求Alice最多能赢几局。n≤50000。 题解: 贪心。将Alice和Bob的牌按点数大小排序,然后如果Alice当前牌能赢B 阅读全文
posted @ 2016-09-16 10:54 YuanZiming 阅读(261) 评论(0) 推荐(0) 编辑