摘要: 贪心 题目自身限制每个字母最多出现在一个限制词语中,给出k个限制词语,将问题转化为k个子问题,对每个限制词语遍历给出的字符串,如限制词do,若出现连续的oddoood(连续的o和d),统计o和d出现的次数,消去较小的次数。 阅读全文
posted @ 2016-07-20 20:06 _LinesYao 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 分治三步:1.划分问题 2.递归求解 3.合并问题 (nlogn) 注意细节 1.左闭右开区间在数组分割时比较简单 2. mid=(x+y)/2; mid=x+(y-x)/2; 计算机中有差别,后者确保分界点靠近区间起点 阅读全文
posted @ 2016-07-18 09:44 _LinesYao 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 最大上升子序列解法: 1.动规转移方程 2.(nlogn) #include<cstdio> #include<algorithm> using namespace std; const int INF=1<<30; int a[1010]; int f[1010]; int main() { in 阅读全文
posted @ 2016-07-18 09:29 _LinesYao 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题意:m头牛每头牛有minspf和maxspf,n种spf为spf[i]的防晒霜每种l[i]瓶,尽可能给数量多的牛涂防晒霜,每头牛最多涂一瓶。 思路:贪心想法,实现是每次取出minspf<=spf[i]的牛加入优先队列中,优先队列以牛的maxspf为优先,给maxspf>=spf[i]且maxspf 阅读全文
posted @ 2016-07-15 00:23 _LinesYao 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 对于图的所有顶点,计算出每个顶点的度,度序列。给定一个序列判断序列是否可图。 阅读全文
posted @ 2016-07-15 00:10 _LinesYao 阅读(142) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/dm_vincent/article/details/7714519 对一个有向无环图(简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u出现在v之前。 充要条件:有向无环图。(不存在互相 阅读全文
posted @ 2016-07-13 11:53 _LinesYao 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个序列,只允许进行相邻的两两交换,给出使序列变为非降序列的操作方案。 思路:关键点是操作次数不限,冒泡排序。 #include<iostream> #include<cstdio> using namespace std; typedef long long ll; ll num[110 阅读全文
posted @ 2016-07-11 11:13 _LinesYao 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题意:每秒从最高处的杯子倒一杯酒下来,酒流的方式如图,问t秒装满酒的杯子的数目。 思路:把第一杯的值设为t,glass[i][j]=(glass[i-1][j-1]-1)/2+(glass[i-1][j])/2,统计值大于等于1的杯数。 阅读全文
posted @ 2016-05-27 09:14 _LinesYao 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 注意点:精度 阅读全文
posted @ 2016-05-19 09:35 _LinesYao 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题意:两个字符串a,b的最长公共子序列长度。 思路:f[i][j]表示a串到第i位,b串到第j位的最长公共子序列长度。 阅读全文
posted @ 2016-05-18 21:00 _LinesYao 阅读(127) 评论(0) 推荐(0) 编辑