自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1441 士兵的数字游戏题解

题目描述两个士兵正在玩一个游戏,游戏开始的时候,第一个士兵为第二个士兵选一个正整数n。然后第二个士兵要玩尽可能多的轮数。每一轮要选择一个正整数x>1,且n要是x的倍数,然后用n/x去代替n。当n变成1的时候,游戏就结束了,第二个士兵所得的分数就是他玩游戏的轮数。为了使游戏更加有趣,第一个士兵用 a! / b! 来表示n。k!表示把所有1到k的数字乘起来。那么第二个士兵所能得到的最大分数是多少呢?问题转化因为要玩尽可能多的轮数,所以第二个士兵肯定是每次选最小的质因子,这样n变化的幅度最小,也就

2021-08-22 12:24:26 197

转载 序列式容器(Array)

array(C++11)std::array 是 STL 提供的 内存连续的、固定长度 的数组数据结构。其本质是对原生数组的直接封装。为什么要用 arrayarray 实际上是 STL 对数组的封装。它相比 vector 牺牲了动态扩容的特性,但是换来了与原生数组几乎一致的性能(在开满优化的前提下)。因此如果能使用 C++11 特性的情况下,能够使用原生数组的地方几乎都可以直接把定长数组都换成 array,而动态分配的数组可以替换为 vector。成员函数隐式定义的成员函数operator=

2021-08-08 10:54:30 113

原创 系统STL

背景做一道江西CSP_J的题目,大数据排序+去重。好家伙根本不会做,我反手打开一个题解,后来发现用到了一个函数:unique。我是当场吐血。但也因此了解到了STL的重要性(有可能不用也可以,我承认是我人不行),也系统地了解了解吧。STL容器简介分类序列式容器向量(vector) 后端可高效增加元素的顺序表。数组(array)C++11,定长的顺序表,C 风格数组的简单包装。双端队列(deque) 双端都可高效增加元素的顺序表。列表(list) 可以沿双向遍历的链表。

2021-08-08 10:37:39 112

转载 序列式容器(Vector)

vectorstd::vector 是 STL 提供的 内存连续的、可变长度 的数组(亦称列表)数据结构。能够提供线性复杂度的插入和删除,以及常数复杂度的随机访问。为什么要使用 vectorvector 可以动态分配内存很多时候我们不能提前开好那么大的空间(eg:预处理 1~n 中所有数的约数)。尽管我们能知道数据总量在空间允许的级别,但是单份数据还可能非常大,这种时候我们就需要vector来把内存占用量控制在合适的范围内。vector 还支持动态扩容,在内存非常紧张的时候这个特性就能派上用场

2021-08-08 10:34:21 527

原创 1405 树的距离之和题解

背景treedp极限无向边,看似易TLE的dfs被秒杀?最后一秒做出来的题。题目描述给定一棵无根树,假设它有n个节点,节点编号从1到n, 求1-n这n个节点,到其他n-1个节点的距离之和。输入第一行包含一个正整数n (n <= 100000),表示节点个数。后面(n - 1)行,每行两个整数表示树的边。输出每行一个整数,第i(i = 1,2,…n)行表示所有节点到第i个点的距离之和。输入样例41 23 24 2输出样例5355这一题乍一看好像是图论。建立无向图然

2021-07-29 18:32:00 516

原创 强联通的三种算法初步介绍

背景与XJ争论到底哪种算法的代码更简单。。。这篇文章的参考代码都是关于这道题目的。正题在一个有向图中,若节点u和v可以互相到达,则称它们强联通。若任意两个点都可以互相到达,我们将这个图成为强连通图。在强连通图的基础上加入一些点和路径,使得当前的图不再强连通,称原来的强连通的部分为强连通分量。所以,若一个图有n个点,且强联通,那么这个图中至少有(n-1)条边。鉴于模板题提到了缩点,那么这里也提一嘴缩点的用处。缩点的用处:缩点,就是把一个图中的环缩成一个点。用于找一个图(有无向不在乎,不过要

2021-07-21 18:28:42 817

原创 1158 全是1的最大子矩阵题解

背景由于51nod上的四级题刷不动,但HY老师为了鞭策我们搞了个竞赛制度,只好求助非常强的小唐同学了。说实话,这道题我提交了11遍。。。主要是把它看成另一道题了(求全是1的最大正方形),于是随便提交发现不对。。。题目描述给出1个M*N的矩阵M1,里面的元素只有0或1,找出M1的一个子矩阵M2,M2中的元素只有1,且M2的面积是最大的。输出M2的面积。输入第1行:2个数m,n中间用空格分隔(2 <= m,n <= 500)第2 - N + 1行:每行m个数,中间用空格分隔,均为0或1

2021-07-18 11:34:33 321

原创 浅谈反素数

对于一个新概念,我们要先弄懂它的意思。反素数 :我们将正整数 x 的约数个数记为g(x),对于任意正整数 i (1≤i≤x\leq i \leq x≤i≤x),都有g(i)<g(x),那么我们称 x 为反素数(还真跟素数一点关系没有。。。)...

2021-07-11 20:38:00 317

空空如也

空空如也

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

TA关注的人

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