摘要:
1 /** 2 大意: 给定小数(p/q),求其循环节的大小和循环节开始的位置 3 解法: 若出现循环 ai*2^m= aj%p; 4 即 2^m %p =1 5 若2与p 互素,则可由欧拉函数的, 6 ... 阅读全文
摘要:
1 #include 2 #include 3 using namespace std; 4 5 int f[33][33]; 6 void init(){ 7 f[0][0] =1; 8 for(int i=1;i'1'){23 for(int j=... 阅读全文
摘要:
1 /** 2 大意: 有连续的n天,每一天有一定的花费,将其分成m份,每一份占一天或者连续的几天,求这m份中的最大值 3 思路: 二分其最大上限,看在此最大上线,能分成多少份,若大于m份,说明上限过小,需要扩大上限 4 若小于m份,则说明,下限过大,需要缩小上限。 5 **... 阅读全文
摘要:
1 /** 2 大意:给定n个点,删除其中的m个点,其中两点之间距离最小的最大值 3 思路: 二分最小值的最大值---〉t,若有距离小于t,则可以将前面的节点删除;若节点大于t,则继续往下查看 4 若删除的节点大于m,说明t,过于大,需要减小;若删除的节点小于m说明t过于小了,... 阅读全文
摘要:
1 /** 2 注意: 千万得小心。。就因为一个分号,调了一个晚上。。。 3 **/ 4 #include 5 #include 6 using namespace std; 7 struct point { 8 int x,y; 9 }; 10 11 struct... 阅读全文
摘要:
1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 struct point { 8 double x,y; 9 };10 point be[100005],en[100... 阅读全文
摘要:
1 /** 2 判断直线位置关系 3 **/ 4 #include 5 #include 6 #include 7 using namespace std; 8 struct point { 9 double x,y;10 point(double x=0,double y=... 阅读全文
摘要:
大意:是否存在一条直线,使所有线段在直线上的投影至少交与一点 思路:转换为是否存在一条直线与所有的线段相交,做这条直线的垂线,那么垂线即为所求 3 **/ 4 #include 5 #include 6 using namespace std; 7 int n; 8 const double... 阅读全文
摘要:
1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 struct point{ 8 int x,y; 9 };10 11 struct line{12 point a,b;13 };14... 阅读全文
摘要:
1 Accepted 8508K 391MS C++ 2004B 2 相比下边,,优化太多太多了。。。 3 /** 4 baby-step-giant-step 因为数据量太大,,自己写hash 5 6 **/ 7 #include 8 #include... 阅读全文