自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 HOJ2544

最长上升子序列(LIS)的nlogn算法。用dp[i]来表示长度为i的LIS末尾数字的最小值。每输入一个数,就把它插到dp数组合适的位置,而dp[]一定是有序的(因为每一步更新的保证),因此可以二分,用logn的复杂度就可以完成插入(准确地说是更新)。这个链接里讲得比较清楚:http://www.felix021.com/blog/read.php?1587#include

2015-02-22 21:25:27 390

原创 HDU 2955, 3496 兼作01背包总结

HDU 2955这道题如果把被抓概率当作背包容量,将会十分麻烦,因为概率不一定是2位小数,放大后空间和时间上都过不去。这时候需要转化,我们可以求盗取i单位钱不被抓获的的可能性最大值,容量变为盗取的钱数,问题就好解决了。#include #include #include using namespace std;int main(){ int t; scanf("

2015-02-15 22:04:52 404

原创 HOJ1215 HDU1203

两道题都是01背包的入门题。共同点:求放入背包物品的最小值。区别:前者的容量有下限(这和一般的背包相反)。有一个tip:使用memset函数要注意,它并不是简单的初始化,慎用。HOJ1215转化为求”使得血量达到100所消耗分数的最小值“#include #include #include using namespace std;const int INF = 0x

2015-02-13 22:21:39 356

原创 Codeforces 510C

拓扑排序模板题,本身没什么好说的,但是刘汝佳在白书中用到一个技巧,就是一个数组可以表示结点的三种状态:0代表未被访问过,1代表已经访问过,-1代表正在访问。#include #include using namespace std;int c[30], gra[30][30];int topo[30], cnt;int dfs(int u){ c[u] = -1;

2015-02-11 17:02:14 450

原创 HDU 3342

这题没什么还说的,拓扑排序判断回路模板。#include #include #include using namespace std;bool judge(int v[105][105], int d[105], int n){ for(int i = 0; i < n; i++){ int tmp = n; for(int j = 0

2015-02-05 20:34:26 290

原创 ZOJ1094 Matrix Chain Multiplication

栈的入门题,比较经典。题意:给出一个矩阵乘法表达式,判断运算是否合法,若合法则输出乘法运算的次数。思路:乘法运算次数很好解决,关键是得到正确的运算顺序。根据题意,()之间有两项相乘,因此每遇到一个字母,就压入栈;一旦来到")",表明有两项需要相乘,那么取出矩阵栈顶的两项,判断是否合法,把相乘的结果压入栈中。代码

2015-02-01 21:42:00 462

原创 POJ3258 River Hopscotch

二分+贪心

2014-11-02 12:19:07 348

原创 POJ1050 HOJ2558 TO the max

挺不错的dp基础题,可以作为模型

2014-10-27 21:37:59 387

原创 POJ1011 HOJ1049 Sticks

很喜欢这种题,简洁,易懂一年前就有学长推荐

2014-10-26 13:09:33 399

原创 HOJ 1005 ZOJ 1196 Fast food

初拿到这道题是一个多月前的事了。当时

2014-05-07 11:31:07 672

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除