摘要:
设串C的第一个字母在串A中出现的位置是stA, 串C的最后一个字母在串A中出现的位置是edA。设串C的第一个字母在串B中出现的位置是stB, 串C的最后一个字母在串B中出现的位置是edB。求出每一对合法的(stA, edA),(stB, edB)对每一组( stA[i], edA[i] ) 和 ( stB[j], ed[j] ), 求串A[0,stA[i]-1]和串B[0, stB[j]-1]的最长公共子序列长度L1,求串A[edA[i]+1, lenA-1]和串B[stB[j]+1, lenB-1]的最长公共子序列长度L2, 答案为max( lenC+L1+L2 )……现在看看自己赛场上写的 阅读全文
posted @ 2013-08-15 23:04
冰鸮
阅读(325)
评论(0)
推荐(0)
摘要:
负载是否平衡只与前两列有关,剩下的只要与前两列不重复就随便放。第一列我们按1-n这样循环放,第二列每次找个数最少的那个服务器放。#include #include #include using namespace std;const int MAXN = 110;int N, M;int mat[MAXN][MAXN];int cnt[MAXN];int ori[MAXN];bool vis[MAXN];void show(){ for ( int i = 1; i N ) j = 1; } solved(); show(); } ... 阅读全文
posted @ 2013-08-15 21:32
冰鸮
阅读(178)
评论(0)
推荐(0)
摘要:
1.三角形的所有端点2.过所有三角形的端点对所有圆做切线,得到所有切点。3.做任意两圆的外公切线,得到所有切点。对上述所有点求凸包,标记每个点是三角形上的点还是某个圆上的点。求完凸包后,因为所有点都是按逆时针(或顺时针)排好序的,如果相邻两点在同一圆上,那么求这段圆弧的距离,否则求这段直线的距离。最后得到所有周长。#include #include #include #include #include using namespace std;const double eps = 1e-9;const double PI = acos(-1.0);const int MAXN = 60;stru 阅读全文
posted @ 2013-08-15 21:27
冰鸮
阅读(3750)
评论(0)
推荐(0)

浙公网安备 33010602011771号