状态压缩dp+spfa解斯坦纳树
枚举子树的形态 dp[i][j] = min(dp[i][j], dp[i][k]+dp[i][l]) 其中k和l是对j的一个划分
按照边进行松弛
dp[i][j] = min(dp[i][j], dp[i'][j]+w[i][j])其中i和i'之间有边相连
#include
#include
#include
using name...
分类:
编程语言 时间:
2014-10-17 11:57:51
阅读次数:
235
扩展扩展能够让我们给一个已有的类、结构体、枚举等类型加入?新功能,包含属性和方法,甚至是构造器,下标,支持协议等等。。。甚至是我们拿不到源码的类、结构体、枚举,我们依旧能够给它加扩展。。。看到这里的时候,我还有点小激动呢。。。但是淡定下来之后,认为这TMD就是个大大的飞线,飞线,飞线。。。这让我们的...
分类:
编程语言 时间:
2014-10-17 09:59:11
阅读次数:
175
数组可以被foreach语句遍历数组中的元素,原因是数组可以按需提供一个叫做枚举数(enumerator)的对象.枚举数可以依次返回请求的数组的元素.对于有枚举数的类型而言,必须有一个方法来获取它们.在.NET中获取一个对象枚举数的标准用法是调用对象的GetEnumerator方法.实现GetEnu...
分类:
编程语言 时间:
2014-10-17 03:34:33
阅读次数:
350
题目大意:给你一个N*N的图让你到达所有的“.”点,“#”不能通过,有m组每组有一个入口,一个出口,入口可以传送到出口,不知道经过m组的先后顺序,让你求出走过所有的“.”的最小时间。
思路:先bfs出来所有的m之间的最短距离,然后dp[j][i] 表示,在j状态下开始第i步的最小路程,枚举找到一个最小的dp[1
Tunnels
Time Limit: 3000/1500 MS...
分类:
其他好文 时间:
2014-10-17 00:33:03
阅读次数:
271
先搞定这题。ZOJ1985 Largest Rectangle in a Histogram再做这题。先枚举第二个矩形对第一个矩形的偏移量(x,y),再进行2维DP,复杂度为O(n^2 *n^2),即O(n^4).#include using namespace std;const int maxn...
分类:
其他好文 时间:
2014-10-17 00:07:53
阅读次数:
405
https://oj.leetcode.com/problems/3sum/先排序。然后枚举i属于[0,n-3]的这些数作为三元组的第一个数,令x=0-a[i]。这样就变成从[i+1,n)找出两个数加起来和等于x。由于这些数是有序数,可以使用l,r指针对在两侧向中间逼近。这利用了一个事实:如果al+...
分类:
编程语言 时间:
2014-10-16 20:09:43
阅读次数:
250
c#包含两大数据类型:值类型和引用类型。值类型包括简单类型、结构体类型和枚举类型,引用类型包括自定义类、数组、接口、委托等内存基本被划分为两大部分:堆和栈。从内存分配上来看,值类型通常分配在线程的堆栈上,作用域结束时,所占空间自行释放,效率高,无需进行地址转换,而引用类型通常分配在托管堆上,由GC来...
假设一个变量你须要几种可能存在的值,那么就能够被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也能够说是可能的值一一例举出来。 举个样例来说明一吧,为了让大家更明确一点,比方一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么....
分类:
编程语言 时间:
2014-10-16 15:58:42
阅读次数:
228
题目大意:给定n个数字,求这些数字的全排列中有多少数能被d整除
令f[i][j]为状态为i,余数为j的方案数
枚举最高位转移
小心爆int
#include
#include
#include
#include
using namespace std;
int n,d,ans,f[1<<10][1<<10],digit[1<<10],tens[10],cnt[10],factorial[1...
分类:
其他好文 时间:
2014-10-16 10:38:52
阅读次数:
131
题意:求点联通度首先看了别人的题解还是不晓得只枚举汇点的原因觉得行不通关于求点联通度的建图方法 转自http://hi.baidu.com/lerroy312/item/5a5f36f2f5bba61bcf9f322e点连通度的定义:一个具有N个点的图G中,在去掉任意k-1个顶点后(1=2,则任意K...
分类:
Web程序 时间:
2014-10-16 01:11:11
阅读次数:
372