07 2016 档案

摘要:题意:一组男生女生在排队,每秒钟所有排在女生左边的男生与她相邻的女生交换位置,求女生全部换到男生前面的时间。 思路: 解法一:队伍最前面的那些女生不需要交换,后面的女生有两种状态:畅通无阻,前一个女生还没到达指定位置时到达前一个女生的下一个位置(被阻),花费时间分别为前面的男生数与前一个女生的时间+ 阅读全文
posted @ 2016-07-30 10:28 _LinesYao 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题意:物品有三个属性,价格p,解锁钱数下线q(手中余额>=q才有机会购买该商品),价值v。钱数为m,问购买到物品价值和最大。 思路:首先是个01背包问题,但购买物品受限所以应先排序。考虑相邻两个物品1和2,假设先购买1再购买2,若 阅读全文
posted @ 2016-07-28 17:00 _LinesYao 阅读(120) 评论(0) 推荐(0) 编辑
摘要:题意:两个数组a,b,每次操作可将其中一个数组的一个数字加1或减1,求最小操作次数使得a数组的最小值大于等于b数组的最大值。 思路: 解法一:考虑最终状态,假设a为数组a中最小的数,b为数组b中最大的数,存在中间值c,对于a要做c-a次操作,对于b要做b-c次操作使得a=b消灭一对不符合的数,每次总 阅读全文
posted @ 2016-07-28 11:59 _LinesYao 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题意:有编号1到n的n台机器,有m次操作,操作为开启或关闭机器,成功开启机器k的条件为k和所有已经开启的机器编号互质。 思路:vis[i]数组存放占领i这个位置的机器编号,因为所有开启的机器的编号互质,所以每个i至多只被1台机器占领。open数组保存机器的开启状态。 开启编号为k的机器操作:枚举k的 阅读全文
posted @ 2016-07-26 23:41 _LinesYao 阅读(196) 评论(0) 推荐(0) 编辑
摘要:题意:深度为n的二叉树每个节点上有个开关,初始为关闭,每当小球落在节点上都会改变开关的状态,问编号为m的小球最终会落在哪里。 思路:对于二叉树的节点k,左节点右节点的编号为2k,2k+1。只需由最后一个小球编号的奇偶性直接模拟。 阅读全文
posted @ 2016-07-26 22:47 _LinesYao 阅读(83) 评论(0) 推荐(0) 编辑
摘要:http://codeforces.com/problemset/problem/439/C 题意:给你n个数,分成k个非空集合,其中有p个集合的元素和为偶数,其余k-p个集合的元素和为奇数。 思路:考虑两个数和的情况,奇+奇=偶,奇+偶=奇,偶+偶=偶。所以解决方案不存在的情况为 (oddnum< 阅读全文
posted @ 2016-07-26 22:09 _LinesYao 阅读(268) 评论(0) 推荐(0) 编辑
摘要:题意:只能对相邻的两个数字进行交换,允许k次交换,输出交换能得到的最大的数。从最高位开始寻找最优,每次寻找能交换的步数里交换到的最大值进行交换。 阅读全文
posted @ 2016-07-26 21:50 _LinesYao 阅读(90) 评论(0) 推荐(0) 编辑
摘要:贪心 题目自身限制每个字母最多出现在一个限制词语中,给出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) 编辑