经典题目
vufw_795
Mood decides everything.
展开
-
URAL 1326(状态压缩DP)
题目链接:URAL 1326解题思路: 状态压缩DP,也就是集合的DP,思路跟TSP问题很相似。需要注意的就是可以买多T^T代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define INF 0x3f3f3f3fusing namespace std;const int MAXN原创 2016-02-03 23:41:25 · 673 阅读 · 0 评论 -
URAL 1113(数学)
题目链接:URAL 1113解题思路: 这道题目其实是一类经典题目来着,是一道极限问题,即穿越沙漠问题,这种题目都是求在油箱容量受限的前提下,车辆如何走一段比较长的路的问题。一开始想没有想出来,后来看到这篇博客,就懂了。 这题为了使耗油量最小,很显然需要让车走最少的路程,因此必须每次启程,都能让油箱填满。所以可以使用倒推法进行求解,从最后一个油站开始,前一个油站总是要比后一个油站多储存等同于油箱原创 2016-03-01 08:54:09 · 661 阅读 · 0 评论 -
CSU_1216(异或最大值)
题目链接:CSU_1216题目简述: 经典题目,求一个数组中两个数异或运算的最大值。题目极其简单,但是要求的复杂度需要达到O(N * log(N)),还是比较难的。解题思路: 总的思路就是构建一棵0-1字典树,然后一个数让查找一个与其异或结果最大的数的效率达到O(log(N)),这里因为异或的特殊性质,可以使用贪心法则来实现。 1、0-1字典树: 这里其实是就是二叉树,之所以叫做字典树是因为原创 2015-12-20 23:19:56 · 9206 阅读 · 0 评论 -
差分约束系统(入门)
简介: 如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi<=bk(i,j∈[1,n],k∈[1,m]),则其为差分约束系统(system of difference constraints)。亦即,差分约束系统是关于一组变量的特殊不等式组。求解差分约束系统,可以转化成图论的单源最短路径问题。 观察xj-xi<=bk,会发现它类似最短路中的三角不等式d[v]<=d[u]+w原创 2016-03-04 12:08:06 · 811 阅读 · 0 评论 -
UVALIVE 3516(DP)
题目链接:UVALIVE 3516解题思路: 大白书上题目,思路当然是枚举所有情况,实现即记忆化搜索或者动态规划。具体的做法就是枚举根结点最左边的结点,右边的所有结点情况随意,递归调用即可。dp[i][j]表示以S[i]根结点的多叉树的情况代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>原创 2016-03-25 23:24:45 · 664 阅读 · 0 评论 -
大楼扔鸡蛋问题(动态规划)
题目链接:poj 3783题意分析: 经典题,紫书上的一道例题,4+2出了这道原题,我愣是以为是数学题,最后也没做出来。题意是这样的,给你N个鸡蛋(硬度一样),让你测鸡蛋的硬度,测量的方法就是从某栋M层的楼的某一层X上把鸡蛋扔下来,如果鸡蛋碎了,代表他的强度小于X;如果没碎,则强度大于等于X。我们要做的就是不断的从楼上把鸡蛋扔下来,直到找到某一层楼X,从这一层楼扔下来鸡蛋不碎掉,从X+1层扔...原创 2015-07-14 19:49:10 · 7047 阅读 · 7 评论