随笔分类 - 一天一道算法题
刷题记录
摘要:前些天做了好几道关于图的题,现在来个整理。 图的概念就不介绍了。 记u为起点,v为终点 最简单的存储方式: vector<int> g[maxn]; 在上面的vector里,如果正向建图,那么再输入的时候g[u].push_back(v); 如果反向建图,那么就是g[v].push_back(u);
阅读全文
摘要:题目【[SHOI2002]滑雪】:https://www.luogu.com.cn/problem/P1434 解法可以用记忆化搜索,也可以DP。 这里我选了DP,使用了优先队列存储每个高度,从而实现从低到高的递推。 1 #include<iostream> 2 #include<algorithm
阅读全文
摘要:题目【逆序对】:https://www.luogu.com.cn/problem/P1908 解法一:暴力法,适用于n比较小的时候,本题不适用。 解法二:归并排序。 我们很容易得出在合并操作的时候会找到逆序对。 记i指向左边区域的当前节点,j指向右边区域的当前节点。 当a[i]<=a[j]时,a[i
阅读全文
摘要:题目【模板】树状数组1:https://www.luogu.com.cn/problem/P3374 树状数组和线段树差不多,可以处理区间操作,但是处理不了太复杂的区间问题。,不过代码比线段树简洁很多很多!!!时间复杂度都为O(logn)。 例如,区间[1,8]存储方式如下: 1 tree[1]=n
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1890 这题大佬都说是splay树的水题,作为一个新手,苦苦钻研了一天半……我好菜o(╥﹏╥)o splay树本质上是一棵BST,它会根据需要把最常用的节点旋转到根节点(或者比它更浅的节点),提高效率。所以它
阅读全文
摘要:题目【模板】线段树1:https://www.luogu.com.cn/problem/P3372 RMQ问题(Range Minimum/Maximum Query)和求区间和的问题可以用暴力法做,时间复杂度为O(n^2),用在本题会超时,所以我们选择线段树做。 线段树是一种用于区间操作的数据结构
阅读全文
摘要:Problem Description Trees are fundamental in many branches of computer science. Current state-of-the art parallel computers such as Thinking Machines'
阅读全文
摘要:Treap,由Tree和Heap各取一半组成的单词,也可意为树堆。 二叉查找树为每一个结点设置了一个键值,Treap树在上面又加了一个被称为优先级的权值。对键值来说,Treap树是排序二叉树;对优先级来说,Treap树是堆——在这棵树的任意子树上,根节点的优先级最大。 Treap的唯一性指:另每个节
阅读全文
摘要:题目描述 您需要写一种数据结构,来维护一些数( 都是 10^9 以内的数字)的集合,最开始时集合是空的。其中需要提供以下操作,操作次数 q 不超过 10^4: 查询 x 数的排名(排名定义为比当前数小的数的个数 +1。若有多个相同的数,因输出最小的排名)。 查询排名为 x的数。 求 x 的前驱(前驱
阅读全文
摘要:题目背景 小明在A公司工作,小红在B公司工作。 题目描述 这两个公司的员工有一个特点:一个公司的员工都是同性。 A公司有N名员工,其中有P对朋友关系。B公司有M名员工,其中有Q对朋友关系。朋友的朋友一定还是朋友。 每对朋友关系用两个整数(Xi,Yi)组成,表示朋友的编号分别为Xi,Yi。男人的编号是
阅读全文
摘要:题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第i层楼(1≤i≤N)上有一个数字K_i(0≤Ki≤N)。 电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。 例如:3, 3 ,1 ,2 ,
阅读全文

浙公网安备 33010602011771号