摘要: 题目质量非常好 题意很简单,用的知识点也很简单 拓扑排序+ 优先队列 也可以在杭电上提交 bestcoder round1 逃生 一个朴素的想法: 正常建图 , 先把入度为0的点加入优先队列,小的在前,直接拓扑排序 BUT WA WA的毫无情谊 为什么呢? 参考这位大佬的博客 http://blog 阅读全文
posted @ 2017-10-31 14:54 小螺号打豆豆 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 数量规模不超过20时 要存储每个状态取或不取的状态时可以用状态压缩。 所谓状态压缩,就是用二进制数表示集合 用1代表有该元素,0代表没有该元素 {100101}=37 表示集合中有第1,3,6个元素。 用状压dp存储状态消耗的空间是2^n 例题1: 有一个n*m的矩阵 其中有的格子可以选,有的不能选 阅读全文
posted @ 2017-10-17 21:21 小螺号打豆豆 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 何为子序列? 子序列是 从原序列取任意多项 不改变它们的顺序 得到序列 最长上升子序列是: 取出的子序列元素大小从小到大 一个O(N^2)的算法 状态 d[ i ] 表示 以第i个元素为结尾 得到的上升子序列的最大长度 状态转移方程: d[ i ] = d[ j ] +1 (a [ j ] < a[ 阅读全文
posted @ 2017-10-17 20:38 小螺号打豆豆 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 2017-10-1719:26:55 01背包是dp入门经典问题,问题的原型是这样的: 给定n个物品,每个物品都有一定的价值和体积 , 你有一个容积为V 的背包 , 你要用这个背包装价值尽量大的物品(毕竟白捡,自然是捡的越多越好)。 每件物品只有两种选择: 选 或是 不选 因此这个问题被称为01背包 阅读全文
posted @ 2017-10-17 19:27 小螺号打豆豆 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 入门manacher最好文章:https://segmentfault.com/a/1190000003914228 我整理了模板代码:HDOJ3068马拉车模板 1 //讲解 https://segmentfault.com/a/1190000003914228 2 //manacher 算法模板 阅读全文
posted @ 2017-08-05 21:30 小螺号打豆豆 阅读(292) 评论(0) 推荐(0) 编辑
摘要: URAL1114 题目大意: 有N个盒子,有红色和蓝色两种颜色的球。红球有A个,篮球有B个。现在随意的向盒子里放球, 每个盒子可以放一种颜色的球,也可以放两种颜色的球,也可以不放球。球不必全都放进盒子里。问:总共有多少种方法。 状态dp[i][j][k] 表示向i个盒子里放j个篮球和k个红球的方案数 阅读全文
posted @ 2017-05-26 20:59 小螺号打豆豆 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 这题递推到了n-4项,值得记录。 问题描述:给n个取值为1或0的数,要求组成的序列中1必须连续,问能组成多少个这样的序列。 对前几项很容易写出来: 1:0 2:00 11 3:000 011 110 111 4:0000 0011 0110 1100 0111 1110 1111 f[1]=1;f[ 阅读全文
posted @ 2017-05-26 19:40 小螺号打豆豆 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 抽象类的意义:为一个类群提供共同的接口(操作),是实现多态的方式,使程序结构清晰,便于理解和维护。 抽象类中应只含有成员函数,不应包含数据成员。 抽象类的基本组成形式: 纯虚函数:virtual 函数原型 =0; 通过纯虚函数,使得基类指针能够确认类具有该函数,从而实现多态。 具有纯虚函数的类成为抽 阅读全文
posted @ 2017-05-22 19:27 小螺号打豆豆 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一个经典的组合数学问题。求解方法:递推。 第一类斯特林数:n个数摆成m个环,有多少种方法?数各不相同。 s[i][j]表示i个数摆成j个环 的方法数目。 递推:1,摆第n+1个数时,如果前n个数摆成了m个环,那么要在环中插入一个数,总数目是s[n][m]*n; 2,如果前n个数摆成了m-1个环,方法 阅读全文
posted @ 2017-05-22 18:35 小螺号打豆豆 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 欧拉路,欧拉回路,讲的实际上就是一笔画的问题。 给定n个点,m条边,如果能一笔把所有边都连上就是欧拉路,如果起点和终点是同一点,就是欧拉回路。 欧拉路的特征:对于无向图,如果所有点的度都是偶数,那么任意点都可以作为欧拉路的起点;如果存在两个点的度是奇数,其他点的度都是偶数,那么这两个分别作为欧拉路的 阅读全文
posted @ 2017-05-21 20:24 小螺号打豆豆 阅读(195) 评论(0) 推荐(0) 编辑