第二章难度要稍微高一点,有很多以前没怎么见过的东西,所以会尽量详细地记录。计数原理:加法原理,乘法原理,容斥原理 容斥原理:即选区去重的思想。 通常实现方法是枚举子集,复杂度2n2n 排列数:Pkn=n!(n−k)!Pnk=n!(n−k)!,其中P(n,k)P(n,k)代表nn个不同的数选出kk个排成一排的方案数。 组合数:...
(8)掌握二叉树的先序、后序和中序遍历和层次遍历; (9)掌握图的DFS及连通块计数; (10)掌握图的BFS及最短路的输出; (11)掌握拓扑排序算法; (12)掌握欧拉回路算法。 【学习要求】 掌握栈和队列及其实现;掌握对比测试的方法;掌握随机数据生成方法;掌握完全二叉树的数组实现和链式表示法;掌握二叉树的先序、后序...
《算法艺术与信息学竞赛:算法竞赛入门经典》内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法,覆盖了算法竞赛入门所需的主要知识点,并附有大量习题。书中的代码规范、简洁、易懂,...
本章缺少的重要科技:Link−Cut−TreeLink−Cut−Tree,主席树,后缀自动机。基础数据结构:数组,链表,队列,栈,并查集,优先队列。例题11 猜猜数据结构(UVa11995UVa11995)直接用STLSTL的轮子模拟。 坑点:小心可能会对空的轮子执行poppop导致RERE#include <bits/stdc++.h> using namespace std; stack <int>...
(3)标记完成就DFS消除每个区域,所有的区域进行计数。 4)将珠子消除后形成的空格上方形成的珠子往下平移。(5)只要combo存在,消除,所有的combo完毕为止。 using namespace std; struct Point { int x, y; Point(int x=0, int y=0):x(x),y(y) {} Point operator=(const Point p){ x = p.x; y =...
图遍历一章是各种图算法的基础,在图遍历的基础上可以衍生各种算法,从而能够解决多种问题,这也是既往编程竞赛考察的一个重要方面。图算法一章专门介绍了图论中经典问题的相应算法和具体应用。网格一章则介绍了以各种网格(矩形网格、三角形网格、棋盘、经纬度等)为问题背景,应用前述介绍的算法和策略来解决问题的技巧。
至于使用其他编程语言比如JAVA,Python之类刷题的童鞋们,可以自行跳过这一章,下一章将会介绍数据结构基础,也就是面试题最喜欢集中考察的G点了。 Special Note: 本章读书笔记部分内容收集整理自《C++ Primer(第2版)》,版权归原书所有。 希望萌新同学们可以看一看《C++ Primer》原书,貌似已经出到第四版了的样子。这...