everlasting的博客

A tweiphay OIer.

bzoj 4781: [Usaco2017 Open]Paired Up

→题目链接← 每次把最大的牛与最小的牛合并,最终结果一定是最大值最小的 所以我们用优先队列维护一个大根堆,再维护一个小根堆,每次合并更新下答案就好 代码: #include #include #include #include #include #include using namesp...

2017-08-30 09:25:56

阅读数:162

评论数:0

bzoj 3890: [Usaco2015 Jan]Meeting Time bfs

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

2017-08-29 20:37:06

阅读数:126

评论数:0

bzoj 4396: [Usaco2015 dec]High Card Wins

→题目链接← 每个牌肯定是管第一个比它小的牌是最优的 所以我们只需要从小到大记录对面目前还剩几张牌,手里只要有能管的就管上一个 代码: #include #include using namespace std; int n; bool f[100010]; int a...

2017-08-28 20:28:15

阅读数:236

评论数:0

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

→题目链接← 这个题我傻逼了 看到区间查询我下意识地打了线段树 然后一发A了后发现其他人的代码都好快啊 找题解发现都是用的前缀和 靠! 然后又搞了一发前缀和 我把两个代码都放上来吧 前缀和: #include #include using namespa...

2017-08-28 09:18:18

阅读数:171

评论数:0

bzoj 3412: [Usaco2009 Dec]Music Notes乐谱

→题目链接← 维护前缀和,对于每次询问找到第一个大于它的数(也就是upper_bound)的下标,就是答案 手写可以二分找 用stl可以用upper_bound 代码: #include #include #include using namespace std; i...

2017-08-25 14:15:54

阅读数:131

评论数:0

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就...

2017-08-24 11:04:21

阅读数:185

评论数:0

bzoj 3358: [Usaco2004 Jan]洪水

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

2017-08-22 16:25:59

阅读数:149

评论数:0

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

→题目链接← 使n个点联通显然的是n-1条边 将边以长度从小到大排序,如果目前的边的两端点不在同一集合中,就选择这个边,这显然是最优的 代码: #include #include #include using namespace std; struct edge{ i...

2017-08-19 10:32:39

阅读数:120

评论数:0

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...

2017-08-18 16:50:42

阅读数:119

评论数:0

bzoj 1293: [SCOI2009]生日礼物 STL

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

2017-08-18 15:14:48

阅读数:115

评论数:0

bzoj 2748: [HAOI2012]音量调节 dp

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

2017-08-18 13:48:12

阅读数:96

评论数:0

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

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

2017-08-18 08:08:49

阅读数:108

评论数:0

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]...

2017-08-17 16:15:50

阅读数:98

评论数:0

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

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

2017-08-16 15:44:00

阅读数:131

评论数:0

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

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

2017-08-16 10:54:15

阅读数:123

评论数:0

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

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

2017-08-16 10:04:25

阅读数:137

评论数:0

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

→题目链接← 先按奶牛的横坐标排序,然后二分答案 判断圈住多少奶牛暴力搞就好,N 代码: #include #include #include #include #include #include #define inf 999999999 using namespace std; st...

2017-08-16 09:28:07

阅读数:106

评论数:0

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

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

2017-08-15 16:37:11

阅读数:95

评论数:0

bzoj 1673: [Usaco2005 Dec]Scales 天平

→题目链接← 神奇的背包dfs 代码: #include #include #include #include #include #include #define inf 999999999 #define ll long long using namespace std...

2017-08-15 11:02:50

阅读数:94

评论数:0

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

→题目链接← 最长上升子序列 暴力搞就能过,并且才140ms 数据太水了。。。 代码: #include #include #include #include #include #include #define inf 999999999 #define ll long long usin...

2017-08-15 10:39:17

阅读数:130

评论数:0

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