自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 倍增法求最近公共祖先 lca

lca:在树上的两节点都向上走最先找到的公共祖先。倍增:fa[x][i]表示x节点的第2^i个祖先(fa[x][0]就表示父节点),deep[x]表示节点的深度。大致思路: 1.dfs建树,同时确定每个节点的父节点,更新deep数组,x节点的deep值为其父节点的deep值+1。 2.由fa数组定义可得,fa[x][j]=fa[fa[x][j-1]][j-1],即第2^(j-1)个祖

2017-09-06 21:33:11 505

原创 没有上司的舞会 树形DP 经典题目

题目描述: Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起与会。输入: 第一行一个整数N。(1< =N< =6000) 接下来N行,第i+1行表示i号职员的快乐指数Ri。(-128< =Ri< =127) 接

2017-09-04 20:27:29 519

原创 noip模拟 马云 Mr_H

题目描述: 因讨厌马云而彻底放弃网购,他的日常用品都要到商场去购买,而且必须付现金。但是现金购买,经常会遇到找零的问题,那么现在请你帮助他解决这样一个问题:现在 Mr_he 手上有 n 种不同面值的硬币,每种硬币有无限多个。为了方便购物,他希望带尽量少的硬币,但是要能组合出 1 到 m 之间的任意值。输入: 第一行为两个整数:m 和 n,他们的意义如题目描述。接下来的 n 行,每行一个

2017-08-29 12:33:18 1689

原创 递推(DP) noip 模拟 不等数列

题目描述:将 1到 n任意排列,然后在排列的每两个数之间根据他们的大小关系插入“ >”和“ <”。问在所有排列中,有多少个排列恰好有 k 个“ <”。 答案对 2012 取模。输入:第一行 2 个整数 n,k。输出:一个整数表示答案。样例输入:5 2样例输出:66数据范围:对于 30%的数据: n <= 10对于 100%的数据: k < n <= 1000简析: 显然这绝对不

2017-08-24 14:53:36 352

原创 拓扑,DP noip 模拟赛 [益智游戏] 题解

题目:益智游戏(!!!本题很卡时间!!!)题目描述: 小 P 和小 R 在玩一款益智游戏。游戏在一个正权有向图上进行。 小 P 控制的角色要从 A 点走最短路到 B 点,小 R 控制的角色要从 C 点走最短路到 D 点。 一个玩家每回合可以有两种选择,移动到一个相邻节点或者休息一回合。 假如在某一时刻,小 P 和小 R 在相同的节点上,那么可以得到一次特殊奖励,但是在每

2017-08-23 18:53:47 573

原创 nodgd 好路线 noip 2015 模拟赛 T3

解析:对于此题,我们选择从方差的表达式入手,我们已知k是经过的点的数目,而到达重点是经过了(n+m-1)个点,令N=(n+m-1),此时x(即海拔)的平均值为(x1+x2+x3+...+xN)/N,(为了方便,用x_来代替x的平均值),σ^2=((x1-x_)^2+(x2-x_)^2+...+(xN-x_)^2)/N,而最终答案(n+m-1)^2*σ^2=N^2*σ^2,将原式带入得到答案 ans

2017-08-19 19:06:40 414

原创 最短路径(paths)题解,,,水博客

题目描述: 平面内给出 n 个点,记横坐标最小的点为 A,最大的点为 B,现在小 Y 想要知道在每个点经过一次(A 点两次)的情况下从 A 走到 B,再回到 A 的最短路径。但他是个强迫症患者,他有许多奇奇怪怪的要求与限制条件:1.从 A 走到 B 时,只能由横坐标小的点走到大的点。2.由 B 回到 A 时,只能由横坐标大的点走到小的点。3.有两个特殊点 b1 和 b2, b1 在

2017-08-18 21:15:06 390

原创 noip 2011 提高组 计算系数

题目描述:给定一个多项式(ax + by)^k,请求出多项式展开后(x^n)*(y^m)项的系数。(保证n+m==k)输入:共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。输出:输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。输入输出样例:输入:1 1 3 1 2输出:3题解:我们来看几组简单数据:(a*x+

2017-08-15 18:37:10 367

原创 线段树部分总结 (单点,区间)更新,区间求和,求最大值(敌兵布阵&I Hate It&A Simple Problem with Integers)

线段树线段树是一种二叉搜索树单点,区间更新,区间求和,区间求最大值敌兵布阵 I Hate It A Simple Problem with IntegersC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 你有一些整数,和一些操作与询问需要处理

2017-07-05 21:31:36 768 8

原创 c++ 左偏树简析 猴王例题讲解

c++左偏树简析题目:  Monkey King题目描述 很久很久以前,在一个广阔的森林里,住着n只好斗的猴子。起初,它们各干各的,互相之间也不了解。但是这并不能避免猴子们之间的争吵,当然,这只存在于两个陌生猴子之间。当两只猴子争论时,它们都会请自己最强壮的朋友来代表自己进行决斗。显然,决斗之后,这两只猴子以及它们的朋友就互相了解了,这些猴子之间将再也不会发生争论了,即使它们曾经发生过冲突

2017-07-04 20:46:44 930

原创 Hash冲突解决——拉链法

本文略微讲解用静态链接表解决Hash冲突解决。 首先给出 n 以及 n 个字符串,要求储存并便于查找。样例输入 3 abcdefg gabcedf kajshdb解析 先定义结构体: struct node{ char str[100];//储存字符串 int next; //记录上一个结构体编号};node edge[1000]; 我将使用

2017-07-03 20:07:13 755

原创 NOIP 2004 合并果子 题解 (堆 )

题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果

2017-07-02 21:12:59 544

原创 NOIP 2013 火柴排队 题解(离散化+树状数组)

题目描述涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为: ,其中 ai表示第一列火柴中第 i 个火柴的高度,bi表示第二列火柴中第 i 个火柴的高度。 每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小。请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这

2017-07-02 19:51:55 432

原创 c++ BFS模板题 水缸灌水 题解

题目描述:有两个无刻度标志的水壶,分别可装x升和y升(x,y为整数,x、y)的水。设另一方面有一水缸,可用来向水壶灌水或倒出水,两水壶间,水也可以相互倾灌。已知x升为满壶,y升为空壶。问如何通过倒水或灌水操作用最少步数能在y升壶中量出z(z)升的水来。输入:一行:x,y,z输出:每一行为一个步骤,输出步骤数和x、y水壶里面的水(输出时注意:本着节约用水的原则,因此,优先

2017-02-18 10:07:51 1861

原创 细胞个数题解(广度优先搜索)

题目描述:一矩形阵(n*m)列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。(细胞数字指1到9)0234500067103456050020456006710000000089有四个细胞输入:第一行输入n和m(n,m第二行开始为该矩阵输出:一共有的细胞个数。样例输入:4

2017-02-11 19:59:50 4121

原创 二叉树遍历题解(已知中序,层次遍历,求后序遍历)

题目:树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其他一种遍历的序列就可以确定一棵二叉树的结构。假设一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。输入:输入共两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表示二叉树的中序遍历和按层遍历的序列。输出:输出就一行,表示二叉树的先序序列。样例

2017-02-10 16:20:48 6878

空空如也

空空如也

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

TA关注的人

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