自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

リーインカーネイション

気づけば I came too far 此博客无限期停用

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

原创 BZOJ4198: [Noi2015]荷马史诗 哈夫曼树

题目大意:k叉哈夫曼树,且要求最大深度最小 对于第一条,先将多余的部分也就是n%(k-1)个预先合并,注意如果n%(k-1)==1就不要合并了,n%(k-1)==0要合并k-1个。 最大深度最小,直接贪心即可。 std::priority_queue慢得吓人#include<cstdio>#include<queue>#define gm 100001using namespace st

2016-12-27 17:14:43 388

原创 BZOJ1013: [JSOI2008]球形空间产生器sphere 高斯消元

有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。 n<=10 列出n+1个点到圆心的距离表达式,其值都相等。于是用其中n个分别减去最后一个,由平方差公式即可得到n个线性方程,高斯消元求解即可。 高斯消元的做法: 1.枚举消到第几项 2.枚举第一

2016-12-27 17:00:06 396

原创 BZOJ2440: [中山市选2011]完全平方数 二分 容斥原理

题目大意:对于每组数据,求第Ki 个不是完全平方数的正整数倍的数。组数50,K=10^9 首先二分答案,变为求1~n之间的不是完全平方数的正整数倍的数个数。 由容斥原理,答案为含有0个平方因子的数-含有1个平方因子的数+含有两个平方因子的数。。。 观察可知,对于p^2所有的倍数,其对答案的贡献与p的梦比优斯函数值一致。因此直接从1枚举到sqrt(n)即可,p^2在1~n内有n/(p^2)个倍数

2016-12-27 16:30:34 338

原创 BZOJ1115: [POI2009]石子游戏Kam 博弈论

有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。 每个点10组数据,每组1000堆,个数小于等于10000。 首先将石子差分,则移走石子变为将石子移到右边一堆。 结论:从最后一堆开始数,只有奇数堆是有用的,其异或和不为0则先手必胜。 这是因为对于每

2016-12-27 15:43:19 345

原创 BZOJ 3894&1497&1711&3438 网络流入门题

3894:矩形,每个点选文科一个得分,理科一个得分,一个点上下左右都和这个点选的一样会有额外得分。求最大得分。 最小割。把所有权值加上,s连每个点,每个点连t,流量均为得分。全选s的特殊得分建一个点,s连它,流量为得分,它连所有包含的点,流量无穷(意为这个关系不可割断)。全选t的同理。 这样所有矛盾关系都对应一条从s到t的通路,最小割即可。 注意dinic增广过程中把一个点设成-1的条件是分配

2016-12-27 15:17:16 382

原创 BZOJ2553: [BeiJing2011]禁忌 AC自动机 期望DP 矩阵

题目大意:给出n个禁忌串,定义任意一个字符串的禁忌伤害是不相交的禁忌子串的最大个数,求长度为len的随机串禁忌伤害期望。 所有的串只包含前alphabet个拉丁字母。 N ≤ 5,len ≤109,1 ≤ alphabet ≤ 26。 对所有禁忌串建AC自动机,问题转化成:每次在AC自动机上走一步,走到危险节点(即有危险标记的节点或者能沿fail走到危险标记的节点)就自动回到根,求危险节点的期

2016-12-27 14:24:28 399

原创 BZOJ3786: 星系探索 splay维护dfs序

题目大意:n个点的树,m个操作 1.询问到根权值和 2.改变父亲,保证不出环 3.子树加 n<=100000,m<=300000,要开long long toptree轻松虐,可惜我不会 因为本题的询问都是一个点到根的,根又不会变,因此可以通过维护入栈出栈序的方法,每个点入栈时向splay中push _ back一个正权值点,出栈时向splay中push _ back一个负权值点,这样从

2016-12-27 14:01:51 581

原创 BZOJ2194: 快速傅立叶之二 FFT

题目大意:请计算C[k]=sigma(a[i]*b[i-k]) 其中 k < = i < n ,并且有 n < = 10 ^ 5。 a,b中的元素均为小于等于100的非负整数。 FFT中的常用技巧:把一个序列反向,就可以转化为卷积问题。 考虑到若令a[i]=a[n-1-i],对a与b做乘法,则c的第n-1项~第0项依次就是答案。 FFT精度问题迷得很,输出%.0lf就WA,加上0.5再flo

2016-12-27 09:44:29 396

原创 BZOJ2179: FFT快速傅立叶 FFT

题目大意:给两个60000位以内的整数,求乘积 快速傅立叶变换入门题。

2016-12-27 08:52:09 568 1

原创 BZOJ1176: [Balkan2007]Mokia kdtree

题目大意:同2683 修改操作数M <= 160000,询问数Q <= 10000 多了个初始值,查询时直接加上就好。#include<cstdio>#include<algorithm>#include<cmath>#define u size_tusing std::nth_element;bool cmp;struct pnt{ u pos[2]; pnt(u

2016-12-27 08:16:18 501

原创 BZOJ2683: 简单题 kdtree

题目大意:n*n矩阵,单点加,矩形查和 1<=N<=500000,操作数不超过200000个,内存限制20M。 正解是cdq分治,强行拿kdtree卡了过去。 1.n是矩形大小,不是操作数量,不要被坑了 2.kdtree是空树直接返回0,否则就崩了 3.nth_element的写法是(begin,nth,end,comp),话说我之前那个崂山白花蛇草水错成那样都能过。。。 4.kdtre

2016-12-27 08:13:58 584

原创 BZOJ2081: [Poi2010]Beads 哈希

题目大意:给出一个串,求按每几个一组的分割方式可以得到最多的不同子串。正序倒序算一种,末尾有剩余的不算。 直接枚举每种分割方案,然后再对产生的哈希值做个哈希判重,总复杂度nlogn。 据说这题直接自然溢出就能过,我到底为什么写了个双取模而且还非要用pbds哈希表。。。时限10秒跑了9.388秒,差点就卡不过去了23333#include<cstdio>#include<ext/pb_ds/as

2016-12-27 07:43:46 638

原创 BZOJ3531 旅行 树链剖分

题目大意:给定一棵树,点染色,修改点权,链上询问点权和或者最大值 主要思想是对每种颜色开一颗线段树,动态分配内存,染色时删除原来的点,加入到新线段树中即可。 需要注意的是不仅插入要更新信息,删除也要更新信息。 自己的代码:#include<cstdio>#include<cstring>#define safe(x,a) (x?x->a:0)#define gm 100001using

2016-12-26 21:14:18 423

原创 BZOJ1131 [POI2008]Sta 树DP

题目大意:给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大 考虑一个点向其儿子转移对答案的影响。该子树内所有点深度-1,除该子树外的点深度+1,所以随便选一个根,预处理出深度和,然后全都转移一遍就可以。 自己的代码:#include<cstdio> #include<algorithm> #define gm 1000001 using namespace std

2016-12-26 21:01:54 465

原创 BZOJ1031 [JSOI2007]字符加密Cipher 后缀数组

题目大意:输入一个字符环,从每个位置开始沿正方向读字符个数个,得到的串排序,输出排序后每个串末尾字符构成的串。 后缀数组裸题。注意基排时不要把q[i]打成i,重标号时要考虑边界。 自己的代码(好像和常见写法没什么区别。。。)#include<cstdio>#include<cstring>#define gm 200001char s[gm];int sa[gm];void sort(

2016-12-26 20:44:35 344

空空如也

空空如也

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

TA关注的人

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