题意:有一个有线电视网络叶子结点是用户,每个用户有一个愿意支付的金额。然后每条边都有话费。问公司在不亏本的情况下最多能满足多少用户。思路:dp[v][j]
= max(dp[v][j], dp[v][j-k]+dp[x][k]-edge(v, x))其实就是背包问题,但是一开始TLE了一次,这里要有...
分类:
其他好文 时间:
2014-05-06 00:04:24
阅读次数:
318
题意:一棵树上问你最少切掉几条边使得能分割出一个结点数正好为k的子树。思路:dp[i][j]表示以i为根切掉j个结点最少要几条边。dp[v][j]
= min(dp[v][j], dp[v][j-k] + dp[x][k]);代码如下: 1 dp[v]...
分类:
其他好文 时间:
2014-05-05 23:47:19
阅读次数:
370
Given two binary strings, return their sum
(also a binary string).For example,a ="11"b
="1"Return"100".思路:一个二进制字符串相加;首先从字符串的末尾开始,先二进制字符转化为数字,然后再相加;然后将...
分类:
其他好文 时间:
2014-05-05 23:10:15
阅读次数:
319
很锻炼DP/recursive思路的一道题,个人感觉DP/recursive算是比较难写的题目了。这道题解法的巧妙之处在于巧用-1,并且使用临时存储,节省了很多开支。这道题同时也在Career
Cup上面出现过这道题我两次调试通过,第一次错是因为input{}, output false, expe...
分类:
其他好文 时间:
2014-05-05 22:45:10
阅读次数:
352
(最近水题刷的比较多,不过还是有些收获,所以还是做个记录比较好)
http://acm.hdu.edu.cn/showproblem.php?pid=1282
分析:
题目理解起来还是简单的,基本上有两种思路:1) 将int转为string来实现; 2)直接用int做(回文串判断,相加)
第二中思路比较直接,将一个数倒置得到新的数,然后判断是否是回文数...
分类:
其他好文 时间:
2014-05-05 13:26:07
阅读次数:
276
在发布或重启某线上某服务时常常会遇到抖动,具体表现为load和响应时间突然飙高。针对此问题作者通过抓栈分析目前响应时间过高的原因,并给出了解决思路,以及相应的实验结果。...
分类:
其他好文 时间:
2014-05-04 12:45:09
阅读次数:
260
题意:有a个村庄、b个城镇, 编号分别为:1—a , a+1——a+b 。 有双神奇的鞋,可以瞬时移动,可以使用k次,每次可以移动L , 但穿这双鞋的时候,不能经过城镇 , 问:从a+b 到 1 最短距离是多少?
刚开始看这个题时 , 一点思路都没有 , dp类型的题目做得太少了。
解法:进行状态压缩, 用点+使用鞋子的次数 , 来表示一个状态 , d[i][k] , 表示到 ...
分类:
其他好文 时间:
2014-05-04 00:21:00
阅读次数:
383
题意不说了,说下思路。
给出的关系是a要求的工资要比b的工资多,由于尽可能的让老板少付钱,那么a的工资就是b的工资+1,可以确定关系为a>b,根据拓扑排序建边的原则是把“小于”关系看成有向边,那么我们可以建边v->u。
#include
#include
#include
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-05-04 00:06:31
阅读次数:
271
By Long Luo
最近遇到一个算法题:
仿照Excel的列编号,给出一个数字,输出该列编号字符串。
例如:A对应1,Z对应26,AA对应27,AZ对应52 ......
这个题目是一个典型的26进制思路去处理,但是这个题目里面有很多陷阱,在1, 26, 52等特殊情况进行考虑,经过晚上接近1个小时的编写,完成的代码如下:
C++代码如下:
#inclu...
分类:
其他好文 时间:
2014-05-03 17:09:18
阅读次数:
344
本题有意思,是hash表的灵活运用。
思路:
1 计算好总字符数,和使用hash表A[26]记录好各个字符出现的次数
2 判断总字符是否可以被k整除,如果不可以,那么就不能分成k个子字符了
3 计算各个字符出现的次数是否能被k整除,如果不能,那么就不能分成k个子字符
4 根据字符出现的次数逐个打印...
分类:
其他好文 时间:
2014-05-03 15:43:20
阅读次数:
394