11 2018 档案

摘要:题意描述 你有一块长方形的巧克力,这块巧克力共有n*m小块。你想吃k小块巧克力,因此你也许需要掰开这块巧克力。 在每一次操作中你可以把任意一块矩形形状的巧克力掰成两块矩形形状的巧克力。你只能沿着巧克力小块之间的分割线掰开巧克力——可以沿着水平方向或是竖直方向掰开。掰开巧克力的花费等于分割线长度的平方 阅读全文
posted @ 2018-11-30 00:41 cold_cold 阅读(399) 评论(0) 推荐(0)
摘要:题目描述 有n个点,每个点表示原点到该点的向量,让你求出两个向量最小的夹角,输出向量的序号 此题其实不难,只需把每个向量与x轴的非负半轴的逆时针角度求出来,排序后,相邻的角度相减,取最小值即可。 但是难在atan我并没有接触过,atan2是一个函数,返回的是指方位角(弧度制),计算时atan2 比 阅读全文
posted @ 2018-11-29 23:02 cold_cold 阅读(196) 评论(0) 推荐(0)
摘要:题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因: 在深邃的太平洋海底中,出现了一条名为drd的巨龙,它掌握着睡眠之精髓,能随意延长大家的睡眠时间。 阅读全文
posted @ 2018-11-28 23:50 cold_cold 阅读(872) 评论(0) 推荐(0)
摘要:题目描述 Chris家的电话铃响起了,里面传出了Chris的老师焦急的声音:“喂,是Chris的家长吗?你们的孩子又没来上课,不想参加考试了吗?”一听说要考试,Chris的父母就心急如焚,他们决定在尽量短的时间内找到Chris。他们告诉Chris的老师:“根据以往的经验,Chris现在必然躲在朋友S 阅读全文
posted @ 2018-11-28 23:06 cold_cold 阅读(284) 评论(0) 推荐(0)
摘要:题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。 阅读全文
posted @ 2018-11-28 01:09 cold_cold 阅读(299) 评论(0) 推荐(0)
摘要:题目描述 在 W 星球上有 n 个国家。为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1 条双向道路。 每条道路的修建都要付出一定的费用,这个费用等于道路长度乘以道路两端 的国家 个数之差的绝对值。例如,在下图 阅读全文
posted @ 2018-11-27 23:22 cold_cold 阅读(533) 评论(0) 推荐(0)
摘要:题意: 该题目有多组数据,每组数据给出一个n,让你求出从1到n的和,但是其中每当遇到一个数是2的次幂时,就要变加为减。例如输入n=4,那么计算算式为-1-2+3-4=-4,因为1是2^0,2是2^1,4是2^2。共有t组数据。 其实做法很简单,把从1到n的和用等差数列算出来,然后用log2n计算出不 阅读全文
posted @ 2018-11-26 23:53 cold_cold 阅读(257) 评论(0) 推荐(0)
摘要:题目描述: Byteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有n种面值的硬币,面值分别为b1, b2,…, bn. 但是每种硬币有数量限制,现在我们想要凑出面值k求最少要用多少个硬币. 这一题其实很容易看出是一道背包问题,为什么我NOIP2018没有想到,此题应 阅读全文
posted @ 2018-11-25 14:09 cold_cold 阅读(295) 评论(0) 推荐(0)
摘要:题目描述: Byte City 的街道形成了一个标准的棋盘网络 – 他们要么是北南走向要么就是西东走向. 北南走向的路口从 1 到 n编号, 西东走向的路从1 到 m编号. 每个路口用两个数(i, j) 表示(1 <= i <= n, 1 <= j <= m). Byte City里有一条公交线, 阅读全文
posted @ 2018-11-25 01:43 cold_cold 阅读(280) 评论(0) 推荐(0)
摘要:题目描述 对于任何正整数x,其约数的个数记作g(x)。例如g(1)=1、g(6)=4。如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数。例如,整数1,2,4,6等都是反质数。现在给定一个数N,你能求出不超过N的最大的反质数么? 此题以前学习过,此次刷POI又一次碰到了,我们看到要 阅读全文
posted @ 2018-11-24 21:40 cold_cold 阅读(244) 评论(0) 推荐(0)
摘要:1. 二叉搜索树 二叉搜索树,是一种能实现动态查询第k大或查询,某数在序列中的排名的树形结构,在数据较为随机的情况下,它的期望复杂度为O(logn),但是若是数据为一个有序序列,那么该二叉搜索树,将会变成一条链,此时每次查找的复杂度将会变成复杂度为O(n) 2. SBT 针对上述问题,为了能使复杂度 阅读全文
posted @ 2018-11-20 21:54 cold_cold 阅读(617) 评论(0) 推荐(0)
摘要:首先,在学树链剖分之前最好先把 LCA、树形DP、DFS序 这三个知识点学了还有必备的 链式前向星、线段树 也要先学了。如果这些个知识点没掌握好的话,树链剖分难以理解也是当然的 树链剖分 就是对一棵树分成几条链,把树形变为线性,减少处理难度需要处理的问题: 将树从x到y结点最短路径上所有节点的值都加 阅读全文
posted @ 2018-11-20 21:32 cold_cold 阅读(187) 评论(0) 推荐(0)
摘要:并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。它是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 并 阅读全文
posted @ 2018-11-20 21:18 cold_cold 阅读(168) 评论(0) 推荐(0)
摘要:树状数组或者二叉索引树也称作Binary Indexed Tree,又叫做Fenwick树;它的查询和修改的时间复杂度都是log(n),空间复杂度则为O(n),这是因为树状数组通过将线性结构转化成树状结构,从而进行跳跃式扫描。通常使用在高效的计算数列的前缀和,区间和。 为什么要用树状数组 线段树比树 阅读全文
posted @ 2018-11-20 21:08 cold_cold 阅读(417) 评论(0) 推荐(0)
摘要:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[o],若其表示的区间为[l,r],它的左儿子表示的区间为[l,mid],右儿子表示的区间为[mid+1,r]。因此线段树是平衡二叉树,最后的子节点数目为n,即 阅读全文
posted @ 2018-11-20 20:50 cold_cold 阅读(157) 评论(0) 推荐(0)
摘要:LIS指一个序列中最长的单调递增(严格)的子序列。有一种较为朴素的O(n^2)的做法,我们不多做赘述,我们讲一种用单带栈和二分来实现的O(logn)的算法 我们从1-n枚举,若该数比栈顶元素大,那么我们就将该数压入栈中。否则我们就在整个栈中二分到一个第一个大于等于它的数,将其用a[i]替换。 考虑为 阅读全文
posted @ 2018-11-20 20:41 cold_cold 阅读(239) 评论(0) 推荐(0)
摘要:1. 01背包:有 N 件物品和一个容量为 V 的背包。第 i 件物品的费用是 c[i],价值是 w[i]。求解将哪些物品装入背包可使价值总和最大。 对于这类问题我们我们定义f[i][j]表示在前i个物品中选总容量为j所能得到的最大价值为多少于是我们状态转移便是这样 f[i][j]=max(f[i] 阅读全文
posted @ 2018-11-20 20:23 cold_cold 阅读(329) 评论(0) 推荐(0)
摘要:快速读入能使我们的程序常数减小,这里介绍一种较为快速的方法。 我们用这个gc来代替我们快读的getchar,速度大概是getchar的7倍。此处stdin,和in是文件指针,当我们使用freopen时我们使用第一行,当我们使用fopen的时候我们需要文件重定向再使用第二行的gc即可。加上快读速度极快 阅读全文
posted @ 2018-11-20 19:41 cold_cold 阅读(223) 评论(0) 推荐(0)
摘要:单精加过程: 高精加过程: 高精减过程: 单精乘过程: 高精乘过程: 单精除过程: 输出: 总代码如下: 阅读全文
posted @ 2018-11-20 19:35 cold_cold 阅读(504) 评论(0) 推荐(0)
摘要:联赛已经结束,此次联赛成绩289分,是否能得到一等奖,还是一个谜。无论我是否能得到一等奖,成绩都已经已经尘埃落定。此次考试我发挥的很不好,但这次发挥的不好,但是这次发挥的不好既是意料之中又是意料之外的事, 1. 在一个月的娄底集训中的模拟考试我的成绩一直上下起伏不定。所以联赛失手也是可以预料到的 2 阅读全文
posted @ 2018-11-20 19:05 cold_cold 阅读(144) 评论(1) 推荐(0)
摘要:二叉搜索树(Binary Search Tree)它要么是一棵空树,要么是一棵具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左,右子树也分别为二叉搜索树 二叉搜索树上的每一个结点都维护四个值, 阅读全文
posted @ 2018-11-18 14:05 cold_cold 阅读(364) 评论(0) 推荐(0)
摘要:Treap=BST+Heap,BST指的是二叉搜索树,而Heap指的是二叉堆,在此处我们使用的是小根堆. Treap上的每一个结点都维护六个值,一个是它本身的权值data,一个是用于维护堆的性质的权值key(他是随机赋上的一个值),那么我们为什么要给每一个点赋一个随机的key值呢?可以由玄学证明ke 阅读全文
posted @ 2018-11-18 13:36 cold_cold 阅读(289) 评论(0) 推荐(1)
摘要:其实在我学习二叉堆之前,我一直使用优先队列来实现堆完成堆优的Dijkstra,和其他操作,但此次我学习平衡树treap的时候,要用到堆的思想,所以我不得不学习一下二叉堆 一个二叉堆(以下均简称为堆),首先是一棵完全二叉树,满足树高近似于logn,这就能够保证其复杂度在logn级别,以下我们拿小根堆举 阅读全文
posted @ 2018-11-17 20:03 cold_cold 阅读(1053) 评论(0) 推荐(0)