摘要: 从下往上计算;每增加一条直线L,可以把原来的m条直线分成两部分,和L平行的K条,及和L相交的m-k条;此时有0+(k+1)*(m-k)+((m-k)条直线相交的点数),这里用set[i]保存i条直线相交的不同交点数;#include <iostream>#include <set>const int Max=10000;using namespace std;int main(){ int n; set<int> line[Max]; set <int>::iterator it;//it+1 与it++的区别 好像是不能用it+1这种情况; l 阅读全文
posted @ 2012-03-26 19:59 orangeblog 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 编辑器加载中... 阅读全文
posted @ 2012-03-26 17:23 orangeblog 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列:用一个二维数组进行处,注意处理初始边界的问题;#include<iostream>#include<string>const int Max=1000;int res[Max][Max];using namespace std;int main(){ string str1,str2; int len1,len2; while(cin>>str1>>str2) { int i,j; memset(res,0,sizeof(res)); len1=str1.length(); len2=str... 阅读全文
posted @ 2012-03-26 17:18 orangeblog 阅读(196) 评论(0) 推荐(0) 编辑