
C++寒假学习专栏
这里有许多的c++的数论基础、树形dp,图论拓展等的代码,好在理解寒假所学知识。
C2020lax
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅谈线段树及其例题讲解
简介:线段树是一种数据结构,它是一种便于区间修改与区间查找的数据结构,而他叫做线段树而不是直线树,这说明他与线段有关,线段树存储的是一个线段(即为左端点与右端点),而他的子节点是左端点到mid与mid+1到右端点的线段(左端点与右端点相等为止)。具体结构如下图:现在我们对他有了一个概念性的了解,而我们现在想一想,该如何存储他呢?线段树的存储:线段树的存储有两种方法一.指针法...原创 2019-01-15 13:07:55 · 604 阅读 · 0 评论 -
C++树形DP基础—————战略游戏
目录:题目描述输入输出输入样例输出样例提示思路分析代码实现题目描述:Bob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。 注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。请你编一程...原创 2019-03-13 13:38:25 · 1658 阅读 · 0 评论 -
C++树形DP—————[USACO08 JAN金组]电话网络
题目描述:Farmer John决定为他的所有奶牛都配备手机,以此鼓励她们互相交流。不过,为此FJ必须在奶牛们居住的N(1 <= N <= 10,000)块草地中选一些建上无线电通讯塔,来保证任意两块草地间都存在手机信号。所有的N块草地按1..N顺次编号。 所有草地中只有N-1对是相邻的,不过对任意两块草地A和B(1 <= A <= N;1 <=...原创 2019-03-12 13:29:29 · 1339 阅读 · 0 评论 -
C++树形DP基础—————求树的重心
题目描述:树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值。树可能存在多个重心。如下图(自制),当去掉点1后,树将分成两个连通块:(2,4,5),(3,6,7),则最大的连通块包含节点个数为3。若去掉点2,则树将分成3个部分,(4),(5),(1,3,6,7)最大的连通块包含4个节点;第一种方法可以得到更小的最大联通分量。可以发现,其他方案...原创 2019-03-11 13:26:08 · 12711 阅读 · 5 评论 -
C++图论提高例题讲解————Frogger
题目描述:Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Frog who is sitting on another stone. He plans to visit her, but since the water is dirty and full of touris...原创 2019-01-30 21:04:04 · 634 阅读 · 0 评论 -
C++树形DP基础例题—————没有上司的晚会
题目描述:BackgroundThe president of the Ural State University is going to make an 80'th Anniversary party. The university has a hierarchical structure of employees; that is, the supervisor relation fo...原创 2019-03-06 14:54:08 · 537 阅读 · 0 评论 -
C++树形DP基础例题————— 树的最大独立集
题目描述:对于一棵有N个结点的无根树,选出尽量多的结点,使得任何两个结点均不相邻(称为最大独立集)。题目输入:第1行:1个整数N(1 <= N <= 6000),表示树的结点个数,树中结点的编号从1..N接下来N-1行,每行2个整数u,v,表示树中的一条边连接结点u和v题目输出:第1行:1个整数,表示最大独立集的结点个数样例输入:111 21 ...原创 2019-03-06 12:51:22 · 1014 阅读 · 0 评论 -
解二元一次方程————拓展欧几里得算法
二元一次方程的定义: 含有两个未知数,并且含有未知数的项的次数都是1的整式方程叫做二元一次方程。所有二元一次方程都可化为ax+by+c=0(a、b≠0)的一般式与ax+by=c(a、b≠0)的标准式,否则不为二元一次方程。 适合一个二元一次方程的每一对未知数的值,叫做这个二元一次方程的一个解。每个二元一次方程都有无数对方程的解,由二元一次方程组成的二元一次方程组才可能有唯一解,...原创 2019-02-28 13:50:46 · 6103 阅读 · 1 评论 -
基础数论—————论拉格朗日插值法
前言:此博客将没有任何的代码,纯数学,若已经明白拉格朗日插值法的就可以离开了(但是阅读量增加了,O(∩_∩)O~)。好了,现在我们回归正题,什么是拉格朗日插值法。简介:拉格朗日插值法,顾名思义,就是拉格朗日的插值法,是在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和...原创 2019-03-07 16:48:48 · 649 阅读 · 0 评论 -
C++基础数论————排列组合
排列组合的定义:排列就是从n个数中找出m个进行排列,共有多少种方案?这一定要考虑顺序。公式就是:而组合就从从n个数中找出m个进行组合,共有多少种方案?这一定不要考虑顺序。公式就是:现在,我们来看一看它的性质:而我们该如何计算组合数呢?计算组合数:这一共有2种方法。1、根据定义直接暴力求出组合数,但是其时间复杂度较长而且有溢出的风险,所以不推荐...原创 2019-02-28 17:32:05 · 4096 阅读 · 2 评论 -
C++初等数论同余——欧拉函数与CRT
前言: 在我们开始学习欧拉函数与CRT之前,我们得先搞清楚什么是同余。 两个整数同时除于一个相同的数,如果它们的余数相等,则称它们两个数互余。 符号语言: 当然它一定是有一些性质的,下面请听我慢慢介绍。 一是自反性: 二是对称性: 三是传递性: 当然它还有等价定义: 而这也说明了:若则。注意...原创 2019-03-01 14:08:54 · 1024 阅读 · 0 评论 -
寒假训练总结与未来计划
学习情况反思:在这一次的寒假训练中,我们总共学习了三个方面的知识,一是图论的拓展,二是树形DP,三是基础数论。 而其中我认为我学得最好的是图论,因为我本来有基础,而且在开始我还是满怀期待的,并且我也将课件上的知识全部搞懂了,所以在第一期的考试我还是得到了一个平均的分数(50分)。然后呢,是数论,但是因为我坐在了后排,听课的效率大大降低,就算在课下十分努力的去搞懂,但还是没有...原创 2019-02-26 13:58:09 · 277 阅读 · 0 评论 -
C++关于质数的判定与筛法
前言: 质数,是相伴了我们许久的老朋友,从小学到中学无处不在。 质数,就是一个数的因子只有它自己或本身的数叫做质数。 现在我们主要来讨论它的一些秘密。质数的判定: 首先是素数的判定定理: 若从2到的数中,都没有它的约数,那么它一定是一个质数,不用解释应该就能明白,n=a*b(a<=b),则a最大为。 代码如下:...原创 2019-03-04 14:13:39 · 2548 阅读 · 0 评论