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

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

就当是刷一刷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. golang 常见疑惑总结

    经常会有一些朋友问go语言的一些问题和疑惑,其实好多问题在官方文档和stackoverflow里都有详细的讲解,只要你肯花时间读一遍官方文档和Effective Go基本上都有找到答案.本文总结一下大 ...

  2. sort list(给链表排序)

    Sort a linked list in O(n log n) time using constant space complexity. 题目要求使用O(nlogn)时间复杂度,可以考虑使用归并排 ...

  3. Spring多数据源解决方案

    Figure 2 多数据源的选择逻辑渗透至客户端 解决方案 Figure 3 采用Proxy模式来封转数据源选择逻辑 通过采用Proxy模式我们在方案实现中实现一个虚拟的数据源.并且通过它来封装数据源 ...

  4. Java Web开发中路径问题小结

     Java Web开发中,路径问题是个挺麻烦的问题,本文小结了几个常见的路径问题,希望能对各位读者有所帮助. (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 ...

  5. sqlServer遇到的问题

    重置自增列:dbcc checkident(表名,reseed,数字(初始值))

  6. windows下mongodb安装详解

    1.打开官网https://www.mongodb.com/download-center?jmp=nav#community 注:这里小伙伴们可是开启下FQ软件psiphon 3下载(不开启FQ好像 ...

  7. Python并发编程-RabbitMQ消息队列

    RabbitMQ队列 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列 ...

  8. windows SSH Tunnel实施日记

    1.准备条件:SSH跳板服务器一个.软件:Putty,CCProxy 2.putty建立SSH Tunnel:先在session那儿把服务器地址填好,到Tunnel界面上,选Dynamics和Auto ...

  9. Kali Linux 工具使用中文说明书

    From: https://www.hackfun.org/kali-tools/kali-tools-zh.html 英文版地址:http://tools.kali.org/ 信息收集 accche ...

  10. Socket.io文字直播聊天室的简单代码

    直接上代码吧,被注释掉的主要是调试代码,和技术选型的测试代码 var app = require('express')(); var server = require('http').Server(a ...