自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

everlasting的博客

A tweiphay OIer.

  • 博客(39)
  • 收藏
  • 关注

原创 bzoj 4781: [Usaco2017 Open]Paired Up

→题目链接←每次把最大的牛与最小的牛合并,最终结果一定是最大值最小的所以我们用优先队列维护一个大根堆,再维护一个小根堆,每次合并更新下答案就好代码:#include#include#include#include#include#includeusing namespace std;struct node1{ int sum,val,num;

2017-08-30 09:25:56 369

原创 bzoj 3890: [Usaco2015 Jan]Meeting Time bfs

→题目链接←对于每个点我们维护两个bool数组vis[0][i][j]=true表示第j时刻Bessie来过点ivis[0][i][j]=true表示第j时刻Elsie来过点i然后我们从1号点开始,每当vis[0或1][i][j]==false时就变成true,并放到队列里最后vis[0][n][1~maxm]与vis[1][n][1~maxm]都为true时,第三维的

2017-08-29 20:37:06 360

原创 bzoj 4396: [Usaco2015 dec]High Card Wins

→题目链接←每个牌肯定是管第一个比它小的牌是最优的所以我们只需要从小到大记录对面目前还剩几张牌,手里只要有能管的就管上一个代码:#include#includeusing namespace std;int n;bool f[100010];int ans=0;int main(){ scanf("%d",&n); for(int i=0; i

2017-08-28 20:28:15 486

原创 bzoj 4397: [Usaco2015 dec]Breed Counting 前缀和/线段树

→题目链接←这个题我傻逼了看到区间查询我下意识地打了线段树然后一发A了后发现其他人的代码都好快啊找题解发现都是用的前缀和靠!然后又搞了一发前缀和我把两个代码都放上来吧前缀和:#include#includeusing namespace std;int n,m;int sum1[100010],sum2[100010],sum

2017-08-28 09:18:18 426

原创 bzoj 3412: [Usaco2009 Dec]Music Notes乐谱

→题目链接←维护前缀和,对于每次询问找到第一个大于它的数(也就是upper_bound)的下标,就是答案手写可以二分找用stl可以用upper_bound代码:#include#include#includeusing namespace std;int n,m;int sum[50050];int main(){ scanf("%d%d",

2017-08-25 14:15:54 415

原创 bzoj 3366: [Usaco2004 Feb]Breeding 奶牛饲育

特别鸣谢+膜拜ljss→题目链接←题目大意就是有多少种不同的方案能乘出n把所有的约数都暴力地找出来,然后dp[i]表示n=a[i]时有多少种方法可以得到这个数显然的是如果a[i]%a[j]==0那么dp[i]+=dp[j]初始时dp[i]都为1最后那个dp就是答案代码:#include#include#includeusing nam

2017-08-24 11:04:21 470

原创 bzoj 3358: [Usaco2004 Jan]洪水

→题目链接←保存每个高度有多少个如果目前剩的水的体积大于目前最矮的高度的数量,那么会使水面高度整体上升1,然后把目前的高度+1然后再判断下以前是否已经有了+1后的高度,如果有把这两堆合并,再推进优先队列直到最终高度后,只要初始高度小于等于最终高度,都加进ans最后输出 最终高度 和 ans代码:#include#include#include#in

2017-08-22 16:25:59 341

原创 bzoj 1083: [SCOI2005]繁忙的都市 并查集

→题目链接←使n个点联通显然的是n-1条边将边以长度从小到大排序,如果目前的边的两端点不在同一集合中,就选择这个边,这显然是最优的代码:#include#include#includeusing namespace std;struct edge{ int s,t,len; friend bool operator < (edge a,edge b)

2017-08-19 10:32:39 274

原创 bzoj 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路 SPFA

→题目链接←裸最短路代码:#include#include#include#include#include #define inf 90000000 using namespace std; int n,m;int a[110][110];int Min[110][110];int to[10010];queueq; int ma

2017-08-18 16:50:42 233

原创 bzoj 1293: [SCOI2009]生日礼物 STL

→题目链接←对于每个彩珠我们保存它的下标和颜色,然后按下标排序之后用set存对于每个颜色我们选中的彩珠的下标如果insert的时候碰到set的size为0,说明这是一个新的颜色,我们就令difcol++每次使右端点向右移动1然后如果左端点的彩珠的颜色的set的size大于1,说明这个彩珠我们不需要了,就从set中erase掉不用考虑相同坐标中的重复彩珠,因为对于一个

2017-08-18 15:14:48 259

原创 bzoj 2748: [HAOI2012]音量调节 dp

→题目链接←很水的一道题如果第i首歌时音量为j是可行的,那么dp[i][j]=true最初dp[0][beginLevel]=true;之后每次暴力扫上一次的状态,转移就好代码:#include#include#include#include#include#include #define ll long long#define inf 10

2017-08-18 13:48:12 238

原创 bzoj 1218: [HNOI2003]激光炸弹 暴力

→题目链接←val[i][j]表示0~第i行,0~第j列所有炸弹价值的和然后我们暴力枚举所有的正方形左上角那个点(我是认为左上角为0,0  右下角为5000,5000)每个正方形的价值可以O(1)算出简单来说就是二位前缀和没啦~~代码:#include #include #include #include #include

2017-08-18 08:08:49 276

原创 bzoj 1270: [BeijingWc2008]雷涛的小猫 dp

→题目链接←一看到题就可以想到是动态规划首先不作任何优化的dp时间复杂度显然是n^3的dp[i][j]表示第i棵树,高度为j时最多可以吃到多少个柿子num[i][j]表示第i棵树,高度为j的位置上有几个柿子显然dp[i][j]=max(dp[i][j+1]+num[i][j] , dp[1~n][j+delta]+num[i][j])但是n^3是过不了的我们发现

2017-08-17 16:15:50 267

原创 bzoj 2019: [Usaco2009 Nov]找工作 最长路

→题目链接←显然就是找一个最长路两个城市有路径就建一个权值为d的边如果有航线就建一个权值为d-z的边边的权值表示经过这个边可以获得多少钱最后从起点开始跑最长路就好,答案对于每个点取max有正环就是无解,跟判负环一样代码:#include #include #include #include #include #include #

2017-08-16 15:44:00 289

原创 bzoj 1733: [Usaco2005 feb]Secret Milking Machine 神秘的挤奶机 二分+最大流

→题目链接←二分答案,每次把边长小于mid的边放到图中,正反的边容量都为1,跑最大流然后用最大流和T判断一下,如果大于T返回true,否则false代码:#include#include#include#include#include #define ll long long#define inf 10000001 using namespace std;

2017-08-16 10:54:15 308

原创 bzoj 1731: [Usaco2005 dec]Layout 排队布局 差分约束

→题目链接←裸的差分约束对于两个有好感的牛,addedge(i,j,len);对于两个反感的牛,addedge(j,i,-len);最后还要addedge(i,i-1,0);之后跑最短路就行代码:#include#include#include#include#include#include#define inf 999999999using

2017-08-16 10:04:25 287

原创 bzoj 1720: [Usaco2006 Jan]Corral the Cows 奶牛围栏 二分

→题目链接←先按奶牛的横坐标排序,然后二分答案判断圈住多少奶牛暴力搞就好,N代码:#include#include#include#include#include#include#define inf 999999999using namespace std;struct point{ int x,y; friend bool operator <

2017-08-16 09:28:07 329

原创 bzoj 1687: [Usaco2005 Open]Navigating the City 城市交通 bfs

→题目链接←bfs时,对于每个点,显然最多只能访问一次,并且只要访问到了就一定是最短路径记录一下到达每个点的步数,最后从终点每次找周围步数比它小1的点,就可以找到我们需要的那个路径已经知道路径了,反着搞回去就可以了,每次判断一下行走方向是否改变就好懒得反着记录答案,所以用了个双向队列,真是方便啊代码:#include#include#include#inclu

2017-08-15 16:37:11 254

原创 bzoj 1673: [Usaco2005 Dec]Scales 天平

→题目链接←神奇的背包dfs代码:#include#include#include#include#include#include#define inf 999999999#define ll long longusing namespace std;int n,m;ll a[1010];ll sum[1010];ll ans=0;vo

2017-08-15 11:02:50 328

原创 bzoj 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛 暴力

→题目链接←最长上升子序列暴力搞就能过,并且才140ms数据太水了。。。代码:#include#include#include#include#include#include#define inf 999999999#define ll long longusing namespace std;int n;int a[5050];int dp

2017-08-15 10:39:17 333

原创 bzoj 1649: [Usaco2006 Dec]Cow Roller Coaster 背包dp

→题目链接←dp[i][j]表示铁轨长度为i,花费为j时有趣指数最大值代码:#include#include#include#include#include#include#define inf 999999999#define ll long longusing namespace std;struct node{ int s,e,w,c;}a[1

2017-08-15 10:06:49 258

原创 bzoj 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头

→题目链接←纯暴力搞显然是过不了的我们记录下每个数的数量,然后算出这个数对其他的数的贡献最后输出时要减一,因为它算贡献时是算了自己的代码:#include#include#include#include#define inf 999999999#define ll long longusing namespace std;int n;int num

2017-08-15 09:23:19 290

原创 bzoj 1632: [Usaco2007 Feb]Lilypad Pond SPFA

→题目链接←spfa的原理就是不断地找,如果找到更优的更新那个点目前的状态使它变得更优所以这个题一看就是spfa就是判断是否有更优时,需要分三个级别,每次更新的东西不一样比如碰到了添加荷叶一样时,就需要判断是否为最短路,如果路径长度还是一样,就要使路径数量+1注意:1、记录方案数的数组一定要用long long2、inf不要作死开的太小qwq代码:#in

2017-08-15 08:47:45 284

原创 bzoj 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机

→题目链接←一个水题....找到从起点到终点的路径,然后算出所有的转速,最后加起来因为一个齿轮不可能被两个齿轮驱动,所以从起点到终点一定只有一条路径所以从起点开始,进行深搜就好,整个图像是一个树一样存一下每个点的父亲节点,最后从终点向上一直找就是那条路经注意:1、转速进行运算时一定要用小数,有进位什么的2、输出答案时不能直接printf("%0.lf",ans),这

2017-08-14 16:18:19 322

原创 bzoj 1614: [Usaco2007 Jan]Telephone Lines架设电话线 二分+最短路

→题目链接←二分ans,小于等于ans的边的距离看作0,大于ans的看作1每次跑一下最短路,dis[n]代表有多少边是需要免费的所以如果dis[n]别忘了输出-1代码:#include#include#include#includeusing namespace std;struct node{ int to,len; int now;};v

2017-08-14 14:24:36 347

原创 bzoj 4096: [Usaco2013 dec]Milk Scheduling 贪心

→题目链接←从后往前扫deadline,每次找到一个符合条件并且贡献最大的,就算进答案代码:#include#include#include#include#include#includeusing namespace std;struct node{ int g,d; friend bool operator < (node a,node b){ i

2017-08-14 11:46:13 414

原创 bzoj 3016: [Usaco2012 Nov]Clumsy Cows 栈

→题目链接←说是栈,其实就用一个变量记录下就好,我用的sum碰到(就++,碰到)就--当sum为负时一定是不合法的,这时候一定要改一下,所以ans++然后令sum等于1,因为把一个不合法的)改成了(最后如果sum大于0,就说明还要改sum/2次所以最后ans=ans+sum/2代码:#include#include#include#includ

2017-08-14 09:24:10 379

原创 bzoj 2292: 【POJ Challenge 】永远挑战 SPFA

→题目链接←我居然没有一发A掉这个水题,真是差劲犯了一个极其愚蠢的错误重写了一遍就A了然而我旁边某t姓同学告诉我说这道题djkstra然而我并不能分清djkstra和spfa的区别orzA掉了就好一个裸的最短路,貌似用什么方法都能过。代码:#include#include#include#includeusing namespace s

2017-08-14 08:25:27 304

原创 bzoj 2530: [Poi2011]Party

→题目链接←bzoj玄妙的评测机究竟是什么道理...交一发TLE后怎么也找不到原因...然后删掉了一个不起眼的东西后A了,我感觉不太对啊...就又交了一边最开始的代码?????总之A掉了就好虽然这个题解有很多人写了,但是我还是要来蹭访问量既然你来了那咱们俩就是有缘我还是说一说做法吧每次把没有连边的两点删掉可以看出至多删掉2N/3个点最后输出没被删

2017-08-10 19:40:27 241

原创 bzoj 4292: [PA2015]Równanie 暴力枚举

→题目链接←最开始以为要什么高端无比的东西搞一搞...然后觉得一点都不水,不想做了再然后发现可以暴力枚举f(n),然后判断k*f(n)是否在[a,b]区间内,然后再判断k*f(n)的平方和是否等于f(n)如果都符合,ans++然后就很棒棒了代码:#include#include#define ll long longusing namespace st

2017-08-10 15:59:34 293

原创 bzoj 1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏 floyd

→题目链接←我简直太弱了floyd都不会写了orz神奇的算法代码:#include#include#define inf 9999999using namespace std;int n,m,T;int Min[330][330];int main(){ scanf("%d%d%d",&n,&m,&T); for(int i=1; i<=n; i

2017-08-10 14:50:40 266

原创 bzoj 1741: [Usaco2005 nov]Asteroids 穿越小行星群 网络流

→题目链接←二分图好像是比网络流好写...然而我并不会所以直接把网络流模板搞过来了行连向列,流量为inf然后所有的行和源点连,流量为1所有的列和汇点连,流量为1然后跑网络流/二分图就行不管空间大小的代码:#include#include#include#include#include#include#include#define

2017-08-10 07:32:18 259

原创 bzoj 1497: [NOI2006]最大获利 最小割 最大权闭和子图

→题目链接←又是一道烂大街的模板题蹭访问量...居然因为一个字母而调了一下午...从原点到每个用户群连边,流量为收益每个用户群和两边的基站连边,边权为inf每个基站再和汇点连边,流量为建这个基站的代价ans=所有收益之和-最大流非常弱的代码:#include#include#include#include#include#include

2017-08-09 19:42:45 251

原创 bzoj 1711: [Usaco2007 Open]Dining吃饭 网络流

一个烂大街的题题解泛滥我来蹭点访问量+扩充博客文章由于我懒得算需要开多大数组就直接开大点然后就不管了...代码:#include#include#include#include#include #define ll long long#define inf 10000001 using namespace std; struct nod

2017-08-08 19:56:27 254

原创 草地排水 (码一下自己的网络流板子)

此处应有题目链接但是非常遗憾的是这次并没有代码#include#include#include#include#include #define ll long long#define inf 10000001 using namespace std; struct node{ int to,num;}edge[440]; int n,m;v

2017-08-08 19:17:43 415

原创 bzoj 3403: [Usaco2009 Open]Cow Line 直线上的牛 暴力

→题目链接←非常非常的水为了方便+奇懒无比而用了deque真的非常的方便代码:#include#includeusing namespace std;dequev;int n;char c;int x,num=1;int main(){ scanf("%d\n",&n); for(int i=1; i<=n; i++){ c=getchar(

2017-08-07 19:55:14 293

原创 bzoj 3408: [Usaco2009 Oct]Heat Wave 热浪 最短路

→题目链接←一个裸的最短路,很水的数据貌似怎么跑都行我用的SPFA...很弱的代码:#include#include#include#includeusing namespace std;struct point{ int to,len;};struct node{ int now,len;};int Min[2550];int n,m,s,

2017-08-07 15:53:24 378

原创 bzoj 3299: [USACO2011 Open]Corn Maze玉米迷宫 最短路

→题目链接←愚蠢的我犯了一个愚蠢的错误删了一个字符后就A了...一个非常水的最短路,每个点只能访问到一次,再次访问肯定不优所以从起点跑就好了,碰到传送点传送一下就行,只要走到了终点就是答案乱七八糟的代码:#include#include#include#include#includeusing namespace std;struct nod

2017-08-06 16:49:40 587

原创 bzoj 3310: [Usaco2013 Nov]Empty Stalls

→题目链接←看那个著名的“USACO被虐记”说的是按照题意搞一搞就好了但是无比之弱的我还是T了两发按照题意暴力搞什么的都是骗人的qwq不能每次都暴力处理没个牛先把所有的牛都安放在他喜欢的位置上然后从头到尾最多扫两边就好了因为保证牛的数量至多为n-1每次把多的牛往♂后♂搞一个很弱的代码:#include#includeusing name

2017-08-04 22:15:50 456

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除