自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

everlasting的博客

A tweiphay OIer.

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

原创 bzoj 1827: [Usaco2010 Mar]gather 奶牛大集会

→题目链接← 【想说的话】 没有什么想说的=.= 周末没什么事不刷题感觉不太好 【题解】 两遍dfs(树形dp) 将点1当作根 第一遍dfs计算出每个点子节点总数,还有将它作为集会地点时它的子树中的点满足条件需要的代价 第二遍计算出答案,点1的答案就是dfs1时处理出的代价,剩下的点的答案就对于它与它父亲节点的那条边计算一下就好 具体看代码吧 【代码】

2017-10-29 22:18:00 248

原创 bzoj 1925: [Sdoi2010]地精部落

→题目链接← 【题解】 a[ 0 ][ 0 ]=1; a[ i ][ j ]=a[ i ][ j-1 ]+a[ i-1 ][ i-j ]; (i从1~n  j从1~i) ans=a[ n ][ n ]*2; 中间%一%就好 【代码】 #include #define ll long long using namespace std; int n,mod; ll

2017-10-26 11:34:40 211

原创 bzoj 1216: [HNOI2003]操作系统

→题目链接← 【想说的话】 听说03年不让用stl... 所以就会产生这样的题... 【题解】 用优先队列按照题意模拟就好了 【代码】 #include using namespace std; struct node{ int num,ti,t,x; friend bool operator < (node a,node b){ if(a.x==

2017-10-22 17:14:30 270

原创 bzoj 3196: Tyvj 1730 二逼平衡树 树套树

→题目链接← 【想说的话】 不知道为什么这么晚了突然就想写了... 这是我第一颗树套树了,其实算半颗?有一半用pb_ds水的=.= 但是写出来还是很有成就感的...但是也同时也非常的虚平衡树... 【题解】 线段树套平衡树 用pbds搞得平衡树,这种东西需要编译器版本好高...bzoj上null_type还不行,必须换成旧版的null_mapped_type (如果

2017-10-21 00:11:00 337

原创 bzoj 1208: [HNOI2004]宠物收养所 stl

→题目链接← 【想说的话】 又是一道stl可以水过的好题 本来有输入输出优化的...但是为了缩代码,删掉了 【题解】 不用管是宠物还是人来了,如果另一方有剩余,那就直接找最接近的加进答案,否则把他放进这一方的set 咋找set搞一搞就好了,代码应该挺可看的-___- 【代码】 #include #define ll long long #define mo

2017-10-20 10:58:09 321

原创 bzoj 3364: [Usaco2004 Feb]Distance Queries 距离咨询 LCA

→题目链接← 【想说的话】 TLE了3遍后我深刻的认识到了.... 跑最短路果然不可行... 【题解】 显然是裸的LCA 【代码】 #include #include #include #include using namespace std; struct node{ int to,len; node(int x,int y){to=x,len=

2017-10-12 11:22:49 297

原创 bzoj 3363: [Usaco2004 Feb]Cow Marathon 奶牛马拉松 树的直径

→题目链接← 【想说的话】 一开始以为还要像前面一题那样搞带权并查集 然后我就不会了... 后来突然发现我zz了 最后一个方向没用了...直接建双向边然后跑树的直径就行了... 幸亏这个题保证边不交叉,要不然就彻底不会了 【题解】 建双向边然后跑树的直径 找树的直径:随便从一个点跑bfs,找到距离它最远的那个点,再从那个点跑bfs,最长路就是树的直径

2017-10-11 14:29:06 553

原创 bzoj 3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦 带权并查集

→题目链接← 【想说的话】 一道带权并查集好(水)题 以前觉得带权并查集挺屌的... 但是写过才发现就是正常的并查集顺便维护点什么东西... 好像我写的有点暴力啊...跑的好慢啊 【题解】 做并查集的过程中找根时不做路径压缩 然后对于每个点保存它到它的父亲节点需要在x轴和y轴上移动多少 每次合并x、y时找到y的根并记录从y移动到跟需要在x轴和y轴上移动多少 然后

2017-10-10 21:38:36 336 1

原创 bzoj 1230: [Usaco2008 Nov]lites 开关灯

→题目链接← 正解是线段树... 然而暴力能过为什么要费劲呢=.= 代码: #include #include #include #include #include using namespace std; bool f[100010]; int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=0

2017-10-05 22:21:52 269

原创 bzoj 1232: [Usaco2008Nov]安慰奶牛cheer

→题目链接← 读题就可以看出肯定用最小生成树 只按照边权找到最小生成树后,计算最后的时间是 Σ边权*2+Σ点权*出度+我们要选的过夜的点的权值 然后发现,如果只按照边权找最小生成树是不正确的 因为我们正常跑kruskal的时候每次会将边权*2+两边点的点权加进答案 所以我们可以在排序前把每条边两边点的点权都加进这个边权之中,并且把原边权*2 这样再跑kruskal就每

2017-10-04 23:02:24 256

原创 树链剖分 模板

bzoj 1036 #include #include #include #include #include #define inf 999999999 using namespace std; struct node{ int Max,sum; int l,r; }tree[120020]; int n; int w[30030],son[30030],totree[30030],

2017-10-03 22:03:24 268

空空如也

空空如也

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

TA关注的人

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