- 博客(9)
- 收藏
- 关注
原创 bzoj3745: [Coci2015]Norma
这道题维护了一大堆前缀和,真是。。。。因为MOD又调了好久。。。。。考虑分治思想,对于l,r,mid可以枚举左端点,右端点在mid右侧的情况,利用单调性和前缀和达到O(nlogn)。细节看代码:(Pr开头的都是前缀和)#include#include#define N 500005#define ll long long#define MOD 1000000000using
2016-04-21 08:21:50 1500
原创 bzoj4318: OSU!
期望DP#include#includeusing namespace std;int n;double x,a,b,c;int main(){ scanf("%d",&n); while (--n) { scanf("%lf",&x); c+=((a+b)*3+1)*x; b=(b+a*2+1)*x; a=(a+1)*x; } printf("%.1f\
2016-04-18 09:32:12 440
原创 bzoj2157: 旅游
树链剖分。把边权转成深度大的点权,支持单点赋值,路径取反,路径求和,路径最值,用线段树即可完成。因为第一种操作是对边的编号修改,一开始没注意WA了。。#include#include#define N 100000#define inf 1000000000using namespace std;int n,m,x,y,z,w[N],L[N];int first[N],to
2016-04-18 08:48:45 404
原创 bzoj4454: C Language Practice
此题卡常卡空间。。有一种O(n)-O(1)的Gcd:对于一个数n,它可以分解成a*b*c,(a,b,c为质数或小于sqrt(n)),证明略。然后预处理1~n每个数的分解方式和0~sqrt(n)两两的Gcd,询问即可O(1)。真是慢的飞起。。#include#include#include#define N 1005#define S 1000using namespace
2016-04-14 20:18:25 676
原创 bzoj1187: [HNOI2007]神奇游乐园
这是一道插头DP。。。不会的可以看一下《基于连通性状态压缩的动态规划问题》ppt然后就是裸题了?预处理出所有合法的状态,以及每种状态的每个插头匹配的位置,DP时间复杂度O(2^m*n*m)。分9种情况写的也是乱的。。#include#include#include#define inf 1e9using namespace std;int n,m,a,tot,dp[2][
2016-04-14 10:30:58 744
原创 bzoj2523: [Ctsc2001]聪明的学生
原谅我逻辑能力差。。首先看到题目的提示:稍经分析和推理,你将得出以下结论:总是头上贴着最大的那个数的人最先猜出自己头上的数。然而怎么证?!对于A,如果B,C数字相同,他可以立刻得知它头上的是B+C。否则有两种可能:B+C或|B-C|。不妨设A>B>C,A=B+C,经过n次询问,A可以猜出。那么对于A,A+C,C,经过n+1次询问,B认为如果他是A-C,A应当在n次询问时得出答案,因
2016-04-08 11:58:17 1119
原创 bzoj1927: [Sdoi2010]星际竞速
费用流建图。因为从小往大连边,所以不会出现环。因为所有点都要经过,所以可以考虑它从那个点拓展而来。拆点,从源点向出点连容量1,费用为定位时间的边,向入点连容量为1,费用为0的边,从出边向汇点连容量为1,费用为0的边,对于x-->y,从x的入点向y的出点连容量为1,费用为时间的边。这样可以保证最大流的每个点都使用且最多拓展出一个点。然后最小费用流(窝太弱,只会SPFA。。#inclu
2016-04-07 16:10:14 1201
原创 bzoj1926: [Sdoi2010]粟粟的书架
AC:100题这是一道2合一水题。。。看数据范围:对于 50%的数据,满足 R, C≤200,M≤200,000 另有 50%的数据,满足 R=1,C≤500,000,M≤20,000所以对于50%的数据用a[i][j][k]表示比k大的数的个数,b[i][j][k]表示比k大的数的和。O(1000*RC)预处理+O(log 1000)询问水过。另50%的数据考虑主席树,v
2016-04-07 15:57:37 1173
原创 主席树(可持久化线段树)
我真弱。。。连主席树都不会。。。主席树相当于多个线段树,由于相邻两棵线段树的节点的值只有少许不同,因此可以对于和前一棵树一样的子树一个指针指过去,无需操作,这样每棵树O(logn),总复杂度O(nlogn)。以下是区间K大代码:#include#include#include#define N 100005#define M 4000000using namespace st
2016-04-01 20:43:44 683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人