BZOJ总览
1040: [ZJOI2008]骑士 树上加了一条边 断边再树形DP 断边调了好久 要了解题目性质
1045: [HAOI2008] 糖果传递 中位数水题 内含数学方程 变量搞一搞
bzoj1053:有点忘记了,有空补题解。。。。。。感觉得反思了,明明是一道做了两遍的题,为了复习欧拉函数敲了一遍,然而各种思路都忘记了。。。从最小的质数枚举起,大的质数越少越好。。。。。。
1061: [Noi2008]志愿者招募 内含费用流模板
#include<cstdio>
#include<algorithm>
#include<cstring>
#define value pri
#define N 200000
#define inf 200000000
using namespace std;
int S,T,edgenum,ans,n,m,u,v,w,c;
int next[N],head[N],vet[N],pri[N],cost[N],q[N],inq[N],dis[N],a[N];
void add(int u,int v,int w,int c)
{
edgenum++;vet[edgenum]=v;next[edgenum]=head[u];head[u]=edgenum;pri[edgenum]=w;cost[edgenum]=c;
edgenum++;vet[edgenum]=u;next[edgenum]=head[v];head[v]=edgenum;pri[edgenum]=;cost[edgenum]=-c;
}
using namespace std;
bool spfa()
{
,tail=;q[]=T;
;i<=T;i++)dis[i]=inf;
;i<=T;i++)inq[i]=;
dis[T]=;inq[T]=;
while(tou<=tail)
{
],e=head[u],ee;
inq[u]=;
)
{
==)ee=e+;;
if(dis[u]-cost[e]<dis[v])
)
{
dis[v]=dis[u]-cost[e];
)
{
tail++;
q[tail%]=v;inq[v]=;
}
}
e=next[e];
}
tou++;
}
return (dis[S]!=inf);
}
int dfs(int u,int aug)
{
inq[u]=;
if(u==T)return aug;
,w;
)
{
==)ee=e+;;
)
)
if(dis[v]==dis[u]-cost[e])
{
w=dfs(v,min(aug-used,value[e]));
ans+=w*cost[e];
used+=w;value[e]-=w;value[ee]+=w;
if(used==aug)return aug;
}
e=next[e];
}
return used;
}
void dinic()
{
ans=;int tmp;
while(spfa())
{
inq[T]=;
)
{
memset(inq,,sizeof(inq));
tmp+=dfs(S,inf);
}
}
}
int main()
{
//freopen("1061.in","r",stdin);
scanf("%d%d",&n,&m);
;i<=n;i++)scanf("%d",&a[i]);
;i<=m;i++)
{
scanf("%d%d%d",&u,&v,&w);
add(u,v+,inf,w);
}
S=;T=n+;
;i<=n+;i++)
{
c=a[i]-a[i-];
)add(S,i,c,););
)add(i,i-,inf,);
}
dinic();
printf("%d",ans);
}
1061
1303: [CQOI2009]中位数图 想法题 乱搞
1497: [NOI2006]最大获利 内含最大流dinic模板
#include<cstdio>
#include<algorithm>
#include<cstring>
#define N 1000000
#define inf 200000000
using namespace std;
int edgenum,ans,mon,u,v,w,n,m,S,T,tot;
int head[N],vet[N],pri[N],next[N],h[N],q[N],p[N];
void add(int u,int v,int w)
{
//printf("%d %d %d\n",u,v,w);
edgenum++;vet[edgenum]=v;next[edgenum]=head[u];head[u]=edgenum;pri[edgenum]=w;
edgenum++;vet[edgenum]=u;next[edgenum]=head[v];head[v]=edgenum;pri[edgenum]=;
}
int dfs(int u,int aug)
{
if(u==T)return aug;
,w,e=head[u],ee;
)
{
int v=vet[e];
)
)
{
==)ee=e+;;
w=dfs(v,min(aug-used,pri[e]));
used+=w;pri[e]-=w;pri[ee]+=w;
if(used==aug)return used;
}
e=next[e];
}
)h[u]=-;return used;
}
bool bfs()
{
;i<=T;i++)h[i]=-;
,tail=;q[]=S;h[S]=;
while(tou<=tail)
{
],e=head[u];
)
{
int v=vet[e];
))
{
h[v]=h[u]+;tail++;q[tail%]=v;
}
e=next[e];
}
tou++;
}
);
}
void dinic()
{
ans=;
while(bfs())
{
ans+=dfs(S,inf);
}
}
int main()
{
//freopen("1497.in","r",stdin);
scanf("%d%d",&n,&m);
S=;T=n+m+;
;i<=n;i++)scanf("%d",&p[i]),add(S,i,p[i]);
tot=n;
;i<=n+m;i++)
{
scanf("%d%d%d",&u,&v,&w);
add(u,i,inf);add(v,i,inf);add(i,T,w);
mon+=w;
}
dinic();
printf("%d",mon-ans);
}
1497
1588: [HNOI2002]营业额统计 写的超弱的一种splay 好几年前的版本吧。。被坑了
1861: [Zjoi2006]Book 书架 抄黄学长的写法 高级splay 还没有深入理解过>_<
2152: 聪聪可可 第一道点分治 不理解 有空再刷别的
2588: Spoj 10628. Count on a tree 第一次写主席树 权值线段树 struct LCA
4034: [HAOI2015]T2 树链剖分 改了挺久 pushdown出现了错误 下次写线段树要更仔细一点 还要longlong
4552:内含线段树,push_down,懒人标记等。。。。
BZOJ总览的更多相关文章
- BZOJ.4034 [HAOI2015]树上操作 ( 点权树链剖分 线段树 )
BZOJ.4034 [HAOI2015]树上操作 ( 点权树链剖分 线段树 ) 题意分析 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 ...
- BZOJ.1036 [ZJOI2008]树的统计Count ( 点权树链剖分 线段树维护和与最值)
BZOJ.1036 [ZJOI2008]树的统计Count (树链剖分 线段树维护和与最值) 题意分析 (题目图片来自于 这里) 第一道树链剖分的题目,谈一下自己的理解. 树链剖分能解决的问题是,题目 ...
- BZOJ 2127: happiness [最小割]
2127: happiness Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 1815 Solved: 878[Submit][Status][Di ...
- 步步深入:MySQL架构总览->查询执行流程->SQL解析顺序
前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来 ...
- BZOJ 3275: Number
3275: Number Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 874 Solved: 371[Submit][Status][Discus ...
- BZOJ 2879: [Noi2012]美食节
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1834 Solved: 969[Submit][Status] ...
- bzoj 4610 Ceiling Functi
bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Inp ...
- BZOJ 题目整理
bzoj 500题纪念 总结一发题目吧,挑几道题整理一下,(方便拖板子) 1039:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...
- 【sdoi2013】森林 BZOJ 3123
Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号.保证1≤testcase≤20. 第二行包含三个整数N,M,T,分别表示节点数.初始边数.操作数.第三行包含N个非负整数 ...
随机推荐
- struts2拦截器+监听器 .
一.拦截器是怎么实现: 实际上它是用Java中的动态代理来实现的 二.拦截器在Struts2中的应用 对于Struts2框架而言,正是大量的内置拦截器完成了大部分操作.像params拦截器将http请 ...
- struts 拦截器 Interceptor
拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用.正如上面 Struts2的Reference中讲述的,Stru ...
- jQuery与JS的区别,以及jQuery的基础语法
*在使用jQuery时,要在页面最上端加上 <script src="../jquery-1.11.2.min.js"></script> 看一下js与jQ ...
- IntelliJ IDEA 15.0.4常用快捷键整理
一.背景 最近刚转了IDEA,感觉真是爽的一逼,太智能了,回不去Eclipse了,还有些淡淡的忧伤呢~在使用中很多的快捷键帮了开发的大忙,让我可以达到事半功倍的效果,下面就罗列出来,与大家共同分享. ...
- endnote设置文献第二行悬挂缩进办法
参考:http://blog.sina.com.cn/s/blog_62b13cf201014lfr.html 使用[endnote]插入文献后,如果文献稍长些,有第二行,第二行会顶格开始.并且这个 ...
- js函数的几个特殊点
在ECMAScript中,Function(函数)类型实际上是对象.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象 ...
- 虚拟机Class文件结构笔记
>>Java语言的平台无关性 Java是与平台无关的语言,“一次编写,到处运行”,这一方面依赖于Java源代码编译后生成的存储字节码的文件,即Class文件是语言和平台无关的: 另一方面依 ...
- 你可能不知道的java、python、JavaScript以及jquary循环语句的区别
一.概述 java循环语句分为四种形式,分别是 while, do/while, for, foreach: python中循环语句有两种,while,for: JavaScript中循环语句有四种, ...
- 【译】DotNet 5.4或者说 .NET平台标准
原文:DotNet 5.4 or .NET Platform Standards 是的,你看到的确实是"DotNet 5.4".使用Visual Studio 2015 RC1 u ...
- AngularJS讲义 - 作用域
什么是作用域? Angular中作用域(scope)是模板以及工作的上下文环境,作用域中存放了应用模型和视图相关的回调行为.作用域是层次化结构的与相关联的DOM结构相对应.作用域可以观察表达式以及传播 ...