做之前真是没想到有这么水>.<

但做了还是发上来吧>.<

就当是刷一刷AC量&1A率什么的>.<

Bzoj1599: [Usaco2008 Oct]笨重的石子

枚举。。

 #include<cstdio>
int a,b,c;
int t[]; int main(){
scanf("%d%d%d",&a,&b,&c);
for(int i=;i<=a;i++)
for(int j=;j<=b;j++)
for(int k=;k<=c;k++)
t[i+j+k]++;
int ans=,ansx=;
for(int i=;i<=a+b+c;i++)
if(t[i]>ans) ans=t[i],ansx=i;
printf("%d\n",ansx);
return ;
}

Bzoj1600: [Usaco2008 Oct]建造栅栏

组成四边形的充要条件是三边之和大于第四边

也就是任意一边不超过总长的一半(N边形也适用)

然后枚举一下第二次切在哪,两边讨论一下得出这种情况的贡献

时间O(n),空间O(1)

网上的题解貌似都是背包,但那样就是n^2了。。

 #include<cstdio>
#include<algorithm>
using namespace std;
int n,lim,ans; int main(){
scanf("%d",&n);
lim=(n+)/; for(int i=;i<=n-;i++){
int a=lim,b=i-lim,c=i+lim,d=n-lim;
a=min(i,a),c=min(n,c);
b=max(,b),d=max(i,d);
ans+=(a-b-)*(c-d-);
}
printf("%d\n",ans);
return ;
}

Bzoj1601: [Usaco2008 Oct]灌水

这道题以前做了,新加一个点然后最小生成树。

 #include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=; int p[maxn];
int find(int x){return p[x]==x?x:p[x]=find(p[x]);}
struct edge{
int u,v,w;
bool operator <(const edge&a)
const {return w<a.w;}
}e[maxn*maxn+maxn];
int n,k; int main(){
scanf("%d",&n);
for(int i=;i<=n;i++) p[i]=i;
int w; for(int i=;i<=n;i++){
scanf("%d",&w);
e[++k].u=,e[k].v=i;
e[k].w=w;
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++){
scanf("%d",&w);
e[++k].u=i,e[k].v=j;
e[k].w=w;
}
sort(e+,e+k+); long long ans=;
for(int i=;i<=k;i++){
int x=find(e[i].u),y=find(e[i].v);
if(x!=y) p[x]=y,ans+=e[i].w;
} printf("%lld\n",ans);
return ;
}

Bzoj1602: [Usaco2008 Oct]牧场行走

模板题,复习倍增。

 #include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=1e3+;
int n,q; int head[maxn],e[maxn*],w[maxn*],nxt[maxn*],k;
int adde(int u,int v,int g){
e[++k]=v;w[k]=g;nxt[k]=head[u];head[u]=k;
e[++k]=u;w[k]=g;nxt[k]=head[v];head[v]=k;
}
int dep[maxn],dist[maxn],p[maxn][]; int dfs(int u){
for(int i=;i<;i++)
p[u][i]=p[p[u][i-]][i-];
for(int i=head[u];i;i=nxt[i]){
int v=e[i];
if(v==p[u][]) continue;
dist[v]=dist[u]+w[i];
dep[v]=dep[u]+;
p[v][]=u;
dfs(v);
}
} int lca(int u,int v){
if(dep[u]<dep[v]) swap(u,v);
int del=dep[u]-dep[v];
for(int i=;i<;i++)
if(del&(<<i)) u=p[u][i];
if(u==v) return v;
for(int i=;i>=;i--)
if(p[u][i]!=p[v][i])
u=p[u][i],v=p[v][i];
return p[u][];
} int main(){
scanf("%d%d",&n,&q);
int u,v,g;
for(int i=;i<n;i++)
scanf("%d%d%d",&u,&v,&g),
adde(u,v,g); dfs(); for(int i=;i<=q;i++){
scanf("%d%d",&u,&v);
printf("%d\n",dist[u]+dist[v]-*dist[lca(u,v)]);
}
return ;
}

Bzoj1603: [Usaco2008 Oct]打谷机

顺序并不会影响什么,然后直接来。。

 #include<cstdio>
int n,a,b,c,ans;
int main(){
scanf("%d",&n);
for(int i=;i<n;i++){
scanf("%d%d%d",&a,&b,&c);
ans^=c;
}
printf("%d\n",ans);
return ;
}

也不知道做这些题意义何在

然而玩水真是欢乐

【刷水】之USACO2008资格赛(Bzoj1599-1603)的更多相关文章

  1. [洛谷U22157]刷水题(数位dp)(hash)

    题目背景 做正经题是不可能做正经题的,这辈子都不可能做正经题的,毒瘤题又不会做毒瘤题,就是水题这种东西,才维持了蒟蒻的信心: 题目描述 这里有N+1 道水题,编号分别为0 ~N+1 ,每道水题都有它自 ...

  2. NOIP前刷水行动

    2016.11.15 BZOJ1009:DP+矩阵乘法+KMP BZOJ1898:矩阵乘法 BZOJ4101:贪心,考虑我们往右边撞的时候,我们会向左边冲 ,于是枚举答案点利用一个指针计算即可! 20 ...

  3. bzoj刷水

    因为最近的生活太颓废总是不做题而被老师D了一番, 所以今天晚上到bzoj上去刷了几道水题.....   bzoj 4320: ShangHai2006 Homework 题目大意 维护一个支持两个操作 ...

  4. usaco silver刷水~其实是回顾一下,补题解

    [BZOJ1606][Usaco2008 Dec]Hay For Sale 裸01背包 ;i<=n;i++) for(int j=m;j>=a[i];j--) f[j]=max(f[j], ...

  5. [暑假的bzoj刷水记录]

    (这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊  堆一起算了 隔一段更新一下.  7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27upd ...

  6. Luogu USACO Training 刷水记录

    开个坑记录一下刷USACO的Training的记录 可能会随时弃坑 只有代码和做法简述 可能没有做法简述 [USACO1.1]你的飞碟在这儿Your Ride Is He… 模拟,细节已忘 #incl ...

  7. Codeforces 刷水记录

    Codeforces-566F 题目大意:给出一个有序数列a,这个数列中每两个数,如果满足一个数能整除另一个数,则这两个数中间是有一条边的,现在有这样的图,求最大联通子图. 题解:并不需要把图搞出来, ...

  8. bzoj 刷水

    bzoj 3856: Monster 虽然是sb题,,但是要注意h可能<=a,,,开始忘记判了WA得很开心. #include <iostream> #include <cst ...

  9. USACO 刷水

    BZOJ 1666 水.. BZOJ 1579 分层图最短路. BZOJ 1782 从一开始若某头牛停在U,那么U的子树的时间都会加一用BIT维护DFS序就行了 BZOJ 1572 贪心+堆 排序后查 ...

随机推荐

  1. js定义数组的方法

    1.定义时赋值 var mycars=new Array("a","b","c") 2.new一个数组对象 var mycars=new A ...

  2. ORACLE中主键约束跟唯一索引的区别

    分类: DB 2011-12-03 21:34 611人阅读 评论(0) 收藏 举报 oracleconstraintsimmutableusertabledomain 1.  分别用两种方法创建主键 ...

  3. Day4_生成器_三元表达式_列表解析_生成器表达式

    生成器:在函数内部包含yield关键,那么该函数执行的结果就是生成器. 生成器就是迭代器. def func(): print('first') yield 111111 print('second' ...

  4. 中文字体名称对照表(unicode码)及20个web安全字体

    在Web编码中,CSS默认应用的Web字体是有限的,虽然在新版本的CSS3,我们可以通过新增的@font-face属性来引入特殊的浏览器加载字体.但多数情况下,考虑各个因素的影响我们还是在尽量充分利用 ...

  5. 利用redis自制幻灯片弹幕

    前段时间赶项目,忙结婚,各大技术平台都没时间上,不过还是抽出点时间为自己的婚礼做了一点小玩具,今天我就来给大家分享一下. 先来看一下效果 这个项目是基于微信个人订阅号的,订阅号的开发在此我就不再赘述了 ...

  6. [ SSH框架 ] Struts2框架学习之三(OGNl和ValueStack值栈学习)

    一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可 ...

  7. Maven学习(四)-- Maven的核心概念

    摘自:http://www.cnblogs.com/xdp-gacl/p/4051819.html 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1. ...

  8. 【Quartz】常用方法的使用方式(三)

    前言    总结了一下quartz组件的一些常用方法,以备将来不时之需.哈哈,看着挺简单有些好是值得笔记一下的.好记性不如烂笔头吗? 代码部分: 方法类内容: public class Example ...

  9. 去重是distinct还是group by?

    distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计. 单纯的去重操作使用di ...

  10. PAT1101:Quick Sort

    1101. Quick Sort (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CAO, Peng There is a ...