everlasting的博客

A tweiphay OIer.

排序:
默认
按更新时间
按访问量

bzoj 1709: [Usaco2007 Oct]Super Paintball超级弹珠

→题目链接← 显然的是如果对于每个点都判断一次是否能打到所有的敌人是会TLE的 所以我们可以换一种想法 我们维护一个点可以打到多少敌人 然后对于每个敌人,我们令所有能打到他的地方的值+1 所以最后只要那个地方的值>=m,就一定是可行点 代码: #include ...

2017-09-04 09:20:51

阅读数:109

评论数:0

bzoj 3397: [Usaco2009 Feb]Surround the Islands 环岛篱笆

→题目链接← 令人一看样例就不想做的题... 题面说的很麻烦..但是仔细想一想就是问一个点到其它点距离的和的最小值 用并查集将岛屿处理出来 将每个岛屿看作一个点 然后一边输入就能一边处理出岛屿间的距离 最后暴力求和取min就好 代码: #include #inclu...

2017-09-04 09:11:49

阅读数:111

评论数:0

bzoj 3396: [Usaco2009 Jan]Total flow 水流 网络流

→题目链接← 看到题面后感觉可能有什么奇技淫巧...? 但是懒得想 数据辣么小 直接网络流搞一搞就行了 代码: #include #include #include #include #include #define ll long long #define inf...

2017-09-04 08:24:22

阅读数:83

评论数:0

bzoj 3479: [Usaco2014 Mar]Watering the Fields 最小生成树

→题目链接← 裸的最小生成树...只会prim算法 n^2暴力建边 然后跑最小生成树 学了这么长的时间终于第一次写最小生成树 真棒啊 代码: #include #include #include #include #include using namespace s...

2017-09-02 18:00:34

阅读数:108

评论数:0

bzoj 4749: [Usaco2016 Dec]Moocast dfs

→题目链接← 很水的dfs题 n^2的dfs,把每个点都当作起点跑一遍,最后取max 代码: #include #include #include #include using namespace std; struct node{ int x,y,p; }; in...

2017-09-02 13:25:06

阅读数:179

评论数:0

bzoj 4996: [Usaco2017 Feb]Why Did the Cow Cross the Road II

bzoj没有题面.... 链接是到洛谷的 →题目链接← 维护有多少坏掉的路灯的前缀和 然后对于每个sum[i]-sum[i-k]取max就好 代码: #include #include #include #include using namespace s...

2017-09-02 01:41:37

阅读数:148

评论数:0

bzoj 4511: [Usaco2016 Jan]Subsequences Summing to Sevens

→题目链接← 维护一个前缀和,但是它维护的是前缀和%7 然后如果存在sum[i]==sum[j],显然的是这中间的一段是可以被7整除的 所以枚举余数,每次找到左右端点,取一个max就好 代码: #include #include #include #include using names...

2017-09-02 01:24:47

阅读数:129

评论数:0

bzoj 4781: [Usaco2017 Open]Paired Up

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

2017-08-30 09:25:56

阅读数:134

评论数: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

阅读数:106

评论数: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

阅读数:219

评论数:0

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

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

2017-08-28 09:18:18

阅读数:135

评论数: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

阅读数:103

评论数: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

阅读数:143

评论数:0

bzoj 3358: [Usaco2004 Jan]洪水

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

2017-08-22 16:25:59

阅读数:131

评论数:0

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

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

2017-08-19 10:32:39

阅读数:87

评论数: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

阅读数:100

评论数:0

bzoj 1293: [SCOI2009]生日礼物 STL

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

2017-08-18 15:14:48

阅读数:91

评论数: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

阅读数:81

评论数:0

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

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

2017-08-18 08:08:49

阅读数:87

评论数: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

阅读数:79

评论数:0

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