Acm入坑
韩师学子--小倪
不要告诉别人你的计划,只需要让别人知道结果就行了。
展开
-
拓扑排序的原理及其实现
拓扑排序的原理及其实现目录一、拓扑排序的定义和前置条件二、Kahn算法三、基于DFS的算法四、解的唯一性问题一、拓扑排序的定义和前置条件定义:将有向图中的顶点以线性方式进行排序。即对于任何连接自顶点u到顶点v的有向边uv,在最后的排序结果中,顶点u总是在顶点v的前面。二、Kahn算法关键在于需要维护一个入度为0的顶点的集合:每次从该集合中取出(没有特殊的取出规则,随机取出也行,使用队列/栈也行,下同)一个顶点,...原创 2020-09-17 23:08:38 · 497 阅读 · 0 评论 -
acm集训队课程设置--第十节课
acm集训队课程设置--第十节课本节内容:母函数母函数定义:对于序列a0,a1,a2,…构造一函数:称函数G(x)是序列a0,a1,a2,…的母函数(1+x)^n是序列C(n,0),C(n,1),...,C(n,n)的母函数。 如若已知序列a0,a1,a2,…则对应的母函数G(x)便可根据定义给出。反之,如若已经求得序列的母函数G(x),则该序列也随之确定。 序列a0,a1,a2,...原创 2018-03-24 10:56:47 · 684 阅读 · 0 评论 -
acm集训队课程设置--第九节课
acm集训队课程设置--第九节课本节课的内容为:背包算法算法分类:01背包完全背包多重背包混合三种背包二维费用背包分组背包依赖背包先来看看什么是背包问题:背包的基本模型: 给你一个容量为V的背包和若干种物品,在一定的限制条件下(每种物品都占用一定容量),问最多能放进多少价值的物品?关于背包问题1、最典型、最基本的DP问题;2、理解并熟练掌握背包问题意义重大;3、DP问题中“状态”概念的理解;4、背...原创 2018-03-24 09:57:40 · 514 阅读 · 2 评论 -
acm集训队课程设置--第一节课
acm集训队课程设置--第一节课acm新手入门语法基础1.输入输出格式在ACM题库中,不管是文件输出(输入)还是标准输出(输入),都有着一定的格式,下面我就以杭电1089——1096为例子,简单的介绍一下。第一种:A+B for Input-Output Practice (I) 【输入】有多组输入数据,但没有具体的告诉你有多少组,只是让你对应每组输入,应该怎样输出。【输出】有多组输出,对应着每组...原创 2018-03-06 13:37:09 · 882 阅读 · 1 评论 -
acm集训队课程设置--第四节课
acm集训队课程设置--第四节课本节内容:贪心算法贪心算法的定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。解题的一般步骤是:1.建立数学模型来描述问题;2.把求...原创 2018-03-18 16:52:41 · 515 阅读 · 0 评论 -
acm集训队课程设置--第七节课
acm集训队课程设置--第七节课 本节内容:组合和博弈 入门例题:取石子游戏(2516)取球游戏一(文章第十题):https://blog.csdn.net/xiao__jia__jia/article/details/79694452 取球游戏二(文章第九题):https://blog.csdn.net/xiao__jia__jia/article/details/78591575...原创 2018-03-08 23:51:31 · 263 阅读 · 0 评论 -
acm集训队课程设置--第六节课
acm集训队课程设置--第六节课本节内容:关于图论的学习入门:简单并查集(1272),最小生成树(1863),最短路径(1142,1162)进阶:图的深度和广度优先遍历,最短路径什么是并查集?英文:DisjointSet,即“不相交集合”将编号分别为1…N的N个对象划分为不相交集合,在每个集合中,选择其中某个元素代表所在集合。常见两种操作: 合并两个集合 查找某...原创 2018-03-08 23:49:49 · 347 阅读 · 0 评论 -
acm集训队课程设置--第八节课
acm集训队课程设置--第八节课 本节主要内容:关于数论的学习。实现进制转换,最大公约数、最小公倍数求法等,还有大数相加减乘除,素数问题,斐波那契数列,容斥定理;进制转换n进制小数将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。 例如:若十进制小数为0.795,则输出: 十进制正小数 0.795000 转换成 2 进制数为: 0.11001011...原创 2018-03-08 23:47:50 · 434 阅读 · 0 评论 -
acm集训队课程设置--第五节课
acm集训队课程设置--第五节课本节课的内容:递归和递推,动态规划一.递归 1、定义 (什么是递归?) 在数学与计算机科学中,递归(Recursion)是指在函数的定义中使用函数自身的方法。实际上,递归,顾名思义,其包含了两个意思:递 和 归,这正是递归思想的精华所在。2、递归思想的内涵(递归的精髓是什么?) 正如上面所描述的场景,递归就是有去(递去)有回...原创 2018-03-08 23:39:58 · 470 阅读 · 0 评论 -
acm集训队课程设置--第三节课
acm集训队课程设置--第三节课 本节大概内容:栈和队列,二叉树的遍历,图的遍历(深搜,广搜和最短路径问题),拓扑排序,哈夫曼树,理解这些数据结构的性质。1.栈原c++栈的方法的基本用法: push(): 向栈内压入一个成员;pop(): 从栈顶弹出一个成员;empty(): 如果栈为空返回true,否则返回false;top(): 返回栈顶,但不删除成员;size(): 返回栈内元素...原创 2018-03-08 23:17:18 · 340 阅读 · 0 评论 -
acm集训队课程设置--第二节课
acm集训队课程设置--第二节课概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。1.插入排序—直接插入排序基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插...原创 2018-03-08 20:20:50 · 413 阅读 · 0 评论