USACO
文章平均质量分 71
Mininda
云雀叫了一整天
展开
-
【USACO2-4-2】穿越栅栏 Overfencing bfs
原题#include<iostream>#include<queue>#include<cstdio>#include<cstring>#include<cctype>#define inf 0x3f3f3f3fusing namespace std;const int dx[4]={1,0,-1,0},dy[4]={0,1...原创 2018-07-15 19:07:20 · 447 阅读 · 0 评论 -
【USACO3-2-2】商店购物 背包dp
原题背包dp拿一个数组dp[i][j][k][l][r]来记录买第一种买i个,第二种买j个······,的最小花费是多少。#include<iostream>#include<cstdio>#include<cstring>using namespace std;int dp[6][6][6][6][6],v[1010][6],id[1001],nu...原创 2018-05-24 19:21:06 · 289 阅读 · 0 评论 -
【USACO3-3-1】骑马修栏杆 欧拉回路
原题一笔画问题模版!#include<iostream>#include<stack>#include<cstdio>#include<cstring>using namespace std;#define M 1005stack<int> s;int r[M][M];int du[M];int n=0,m;v...原创 2018-05-24 19:16:27 · 248 阅读 · 0 评论 -
【USACO4-2-3】工序安排 贪心
原题#include<iostream>#include<algorithm>#include<queue>#include<cmath>#include<cstdio>#include<cstring>#define inf 0x3f3f3f3fusing namespace std;struct dat...原创 2018-05-25 20:18:42 · 474 阅读 · 0 评论 -
【USACO4-2-2】完美的牛栏 匈牙利算法
原题匈牙利算法#include<iostream>#include<cstdio>#include<cstring>using namespace std;int n,m,ans=0;int visit[10100],cow[10100],link[1009][1009];bool judge(int x){ for (int i=1...原创 2018-05-25 20:18:34 · 261 阅读 · 0 评论 -
【USACO4-2-1】草地排水 dicnic
原题dicnic板子#include<iostream>#include<queue>#include<cstdio>#include<cstring>using namespace std;#define inf 0x3f3f3f3f#define N 1009#define ll long longqueue<int&...原创 2018-05-25 20:18:23 · 251 阅读 · 0 评论 -
【USACO4-1-2】篱笆回路 dfs
原题#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;#define inf 0x3f3f3f3f#define N 5009int link[N][N];int a[N],visit[N],head...原创 2018-05-24 20:36:39 · 251 阅读 · 0 评论 -
【USACO4-1-1】麦香牛块 数学
原题noip2017day1t1#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define maxx 256*256int n,ans=0;int f[maxx+10],a[1009];int main(){ scanf("%d",&...原创 2018-05-24 20:32:03 · 257 阅读 · 0 评论 -
【USACO3-4-3】“破锣摇滚”乐队 dfs
原题#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define N 109int song[N],cd[N];int n,m,t,cnt=1,ans=-1; void dfs(int now,int x){ if (now==n+1)...原创 2018-05-24 20:28:45 · 286 阅读 · 0 评论 -
【USACO3-2-6】香甜的黄油 spfa
原题枚举每一个点是糖放的点的情况,暴力水过去了#include<iostream>#include<queue>#include<cstdio>#include<cstring>using namespace std;#define ll long long#define M 5009#define inf 0x3f3f3f3f...原创 2018-05-23 18:47:12 · 281 阅读 · 0 评论 -
【USACO3-2-5】魔板 康托展开
原题关于康托展开:我是在这里学的#include<iostream>#include<map>#include<queue>#include<cstdio>#include<cstring>#include<cstdlib>using namespace std;queue<int> q;map原创 2018-05-23 18:44:02 · 521 阅读 · 0 评论 -
【USACO3-2-4】饲料搭配 模拟
原题#include<iostream>#include<cstdlib>#include<cstdio>#include<cstring>using namespace std;#define N 109int a[N],x[N],y[N],z[N];int main(){ scanf("%d%d%d",&...原创 2018-05-23 18:41:20 · 325 阅读 · 0 评论 -
【USACO3-2-3】纺车的轮子 模拟
原题#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>int x[109][109],y[109][109],v[109],w[109],visit[109];int main(){ for (int i=1;i<=5;i++) ...原创 2018-05-22 21:36:50 · 283 阅读 · 0 评论 -
【USACO3-3-3】亚瑟王的宫殿 模拟
原题1我们预处理一个数组dist[i][j][p][q]表示骑士从(i,j)到(p,q)要走的最短步数(直接用bfs即可)2第一种情况是原创 2018-05-24 19:49:13 · 406 阅读 · 0 评论 -
【USACO3-3-4】家的范围 dp
原题#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define N 309char a[N][N];int dp[N][N];int res[N];int n;int main(){ scanf("%d",&n); ...原创 2018-05-24 19:51:51 · 258 阅读 · 0 评论 -
【USACO3-3-5】游戏 dp
原题1dp[i][j]表示的是在i到j这段采用最优策略当前能取得的最大值,每次我要么取第一个元素,要么取最后一个元素。所以转移方程:dp[i][j]=a[i]+a[i+1]+······+a[j-1]+a[j]-min(dp[i+1][j],dp[i][j-1])2然后我们来考虑一下能不能将dp压成一维的,我们发现每次只与i和i+1有关,所以我们用dp[i]表示从i开始的l个元素能取到的最大值,再...原创 2018-05-24 20:08:45 · 293 阅读 · 0 评论 -
【USACO2-4-3】牛的旅行 Cow Tours floyd
原题#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>#include<cctype>#define inf 0x3f3f3f3fusing namespace std;struct node{i...原创 2018-07-15 18:30:21 · 372 阅读 · 0 评论 -
【USACO5-3-2】量取牛奶Milk Measuring dp+dfs
原题#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cctype>using namespace std;int ans[1010],res[1010],c[1010];int n,m;bool flag;voi...原创 2018-07-15 18:12:33 · 228 阅读 · 0 评论 -
【USACO5-3-4】巨大的牛棚Big Barn dp
题目#include<iostream>#include<cstdio>#include<cstring>#include<cctype>using namespace std;int mp[1010][1010],dp[1010][1010];int n,m,ans=0;int main(){ for(int i=1;i<...原创 2018-07-14 11:12:33 · 342 阅读 · 0 评论 -
【USACO5-1-2】夜空繁星Starry Night 模拟
题目判断是否相似的方法是将每两点的距离加起来#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#include<cctype>using namespace std;char res[505][...原创 2018-07-14 11:09:54 · 496 阅读 · 0 评论 -
【USACO2-1-1】城堡 The Castle dfs
原题//一道第二章的题拖到了现在 写了半小时调了半小时好菜啊qwq用leftt[][],rightt[][],up[][],down[][]来记录四周有木有墙一开始先dfs确定有多少房间并标号然后从最西最南开始枚举,拆了墙的话最大是多少,最后输出即可。#include<iostream>#include<map>#include<cstdio>#inclu...原创 2018-06-18 16:34:54 · 429 阅读 · 0 评论 -
【USACO4-3-1】追查坏牛奶Pollutant Control 最小割
题目把所有边的权值都乘以一个较大的数mod+1,这样结果求出的最大流ans/mod就是最大流就是最小割,假设最小割的边为w1+w2+w3+w4+……那么ans=w1*mod+1+w2*mod+1……所以ans=k+w1*mod+w2*mod……所以ans%mod就是最小割的边数#include<iostream>#include<queue>#include<cs...原创 2018-06-18 14:54:31 · 335 阅读 · 0 评论 -
【USACO5-2】蜗牛的旅行Snail Trails dfs
题目1表示障碍 2表示走过的路遇到1 90度转遇到2退出#include<iostream>#include<algorithm>#include<cctype>#include<cstdio>#include<cstring>#define inf 0x3f3f3f3fusing namespace std;char yy...原创 2018-06-22 21:40:42 · 272 阅读 · 0 评论 -
【USACO4-4-2】棋盘游戏Shuttle Puzzle 规律
题目//话说我小时候下围棋的时候玩过这个,童年啊!我们先来手玩几组数据n=1 1 3 2 1n=2 2 4 5 3 1 2 4 3n=3 3 5 6 4 2 1 3 5 7 6 4 2 3 5 4我们来把中间空着那个格子放到第一位,再调整一下布局。n=1 2 13 2n=2 3 24 531 24 3n=3 4 35 642 1357 642 35 4总结一下规律1 前n+1组数每组的大小等于组序...原创 2018-06-14 23:07:22 · 447 阅读 · 0 评论 -
【USACO4-3-3】字母游戏Letter Game 枚举
题目首先我们判断一下读入的字符串是否满足规则,满足就存入。然后就是暴力枚举寻找最大值先判断一个单词的情况,再判断能否组成两个单词以及两个单词的情况。因为有很多非法的单词所以不会超时。#include<iostream>#include<map>#include<algorithm>#include<cstdio>#include<cst...原创 2018-06-14 22:42:41 · 347 阅读 · 0 评论 -
【USACO5-1-3】乐曲主题Musical Themes dp
题目#include<iostream>#include<cctype>#include<cstdio>using namespace std;int dp[5050][5050],a[5050];int n,ans;int read(){ char ch=getchar();int ret=0; for (;!isdigit(ch);ch=g...原创 2018-06-21 22:49:45 · 347 阅读 · 0 评论 -
【USACO3-4-2】电网 皮克定理
原题#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;int n,m,p,a,b,c,s;int gcd(int x,int y){ if (x>y) swap(x,y); if (!x)...原创 2018-05-24 20:21:36 · 258 阅读 · 0 评论 -
【USACO3-4-1】美国血统 模拟
原题#include<iostream>#include<string>#include<cstdio>#include<cstring>using namespace std;string a,b;int l;void dfs(int x,int y,int p,int q){ if (x>y||p>q) ...原创 2018-05-24 20:17:08 · 297 阅读 · 0 评论 -
【USACO3-2-2】阶乘问题 dfs
原题我们预处理一个数组dp[i][j]表明在i位二进制数里有j个1的二进制个数然后,for i in [0, n],求出s=sum(F[i, 0~L])。如果这个和大于t,就说明我们要求的这个数字包含在num[k]=1里。把t扣除掉num[i]=0的情况,也就是扣掉s。//usaco3-2-2 01串#include<iostream>#include<cstdio>...原创 2018-05-22 21:33:38 · 389 阅读 · 0 评论 -
【USACO3-1-5】邮票 瞎搞
原题#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define inf 0x3f3f3f3f#define N 10000009int t[N],a[N];int n,k;int main(){ memset(t,inf,sizeo...原创 2018-05-22 20:48:49 · 144 阅读 · 0 评论 -
【USACO2.2.2】Subset Sum 背包dp
原题记得开longlong没了//usaco2.2.2 subset sum#include<iostream>#include<cstdio>#include<cstring>#define ll long longusing namespace std;ll f[10100];int sum,n;int main(){ scanf("...原创 2018-02-21 10:14:03 · 275 阅读 · 0 评论 -
[USACO2.1] 顺序的分数 法雷数列
传送门:嘿原题在这farey数列自行百度//USACO2.1 顺序的分数//by dadatu#include#include#include#includeusing namespace std;int n;void farey(int x1,int y1,int x2,int y2){ if (y1+y2<=n) { farey(x1,y1,x1+原创 2018-01-08 09:36:14 · 562 阅读 · 0 评论 -
[USACO2.1] 三值的排序 乱搞
传送门:嘿原题在这用一个num[][]数组记录应该在i位置的j有多少个,然后每次发现i在j中,j在i中的情况这种两个数的位置调换的情况,只需交换一次(min(num[i][j],num[j][i])),剩下的都是三个数位置调换的,这种情况需要交换3次//USACO2.1 三值的排序//by dadatu#include#include#include#includeusing原创 2018-01-08 09:07:55 · 391 阅读 · 0 评论 -
[USACO2.1] 健康的荷斯坦奶牛 dfs
原题:https://www.luogu.org/problemnew/show/P1460//USACO2.1 健康的荷斯坦奶牛//by dadatu#include#include#include#includeusing namespace std;int kind[1010][1010],a[1010],cur[1010],ans[1010],v[1010],visit原创 2018-01-07 17:49:16 · 1198 阅读 · 0 评论 -
[USACO2.4]Bessie Come Home spfa
传送门: 原题在这里没啥好说的,跑个最短路即可#include#include#include#include#define inf 0x3f3f3f3fusing namespace std;queue q;int nextt[20100],head[20100],v[20100],c[20100],dist[20100],f[20100],visit[20100];i原创 2018-01-14 21:02:37 · 318 阅读 · 0 评论 -
[USACO3.1]最短网络 Agri-Net kruskal
题意给出一个n个点邻接矩阵,问怎样花费最少的构造一个连通图。 版子#include#include#include#includeusing namespace std;struct edge{int x,y,z;}a[101000];int fa[101000];int n,tot=0,ans;bool cmp(edge p,edge q){retur原创 2017-12-14 20:33:45 · 490 阅读 · 0 评论 -
[USACO1.4]母亲的牛奶Mother's Milk dfs
A->B,A->C,B->A,B->C,C->A,C->B一共六种情况搜索即可,用一个f[][][]来记录是否到过这个情况。由于数据很弱所以能强行过=。=原创 2017-12-05 20:05:49 · 535 阅读 · 0 评论 -
[USACO1.2]挤牛奶Milking Cows 差分
瞅一眼数据范围发现硬搞可能会TLE,所以用差分。res[]差分数组记录区间状态,最后扫一遍统计一下即可。原创 2017-11-26 20:51:28 · 391 阅读 · 0 评论 -
[USACO1.5]回文质数 Prime Palindromes
易证偶数位的回文素数只有11,其他的都为11的倍数。所以可以打个10^7素数表,然后逐个判断是否为回文数即可。原创 2017-11-22 20:25:07 · 391 阅读 · 0 评论 -
[USACO1.2]方块转换 Transformations 模拟
很显然,23可以由1得,56可以由14得,所以只要写两个函数就好啦。原创 2017-11-26 21:49:32 · 437 阅读 · 0 评论