摘要:
1 /* 2 博弈 3 关键态:较大数是较小数的2倍以上。 4 */ 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 using namespace std;16 typedef long long int64;17 //typedef __int64 int64;18 typedef pair PII;19 #define MP(a,b) make_pair((a),(b)) 20 const int maxn = . 阅读全文
摘要:
见代码。 1 /* 2 凸包(稳定凸包) 3 题意:给出一些点,这些点要么是凸包的顶点要么是边上的。 4 证明每条边上都至少有3个点。 5 */ 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 using namespace std; 17 typedef long long int64; 18 //typedef __int64 int64; 19 typedef pair PII; 2... 阅读全文
摘要:
1 /* 2 2-sat 3 题意:给定一个圆,圆上一些点。两点一线。现给出一些线,这些线可以在圆内连起来,也可以在圆外。 4 问有没有可能所有的线画完 且 不出现相交。 5 思路:把线画在圆内或圆外 看成一个组合。其它的则建边。 6 */ 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 using namespace std; 19 20 typed... 阅读全文
摘要:
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 using namespace std;13 14 const int maxn = 105;15 const int maxm = 1005;16 const int inf = 0x3f3f3f3f;17 const double pi = acos(-1.0);18 const double eps = 1e-8;19 20 struct Ed. 阅读全文
摘要:
1 /* 2 贪心。 3 题意:给定一些点 一些边 点和边都有价值。现在A B 选点。求A-B的maxVal 4 思路:分割边。边的1/2分给两个端点。 5 如果这两个点被同一个人取,则ok;否则 做减法也行,对题意无影响。 6 */ 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 #include16 #include17 using namespace std;18 typedef long long int64;19 //typedef __int... 阅读全文
摘要:
见Goolglehttp://zh.wikipedia.org/zh-cn/%E6%95%B4%E6%95%B8%E5%88%86%E6%8B%86 1 /* 2 数学公式 3 ans[i]:i可以有ans[i]种方法得到。(由1-i的数相加) 4 */ 5 #include 6 typedef long long int64; 7 const int maxn = 100000; 8 const int64 mod = 1000000007; 9 int64 ans[ maxn+15 ];10 void init(){11 int64 flag,k;12 ans[ 0 ] =... 阅读全文
摘要:
dp[i][j]:从前i个中挑出某些且cost不超过j的最大val。dp[i][j]:应该有1到i-1的dp[k][j-?]来更新!! 1 /* 2 DP 3 dp[i][j]:从前i个中挑出某些且cost不超过j的最大val。 4 */ 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 using namespace std;16 typedef long long int64;17 //typedef __int64 阅读全文
摘要:
思路是想到了一些 不过愣是没敢写。。。。。。。。。。。 1 /* 2 题意:给定一个整数n(2 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 using namespace std;13 typedef long long int64;14 //typedef __int64 int64;15 const int maxn = 105;16 const int inf = 0x7fffffff;17 const double pi=acos(-1.0);18 const doubl. 阅读全文
摘要:
题意:一个空平面,每次增加一个点,其坐标根据上一个点算出:(x[i-1] * Ax + Bx ) mod Cx,(y[i-1] * Ay + By ) mod Cy求出现有点集中的最近点对的距离的平方,共增加n个点,求每次求得的平方的和http://blog.csdn.net/liuledidai/article/details/9664031 1 /* 2 set+最近点对 3 每次对于一个新插入的点,找出x与之最近的,然后分别向两侧搜 4 题意:一个空平面,每次增加一个点, 5 其坐标根据上一个点算出:(x[i-1] * Ax + Bx ) mod Cx,(y[i-1] * Ay + By 阅读全文
摘要:
1 /* 2 状态压缩DP 3 dp[ i ]:达到i状态的最小step。 4 题意:每次可以去掉一个回文串,求最少几步能取完。 5 */ 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std; 15 typedef long long ll; 16 //typedef __int64 int64; 17 const int maxn = 18; 18 const int inf = 0x3f3f3f... 阅读全文