View Code dp[i][j]>?=dp[i][k]+dp[k+1][j];if(s[i]=='('&&s[j]==')'||s[i]=='['&&s[j]==']') dp[i][j]=max(dp[i][j],dp[i+1][j-1]+2);转移过程#include<stdio.h>#include<string.h>#define max(a,b) a>b?a:bint dp[110][101];char s[110];int main(){ char Read More
posted @ 2011-10-09 20:28 Because Of You Views(252) Comments(0) Diggs(0) Edit
View Code 把向量旋转到一个圆内,三点确定一个圆#include<stdio.h>#include<math.h>#include<stdlib.h>const double pi=acos(-1.0);const double eps = 1e-8;struct Line { double a, b, c;};struct Point { double x, y; Point operator - (const Point& t) const { Point tmp; tmp.x = x - t.x; tmp.y = y -... Read More
posted @ 2011-10-09 18:18 Because Of You Views(334) Comments(0) Diggs(0) Edit
顶点连通度:即最少去掉几个点使得图不连通设想两个不相邻的点u,v;从u到v的两条没有公共内部顶点的路径,互称为独立轨,;u到v独立轨最大的条数,记作P(u,v)所以要想图不联通,应该在每条独立轨上都去掉一个点(不能随便去),所以顶点连通度就是最大独立轨数目的最小值注意,如果图是完全图,应该去掉所有的点怎么求两点间(A,B)的最大独立轨P(A,B)呢?1、把每个点都拆成两个点,之间连一条容量为1的边u'---u",原图中的每条边e=(u,v)在新网络中有两条弧e'=<u",v'>和e"=<v",u'> Read More
posted @ 2011-10-09 12:44 Because Of You Views(644) Comments(1) Diggs(0) Edit