- 博客(4)
- 问答 (1)
- 收藏
- 关注
原创 Light OJ 1088 Points in Segments-二分(水)
题意:有p个点,q条线段(x,y),求每条线段上各有多少个点。输入的点按照升序输入且不重复。 分析:裸的二分查找。对于每条线段找到>=x的最小值的位置和 代码: #include #include #include using namespace std; int t,p,q; int a[100005]; int f(int x,int y) { int l=0; int r=p-1;
2015-09-15 17:57:50 619
原创 POJ 3104 Drying-二分答案
题意:有n件衣服需要晒干,每件有a[i]的水分,干燥有两种方式:1.自然风干,每分钟水分-1;2.用机器,每分钟只能用于一件衣服,且每件衣服水分-k。求弄干这n件衣服需要的最少的时间。 分析: 答案肯定在0~max(a[i])内,所以二分这个区间。然后检验在mid的时间内能否把n件衣服干燥,这个判断函数的核心是计算式:tot+=ceil(double(a[i]-mid)/double(k-1)
2015-09-11 09:49:16 651
原创 POJ 2245 Lotto-DFS-(回溯法)
题意:给定一个长度为k的数列,数列中的每个数都不相同且递增,现在要从数列中选出6个数字,按字典序递增输出所有的选择。(6 分析: 看题目要求和k的数据范围就知道是一个dfs回溯法求各种组合。 代码: #include #include #include #include using namespace std; int k,a[20]; int vis[20]; int ans[20];
2015-09-09 17:17:03 909
原创 POJ 1564 Sum It Up -dfs(回溯法)
题意:给定一个数字t和一个长度为n的数列,求选择数列中的一些数字使之加起来的和是t,按照字典序递减的顺序输出每种选择。 分析: 就是一个暴力枚举,用回溯法(借助dfs)。 因为要求以字典序递减顺序输出,又因为已知输入的数列是按非增输入的,所以枚举的时候直接先选前面的数就行了。 另一个要处理的就是去重。因为输入的数列中可能有重复的数,所以可能会生成重复的一种解,用vector数组保存所有的解
2015-09-08 17:12:29 629
空空如也
c++实现createprocess
2015-04-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人