摘要:
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=13921392: Number TrickTime Limit:1 SecMemory Limit:128 MBSubmit:200Solved:36[Submit][Status][Web Boar... 阅读全文
摘要:
http://acm.nyist.net/JudgeOnline/problem.php?pid=78圈水池时间限制:3000ms | 内存限制:65535KB难度:4描述有一个牧场,牧场上有很多个供水装置,现在牧场的主人想要用篱笆把这些供水装置圈起来,以防止不是自己的牲畜来喝水,各个水池都标有各自... 阅读全文
摘要:
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1393http://poj.org/problem?id=2187Beauty Contest1393: Robert HoodDescriptionInputOutputSample Input5-... 阅读全文
摘要:
模板 旋转卡壳 凸包好早以前看的,现在再记下来吧,当做复习一遍。那么,先提一下最基本最暴力的求凸包直径的方法吧---枚举。。。好吧。。很多问题都可以用 枚举 这个“万能”的方法来解决,过程很简单方便是肯定的,不过在效率上就要差很远了。 要求一个点集的直径,即使先计算出这个点集的凸包,然后再枚举凸包上... 阅读全文
摘要:
模板 凸包 旋转卡壳lrj 《训练指南》 P272对于个点按照 x 从小到大排序,再按照 y 点从小到大排序,删除重复的点后,得到序列 p0,p1,p2...,把 p0 和 p1 放入凸包。 从p2开始,当新点在凸包“前进”方向的左边时继续,否则依次删除最近加入凸包的点,直到新点在左边PS:判断用叉... 阅读全文
摘要:
变量交换交换变量有很多种方法,一般分为两类,借助第三个变量和不借助第三个变量两种方式.对于ACMer 来说,下面的代码无疑是最优的。1 int main()2 {3 int a , b;4 cin >> a >> b;5 cout 2 3 int main() 4 { 5... 阅读全文
摘要:
【模板】线段相交 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 struct point 7 { 8 double x,y; 9 };10 point a[105][2];//a[i][0]代... 阅读全文
摘要:
【模板】高精度计算大数相加: 1 #include 2 #include 3 #include 4 5 void add(char a[],char b[],char back[]) 6 { 7 int i,j,k,up,x,y,z,l; 8 char *c; 9 i... 阅读全文
摘要:
【模板】快速幂取模 1 long long quickmod(long long a,long long b,long long m) 2 { 3 long long ans = 1; 4 while(b)//用一个循环从右到左便利b的所有二进制位 5 { 6 ... 阅读全文
摘要:
【模板】二分 1 int binsearch(int *t,int k,int n) 2 { 3 //t为数组,k是要查找的数,n为长度,此为升序 4 5 int low = 1,high = n,mid; 6 7 while(low<=high) 8 { 9 ... 阅读全文
摘要:
【模板】排序 1 //sort 2 #include 3 bool cmp(const int a,const int b) 4 { 5 return a>b;//降序排列 6 } 7 8 //qsort 9 #include 10 int cmp(const void *x,const ... 阅读全文
摘要:
【模板】KMP 1 int next[N]; 2 char str1[M],str2[N]; 3 //str1 长,str2 短 4 //len1,len2,对应str1,str2的长 5 6 void get_next(int len2) 7 { 8 int i = 0,... 阅读全文
摘要:
【模板】并查集 1 int find(int x) 2 { 3 int r = x; 4 while(father[r]!=r) 5 r = father[r]; 6 return r; 7 } 8 /* 9 int find(int x)10 {11 if(... 阅读全文
摘要:
【模板】各种欧几里得 1 //a > b 2 int gcd(int a , int b) 3 { 4 return b ? gcd( b , a % b ) : a ; 5 } 6 7 int lcm(int a , int b) 8 { 9 return a / gcd( a ... 阅读全文
摘要:
【模板】素数筛选 1 #include 2 3 int main() 4 { 5 int i,j,a[505]={0}; 6 for(i=1;i<=500;i++) 7 a[i]=1; 8 for(i=2;i<=500;i++) 9 if(... 阅读全文
摘要:
【模板】BFS 1 #include 2 #include 3 #include 4 using namespace std; 5 6 struct node 7 { 8 int x,y,step; 9 };10 11 char map[105][105];12 int vis[10... 阅读全文
摘要:
【模板】01背包 1 # include 2 # include 3 # include 4 # define max(x,y) x>y?x:y; 5 int v[1001];//价值 6 int w[1001];//重量 7 int dp[1001][1001]; 8 int main() ... 阅读全文
摘要:
【模板】计算1的个数 1 __int64 CountOne(__int64 n) 2 { 3 __int64 count =0; 4 if (n ==0) 5 count =0; 6 else if (n >1&& n =10)13 {14 ... 阅读全文
摘要:
【模板】最长公共子序列 1 #include 2 #include 3 #include 4 using namespace std; 5 6 char s1[1000],s2[1000]; 7 int len1,len2,dp[1000][1000],mark[1000][1000];//... 阅读全文
摘要:
【模板】最长递增子序列一般情况: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int a[1005],dp[1005],n; 7 8 int LIS() 9 {10 int i,j,ans,m;11 ... 阅读全文