题目链接:hdu 4803 Poor Warehouse Keeper
题目大意:有以个屏幕可以显示两个值,一个是数量x,一个是总价y。有两种操作,一种是加一次总价,变成x,x+y;一种是加一个数量,这要的话总价也会相应加上一个的价钱,变成x+1,y+y/x。总价显示的为取整后的整数,小数部分忽略。给定一个目标x,y,初始状态为1,1,求最少需要多少次可以目标状态,不可以达到的话输出-1....
分类:
其他好文 时间:
2014-05-18 18:46:36
阅读次数:
276
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4804
题意:给定一个图,0是不能放的,然后现在有1X1和1X2方块,最后铺满该图,使得1X1使用次数在C到D之间,1X2次数随便,问有几种放法
思路:插头DP的变形,只要多考虑1X1的情况即可,然后DP多开一维表示使用1X1的个数
代码:
#include
#include
#includ...
分类:
其他好文 时间:
2014-05-18 18:21:46
阅读次数:
208
题目:给定一个数组和一个目标值,返回所有不重复的3元组,每个元组的和等于目标值,且元组中,各元素按飞递减顺序。
先对其进行排序,在利用2sum,在2sum中,要求和为0,这里可以将数组中的元素的相反数作为和,找到另外两个数,那么三者的和为0。
在2sum中,经过排序后,总的时间复杂度是排序算法的复杂度占主导O(NlogN),在查找时是遍历数组,复杂度为O(n)。那么在3sum中,首先进行排序,...
分类:
其他好文 时间:
2014-05-18 14:02:28
阅读次数:
249
题目:给一个数组和给定的目标值,要求在数组里找出三个元素,这三个元素的和最接近目标值,当然等于是最好的。
用3sum的方法,把判定条件作些修改。
int twoSum(vector &num, int start, int target)
{
if(num.size() = num.size())
return -target;
int head = start;
int t...
分类:
其他好文 时间:
2014-05-18 10:49:12
阅读次数:
217
题目描述:
给定一个n*m的迷宫,如
S..
..#
E.E
其中,S代表开始位置,#代表不可行走的墙,E代表出口。
主人公从开始位置出发,每次等概率的随机选择下一个可以行走的位置,直到到达某一个出口为止。
现在他想知道,在这一概率事件中,它从开始位置走到某一个出口的期望步数是多少。
输入:
输入包含多组测试用例,每组测试用例由两个整数n,m(1
接下去...
分类:
其他好文 时间:
2014-05-18 10:34:57
阅读次数:
260
【题目】
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.
【题意】
判断给定的字符串是否是合法的...
分类:
其他好文 时间:
2014-05-18 10:08:11
阅读次数:
327
题目链接:hdu 4811 Ball
题目大意:有三种颜色的球若干,每次向桌子上放一个球,保证是一条序列,每次放球的得分为当前放入序列的球的前面有多少种不同的颜色a,后面的有多少种不同的颜色b,a+b。问说给定球的数量后,最大得分为多少。
解题思路:因为放球顺序是自己定的,所以我们可以尽量早得构造一个序列,使得后面放入球的得分均保持在峰值。那么求峰值就要根据球的数量来决定。我们叫得分为...
分类:
其他好文 时间:
2014-05-18 10:01:02
阅读次数:
192
【题目】
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
"((()))", "(()())", "(())()", "()(())", "()()()"
【题意】
给定n对括号,输出所有可行的括号组合字符串。所谓合法,就是可以Valid Pare...
分类:
其他好文 时间:
2014-05-18 09:06:41
阅读次数:
266
题目链接:点击打开链接
题意:给定二维平面上的n个点
从最左端点到最右端点(只能向右移动)
再返回到到最右端点(只能向左移动,且走过的点不能再走)
问最短路。
dp 点击打开链接
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#de...
分类:
其他好文 时间:
2014-05-18 08:57:27
阅读次数:
258
线程是一种使程序在同一时间做多件事的机制,和进程一样是并发执行的。linux内核调度为每个线程分配一个时间片,使用完后等待下次调度。和进程相比,线程是一种更小的执行单位。
每个进程启动后都会有一个线程在运行,称为主线程,可以在主线程中启动多个子线程,这些线程在同一个进程中,不同线程在给定时间内执行不同的代码片段。
我们可以fork一个子进程,这个子进程就是对父进...
分类:
编程语言 时间:
2014-05-18 04:58:16
阅读次数:
307