自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Facico的博客

程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。

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

原创 用动态树强弄树的统计

Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。   我们将以下面的形式来要求你对这棵树完成一些操作:   I. CHANGE u t : 把结点u的权值改为t   II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值   III. QSUM u v: 询问从点u到点v的路径上的节点的权值和   注意:从点u到点v的路径上的

2016-06-30 22:07:11 842 2

原创 【APIO2014】序列分割

DescriptionSolution怎么做发现长得好像什么石子合并之内的题目,然后探究探究,得出了一个结论:分割点相同,分割的顺序是没有关系的。 然后就想到了DP。设f[i][j]表示在第i次分割时,在j点分割。 转移引进一个x就可以了f[i][j]=max(f[x][j-1]+sum[x]*(sum[i]-sum[x])),打个前缀和,很显然。 复杂度(O(n2k))(O(n^2k))。斜

2016-06-30 11:12:45 1199

原创 【NOIP模拟】电话线铺设

DescriptionSolution用什么首先,他需要把n个点连接起来且只用n-1条边,还要使总边权和最小,那么很明显是最小生成树啦。 习惯用克鲁斯卡尔算法。怎么做不过此处有一个条件限制就是要加一条李牌的边,就是只选n-2条王牌的边。 那么很显然的是这n-2条边是在最小生成树上的边。 所以先建立最小生成树。 那么我们只要枚举所有李牌的边,替换一条李牌的边或建立一条新边,例如从x到y费用z,

2016-06-29 15:42:47 1417

原创 splay复习小记

简介splay的原名是伸展树,一种超级实用的数据结构,能快速地干很多数据结构不能干的事情。 很久以前就听说过并且略微地学了一些,但是当时了解地并不是很多。 有些人把splay达成spaly叫做死吧你,(⊙﹏⊙)b结构实质上他是一个二叉搜索树,就是每个节点的左儿子在原序列中是在自己左边的,右儿子在原序列中是在自己右边的,构图的方式有很多。 每一个节点都可以存储一些值,表示它的子树中的信息(比如说

2016-06-28 20:32:01 3733

原创 【NOI2005】维护数列

Description 请写一个程序,要求维护一个数列,支持以下6种操作:(请注意,格式栏中的下划线‘ _ ’表示实际输入文件中的空格)   1. 插入 INSERT_posi_tot_c1_c2_…_ctot 在当前数列的第posi个数字后插入tot个数字:c1, c2, …, ctot;若在数列首插入,则posi为0   2. 删除 DELETE_posi_tot 从当前数列的第posi个数

2016-06-28 18:14:28 884

原创 【SDOI2013】森林

Description小 Z有一片 森林 ,含有 N个节点, 每个 节点上都有一非负 整数作为 权值 。 初始的时候, 森林中有 M条边。 小 Z希望 执行 T个操作 ,操作有两类: 1、Q x y k 查询 点 x到点 y路径上 所有的 权值 中, 第 k小的权值是多少。 此 操作保证点 x和点 y连通,同时这两个节点的路径上至少有 k个点。 2、L x y 在点 x和点 y之间连接一条边。

2016-06-27 22:14:41 903

原创 【CQOI2014】排序机械臂

DescriptionSolution用什么刚看到这道题,哎呀,信心大增:序列的翻转不就是用splay吗! 如果不会splay,详见splay复习小计怎么做序列的翻转直接把子树的所有左右儿子调换即可。 然后先排一个序,找到每次要找的数他的位置(splay改变的只是树上的位置,他的下标就是原来的位置),然后把这个数旋转到根节点,输出答案(他目前在树上的位置是他在根节点是左子树的个数+1,注意每次+

2016-06-27 16:04:29 1830

原创 树状数组复习小计

简介其实我以前以为树状数组是一个很没用的东西,今天一看才发现可以干很多事情。 树状数组详细是什么我就不说了,网上还有很多资料。大致就是,每个点x的父边连向的点都是x+lowbit(x)。lowbit(x)=-x and x,就是把x末尾的1变成0并向上推一位,比如lowbit(100)=1000,lowbit(10101)=10110,lowbit(11000)=100000。 (只能看看手打图

2016-06-26 16:39:06 1556

原创 Mato的文件管理

DescriptionMato同学从各路神犇以各种方式(你们懂的)收集了许多资料,这些资料一共有n份,每份有一个大小和一个编号。为了防止他人偷拷,这些资料都是加密过的,只能用Mato自己写的程序才能访问。Mato每天随机选一个区间[l,r],他今天就看编号在此区间内的这些资料。Mato有一个习惯,他总是从文件大小从小到大看资料。他先把要看的文件按编号顺序依次拷贝出来,再用他写的排序程序给文件大小排序

2016-06-26 15:53:37 1297 3

原创 【NOIP模拟】平均数

Description给出包含一个N个整数的数组A。找出一段长度至少为K的连续序列,最大化它的平均值。 请注意:一段子序列的平均值是子序列中所有数的和除以它的长度。Solution一看到求什么最大最小值什么的就要想到用二分答案。 然后是平均数,要求他要大于某个数,那么我们就把这些数同时减去这个平均数,最后如果满足长度大于m的子串和不小于0就成立。那么我们怎样保证长度大于m我们循环从m到n循环,然

2016-06-26 07:53:56 1239

原创 【GDKOI2014】小纪的作业题

DescriptionSolution会超时!要快速询问一段数中某个数出现的次数,又不要求在线,显然用莫队算法啊。 一开始打的很顺利,交上去只有50分TAT。 发现用了很多次快速幂,哦,原来如此!我只统计了次数,然后用快速幂进行加减,不慢才怪呢! 然后我再统计每个数对答案的贡献,再进行乘除操作就可以了。预处理逆元但是除以一个数再%需要用到逆元啊,啊啊啊啊啊…… 但是预处理每个数对于10000

2016-06-25 14:51:56 875

空空如也

空空如也

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

TA关注的人

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