自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浅笑~如夏

今天会有好事发生吗

  • 博客(12)
  • 收藏
  • 关注

原创 bzoj3406 [Usaco2009 Oct]Invasion of the Milkweed 乳草的入侵

题目BFS经典例题吧。从起点开始入队,就好了。值得注意的是,可以向八个方向拓展。。#include<cstdio>struct sb{ int x,y,day};const int dx[8]={1,0,-1,0,1,-1,-1,1};const int dy[8]={0,1,0,-1,1,-1,1,-1};int n,m,mx,my;int r,c;sb hs[20000];

2017-12-10 09:49:23 543

原创 bzoj2764 [JLOI2011]基因补全

题目大概又是一道dp题吧,把碱基先处理一下,就成为匹配方案数了,就是简单dp。f[i]表示前j个的方案数。转移就是:f[j]=f[j]+f[j−1](A[i]==B[j])f[j]=f[j]+f[j-1](A[i]==B[j])注意枚举顺序,m要从后面开始。比较麻烦的是,要用高精度才能过去。#include<bits/stdc++.h>using namespace std;struct big

2017-12-10 09:44:16 340

原创 bzoj3411 [Usaco2009 Dec]Bobsledding 高山滑雪

题目贪心题目。。如果知道一段路程的起始速度和终点的限制速度,那么最大速度就可以很轻松的求出来。但是,有一点值得注意,每一个点的速度限制可能是假的,因为如果到了最大速度,到下一个点速度可能降不下去。所以,就要先从后往前扫一遍来重新算速度。之后就是分类讨论了。#include<bits/stdc++.h>#define N 100000using namespace std;int n,L,v,a

2017-12-10 09:28:20 368

原创 bzoj3018 [Usaco2012 Nov]Distant Pastures

题目一开始还被吓了一跳,但是,仔细想想也很简单。题目翻译有毒。。 D(S,T)是S到T的最短距离。。这样,我们只需要枚举起点,然后跑一边最短路,求一下最大值就好了。#include<bits/stdc++.h>using namespace std;int n,A,B,id[35][35],ans,dis[1005],vis[1005];char mp[35][35];int first[

2017-12-10 09:18:57 378

原创 bzoj4742 [Usaco2016 Dec]Team Building

题目一眼dp题,对吧,然后就是考虑状态的表示与转移了。有两个数组,f[i][j]是肯定要有的,然后选k个,最终状态就为f[i][j][k]就好了。表示a中前i个与b中前j个,选出了k个的方案数。(当然顺序对于这道题没有影响,但是要先排一个序。)转移:f[i][j][k]=f[i−1][j][k]+f[i][j−1][k]−f[i−1][j−1][k]f[i][j][k]=f[i-1][j][k]+f

2017-12-10 09:08:30 315

原创 bzoj2760 [JLOI2011]小A的烦恼

题目大模拟题,这种题就是要细心才行,比如noip2017的d1t2就是这样的,没什么难度。对于这道题,可以用STL来优化,这也不失为一种好办法来加快代码速度。STL就是要多练。#include<bits/stdc++.h>#define N 1000using namespace std;int total,m;string ans[N+5],name;int cnt[N+5];int

2017-12-08 11:34:59 506

原创 bzoj3438 小M的作物

题目一眼最小割,其实和大多模型是一样的。也比较套路,就是用总价值减去最小割就好了,对于这道题。源点连向耕地再连向汇点,对于每一个额外收益,然后拆成两个点,之后的连法也就差不多了。#include<bits/stdc++.h>#define inf 100000000#define N 4100010 using namespace std;int dis[N+5],first[N+5],n

2017-12-03 19:37:24 265

原创 bzoj3994 [SDOI2015]约数个数和

题目反演的经典套路题目。对于这种题,套路无非就是先用狄利克雷卷积一下,然后交换求和顺序,最后就能化为一个 n√\sqrt n的求和了。对于交换顺序这个事,只要注意一下各个变量的依赖关系就好了。对于这道题来说:∑ni=1∑mj=1d(i,j)=∑ni=1∑mj=1[ni][mj][gcd(i,j)==1]\sum_{i=1}^n \sum_{j=1}^md(i,j)=\sum_{i=1}^n \sum

2017-12-03 19:27:53 411

原创 [poj2369]Permutations

一句话题意:求一个排列的所有循环的最小公倍数。正好前几天因为牛排序而知道了这个东西,做一做模板题练一练手。其主要思想就是两个数组互相迭代,可以用简单的例子来模拟一下也是可以的。#include<cstdio>#include<cstdlib>#include<cmath>#include<algorithm>#include<string>#include<cstring>#includ

2017-12-03 18:58:23 263

原创 [hdu1599]find the mincost route

一句话题意:求无向图的最小环的长度。emm,这应该算是模板题或者叫floyd的经典应用吧。#include<bits/stdc++.h>#define inf 100000000using namespace std;int n,m,x,y,z;int f[105][105],g[105][105];inline void floyd(){ int mini=inf; f

2017-12-03 18:54:52 285

原创 [Usaco]麦香牛块

说实话,我也不知道这道题我到底对不对,反正各个网站的数据都过了,但是还是有些虚。我们首先知道,对于a,b两个数,设d=gcd(a,b),那么对于任意c>=ab且d|c,一定存在正整数x,y,使得ax+by=c成立。对于这道题,我们先考虑无限的情况,我目前就想到一种,这n个数的最大公因数为d不为1,那么它们对于非d的倍数都无法构成。再根据今年noipd1td1得(233),最大的应该不超过最大数的平方

2017-12-03 18:51:42 617

原创 bzoj2134 单选错位

题目博客要开始更新了。毕竟noip也算过去了。这差不多又是一道数学题,我们这样考虑:对于一道答案有a种情况,会选b种可能的题,两两排一下,一共有ab种情况,而符合条件的只有min(a,b)种,那么,期望为(1/ab)*min(a,b),也就是1/max(a,b)。之后就是O(n)累加就好了。#include<bits/stdc++.h>#define N 10000000using namesp

2017-12-03 18:43:07 250

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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