最近刷银组刷得好欢快,好像都是水题,在这里吧他们都记录一下吧(都是水题大家一定是道道都虐的把= =)几道比较神奇的题到时再列出来单独讲一下吧= =(其实我会说是BZOJ蹦了无聊再来写的么 = =)
[Usaco2004 Dec]Bad Cowtractors牛的报复 很明显是最大生成树了吧,跟最小生成树一样做就行了 = =(排序时按从大到小的顺序排)
[Usaco2004 Dec]Cleaning Shifts安排值班 贪心,按开始时间从小到大排,然后对于已经安排的时间,取在此时间开始的最晚结束的做为下一个值班就行了。(细节有点多= =)
[Usaco2004 Dec]Tree Cutting网络破坏 大意是在树中找是否存在一个点其中一棵子树的大小超过lim吧(没题目= =)直接递归查找,找出其子树的大小推出自身的大小,然后再找出与父亲相连的那个子树大小(不知道怎么说= =)(n-sum[u]就是了)
[Usaco2005 Jan]Sumsets 求和 给一个数,求用2的幂组成这个数有多少种方法 f[i]=sigma(f[i-w[j]]) w[j]为2的k次幂 (本来想用数学方法的QAQ,不过看到范围什么的还是直接dp吧 = =)
[Usaco2005 Mar]Checking an Alibi 不在场的证明 说白了就是找所有点有多少点离1的距离小于t,直接spfa什么的就行了吧= =
[Usaco2006 Feb]Stall Reservations 专用牛棚 贪心,还是按开始时间从小到大排序,然后用堆维护当前最小的时间是否能让牛使用,如果不行就牛棚数+1,否则就更新时间
[Usaco2006 Feb]Treats for the Cows DP f[i][j]表示第i次左边拿到j的最大值,有f[i][j]=max(f[i-1][j-1]+a[j]*i,f[i-1][j]+a[n-i+j+1]*i)
[Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏 明显3N+1问题好吧= =直接模拟就行了
[Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富 dp[j][k]表示走到第j,k得到最大的
[Usaco2007 Dec]Building Roads 修建道路 最小生成树
[Usaco2007 Dec]宝石手镯 01背包= =
[Usaco2007 Dec]穿越泥地 种子染色,直接广搜找最短路
[Usaco2007 Feb]Cow Party 找最短路啦,floyed会超时,n次spfa就行啦
[Usaco2007 Jan]Balanced Lineup排队 RMQ问题= =,o(nlogn)+O(logn)解决
[Usaco2007 Jan]Running贝茜的晨练计划 很有名的一道题,dp f[i][j] 表示第i秒疲劳度为j的运动距离,特殊的f[i][0]=max(f[i-j][j]);
[Usaco2007 Jan]Telephone Lines架设电话线 二分+spfa判断离n的距离是否可行
[Usaco2007 Mar]Monthly Expense 月度开支 二分答案,然后判断= =
[Usaco2007 Nov]Best Cow Line 队列变换 贪心,每次取前和后取决于从前往后数或从后往前数谁大
[Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪 dp f[i][j]表示i个草坪拼成面积j的方案数
[Usaco2008 Dec]Hay For Sale 购买干草 01背包= =
[Usaco2008 Feb]Eating Together麻烦的聚餐 dp f[i][j]表示前i个人最后一个编号为j的最小方案,然后f[i][j]=f[i-1][k]+1 (0<k<=j) a[i]!=j 或 f[i][j]=f[i-1][k](0<k<=j)
[Usaco2008 Feb]Line连线游戏 枚举两点,化简,然后判断是否出现
[Usaco2008 Feb]Meteor Shower流星雨 广搜= =,输出最短路
[Usaco2008 Jan]Cow Contest奶牛的比赛 floyed求两点间是否联通
[Usaco2008 Mar]Cow Travelling游荡的奶牛 f[i][j][k]表示走i步到点[j][k]的路径数
[Usaco2008 Mar]River Crossing渡河问题 递推f[i]表示前i只羊渡河的时间 f[i]=min(f[j]+m+m+sigma(a[k](j<=k<=i))) 前缀和优化
[Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机 保证了是一棵树,那么直接dfs求就行了
[Usaco2008 Nov]Buying Hay 购买干草 无限背包
[Usaco2008 Nov]Guarding the Farm 保卫牧场 说白了就是找连通块个数,把点从高到低排序,然后染色,只能走到<=自己的点上
[Usaco2008 Nov]Time Management 时间管理 贪心,按结束时间从大到小排,从后往前推,完成
[Usaco2008 Open] Clear And Present Danger 寻宝之路 floyed求最短路
[Usaco2008 Open]Cow Cars 奶牛飞车 贪心,按速度排序,算出每头奶牛最多能作为第几只
[Usaco2008 Open]Roads Around The Farm分岔路口 直接模拟= =,递归算出
[Usaco2009 Dec]Music Notes乐谱 贪心= =,题目看不到= =
[Usaco2009 Dec]Selfish Grazing 自私的食草者 贪心,同[Usaco2004 Dec]Cleaning Shifts安排值班
[Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 可以发现,和为k的倍数可以变成模为0的情况,f[i][j]表示前i个人模为j的方案数
[Usaco2009 Mar]Look Up 仰望 明显的二叉排序树= =
[Usaco2009 Nov]找工作 这道题不错,吧点拆成2个,然后用路径的正权值作为花费,负权值作为收益,spfa,注意判负环
[Usaco2009 Open]Cow Digit Game又见数字游戏 递推,必胜态在于有一个必败态,必败态在于都是必胜态
[Usaco2009 Open]Cow Line 直线上的牛 直接模拟,用双端队列实现
[Usaco2009 Open]Hide and Seek 捉迷藏 spfa啦,然后统计一下就行啦~~
[Usaco2010 Dec]Apple Delivery spfa 然后计算距离啦
[Usaco2010 Dec]Treasure Chest 藏宝箱 dp f[i][j]表示距离为i开头为j的最大收益,f[i][j]=sum[j+i-1]-sum[j-1]-min(f[i][j],f[i][j+1]) 然后滚动数组优化
[Usaco2010 Feb]Chocolate Buying 贪心?(没看到题目= =)
[Usaco2010 Feb]Chocolate Giving spfa点1 然后就没了 = =
[USACO2011 Open]Corn Maze玉米迷宫 广搜= =
[Usaco2012 Nov]Clumsy Cows 记(为1,)为-1 从前往后算和,如果出现负数那么ans++,sum+=2;然后答案为ans+sum/2
[Usaco2014 Jan]Cross Country Skiing 二分答案,然后遍历,貌似递归会爆栈
[Usaco2014 Mar]Watering the Fields 又是最小生成树= =
完了,貌似一堆最短路,一堆二分,一堆dp,一堆搜索,一堆最小生成树,一堆贪心= =