摘要: RMQ 感觉线段树 也就那样儿 #include <bits/stdc++.h> using namespace std; const int maxn = 10010; int s[maxn<<2]; void up(int rt){ s[rt] = max(s[rt<<1] , s[rt<<1| 阅读全文
posted @ 2017-08-09 20:43 Draymonder 阅读(136) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> using namespace std; int n; const int maxn = 1e5+10; bool s[maxn]; void is_prime() { memset(s,true,sizeof(s)); s[0] = s[1] = 阅读全文
posted @ 2017-08-09 16:18 Draymonder 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 1081 子段求和 给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。 例如,1 3 7 9 -1,查询第2个元素开始长度为3的子段和,1 {3 7 9} -1。3 + 7 + 9 = 19,输出19。 Input 第1行:一个数N,N为数组的长度(2 <= N  阅读全文
posted @ 2017-08-09 15:42 Draymonder 阅读(314) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> using namespace std; int extgcd (int a,int b,int &x,int &y){ int d = a; if(b != 0){ d = extgcd(b,a%b,y,x); y -= (a / b)*x; } 阅读全文
posted @ 2017-08-09 15:00 Draymonder 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 思路传送门 :http://blog.csdn.net/kk303/article/details/9629329 n里面挑选m个 可以递推从n-1里面挑m个 然后n-1里面的x 可以转换成 n里面的x 的公式 x = (x+m)%n; #include <bits/stdc++.h> using 阅读全文
posted @ 2017-08-09 11:09 Draymonder 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1.题意描述 本题大致意思是讲:给定一个广场,把它分为M行N列的正方形小框。现在给定有K个拉拉队员,每一个拉拉队员需要站在小框内进行表演。但是表演过程中有如下要求: (1)每一个小框只能站立一个拉拉队员; (2)广场的第一行,最后一行,第一列,最后一列都至少站有一个拉拉队员; (3)站在广场的四个角 阅读全文
posted @ 2017-08-08 10:59 Draymonder 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 看卿学姐视频学到的题目 kruskal算法实现最小生成树 #include<bits/stdc++.h> using namespace std; const int maxn = 105; typedef long long ll; int n,m; struct edge{ int from , 阅读全文
posted @ 2017-08-07 22:53 Draymonder 阅读(182) 评论(0) 推荐(0) 编辑
摘要: const int maxn = ; int fa[maxn]; int fi(int x) { return fa[x]==x?x:fa[x]=fi(fa[x]); } void union(int x,int y) { int fx = fi(x),fy = fi(y); if(fx != fy 阅读全文
posted @ 2017-08-07 19:36 Draymonder 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 1072 威佐夫游戏 有2堆石子。A B两个人轮流拿,A先拿。每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出2堆石子的数量,问最后谁能赢得比赛。 例如:2堆石子分别为3颗和5颗。那么不论A怎样拿,B都有 阅读全文
posted @ 2017-08-07 10:48 Draymonder 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1069 Nim游戏 有N堆石子。A B两个人轮流拿,A先拿。每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N及每堆石子的数量,问最后谁能赢得比赛。 例如:3堆石子,每堆1颗。A拿1颗,B拿1颗,此时还剩1堆,所 阅读全文
posted @ 2017-08-07 10:24 Draymonder 阅读(347) 评论(0) 推荐(0) 编辑