蓝桥杯
kent_ln
多年后
再回想年少时的迷茫和执着
或许原因都不记得了
青春就是让你张扬地笑
宫崎骏
展开
-
蓝桥杯 杨辉三角形
杨辉三角形原创 2016-10-22 14:33:14 · 391 阅读 · 0 评论 -
蓝桥杯 地宫取宝
#include #include using namespace std;#define M 1000000007 #define MAX 51 #define MK 13int val[MAX][MAX]; int dp[MAX][MAX][MK][MK]; int n,m,k; int dfs(int i,int j,int s,int v){ if (dp原创 2016-11-09 23:29:52 · 340 阅读 · 0 评论 -
蓝桥杯 格子刷油漆
#include using namespace std; #define M 1000000007 #define N 1001 long long a[N]; long long b[N]; int main(){ int n; cin>>n; b[1]=2; b[0]=1; for(int i=2;i<=n;i++){ b[i]=(b[原创 2016-11-10 20:05:41 · 274 阅读 · 0 评论 -
蓝桥杯 历届试题 幸运数
整体思路为找从1~end的幸运数,然后将在区间内的数累加为了提高效率,每次改变搜索范围#include #include using namespace std; #define MAX 1000010 int a[MAX]; int filter(int s,int e) { int k=s; int t=a[s]; for (int i=s;i<e;i+原创 2016-11-28 19:19:24 · 989 阅读 · 0 评论 -
蓝桥杯 邮局
最后两个超时,求大神解答#include #include #include using namespace std;#define MAXN 51#define MAXM 26#define MAXK 11 #define INF 100000000000 struct point{ int x,y; }home[MAXN]; double dis[MAXM][MA原创 2016-11-29 12:10:28 · 935 阅读 · 1 评论 -
蓝桥杯 历届试题 最大子矩阵
时间复杂度O(N^3) #include #include #include #include using namespace std;#define INF 800000000#define MAX 501int a[MAX][MAX]; int c[MAX]; int n,m; int maxLen(){ int ma=0,sum=0; for原创 2016-11-29 21:31:13 · 677 阅读 · 0 评论 -
蓝桥杯 历届试题 网络寻路
思路:邻接表表示,以任意数为起点,不走走过的边,可以走三步就是一种转发路径#include #include using namespace std;#define MAXN 10005#define MAXM 100005 struct node{ int to,next; }edge[MAXM]; int head[MAXN]; int cnt,sum; vo原创 2016-11-29 22:49:34 · 1283 阅读 · 0 评论 -
蓝桥杯 历届试题 九宫重排
参考:http://blog.csdn.net/u010372095/article/details/20077681 #include #include #include #include using namespace std; #define MAX 10 #define MAXK 9 #define MAXC 400000 #define MAXD 4in原创 2016-11-30 18:42:51 · 474 阅读 · 0 评论 -
蓝桥杯 历届试题 分糖果
#include using namespace std;#define MAX 102 int a[MAX]; bool Equal(int a[],int n){ for (int i=1;i<=n;i++) { if (a[1]!=a[i-1]) return false; } return true; }int main(){ int n;原创 2016-11-30 19:53:47 · 365 阅读 · 0 评论 -
蓝桥杯 历届试题 城市建设
最小生成树参考:http://www.mamicode.com/info-detail-524451.html关键点:加一个状态0,与可建码头的地区相连 思路:(1)只有道路便是连通图:考虑加码头与不加码头两种情况(2)道路之间是不连通的,只有加上码头才能连通,只考虑加上码头的情况#include #include #include using namesp原创 2016-12-01 22:47:08 · 1333 阅读 · 0 评论 -
蓝桥杯 历届试题 国王的烦恼
关键:从最大的天数往前开始建立连接图思路:以天数为表头建立邻接表 取出最大和最小的天数,从最大的天数开始往前计算,一直算到最小的天数, 如果某一天t将两个不连通的小岛连接起来则该天会收到抗议;如果某条边连接的岛是相连 ,则不做任何处理 已知n个点的最小连通图的边数最少为n-1条,当连接的边数为n-1时所有岛相连,也就是说在该天之前都不会收到抗议 ,完成检索#include #原创 2016-12-02 11:20:43 · 900 阅读 · 0 评论 -
蓝桥杯 历届试题 蚂蚁感冒
分析:(1)因为只计算数量,所以蚂蚁是掉头还是直接向前走对本题没有影响(2)如果感冒的蚂蚁方向向左: 在它左边的蚂蚁:如果向右,则会感染;如果向左则不会感染 在它右边的蚂蚁:如果向右,则不会感染 如果向原创 2016-12-02 12:10:43 · 367 阅读 · 0 评论 -
蓝桥杯 历届试题 核桃的数量
求最小公倍数,先求最大公约数(辗转相除法) #include #include using namespace std;int gcd(int a,int b){ return (a%b==0)?b:gcd(b,a%b); }int lcm(int a,int b) { if (a<b) swap(a,b); int ans=a*b/gcd(a,b); re原创 2016-12-02 17:41:42 · 359 阅读 · 0 评论 -
蓝桥杯 历届试题 翻硬币
贪心……每次只看当前是否需要翻转#include #include using namespace std; int main(){ string a,b; while (cin>>a>>b) { int s=a.size(); int count=0; for (int i=0;i<s-1;i++) { if (a[i]!=b[i]){原创 2016-12-02 17:57:06 · 368 阅读 · 0 评论 -
蓝桥杯 小朋友排队
方法一:归并 (利用归并排序的思想) 参考:http://www.cnblogs.com/Deribs4/p/4279864.html#include using namespace std;#define MAX 100001 struct node{ int h; int t; };node per[MAX],temp[MAX]; void Merge(int原创 2016-11-09 21:12:05 · 302 阅读 · 0 评论 -
蓝桥杯 连号区间数
连号区间:因为全排列数字不会重复,所以最大值减最小值+1==区间长度#include using namespace std;#define MAX 50010int a[MAX];int main(){ int n; cin>>n; int sum=0,min,max; for (int i=0;i<n;i++){ cin>>a[i]; } for (原创 2016-11-27 21:20:18 · 300 阅读 · 1 评论 -
蓝桥杯 历届试题 带分数
1.对整数部分从1~n-1进行搜索,用flag记录已经出现过的数字(!式子中不能出现0,出现给flag标记中的0赋值为1);2.分数部分,分母一定小于分子,分母长度一定小于等于分子,即分子长度一定小于等于右边总长度的一半#include #include using namespace std;#define MAX 10bool flag[MAX],copyf[MAX]; int原创 2016-11-28 12:50:53 · 1033 阅读 · 0 评论 -
蓝桥杯 关联矩阵
#include #include using namespace std; int f[101][1001]; int main(){ memset(f,0,sizeof(f)); int n,m; cin>>n>>m; int a,b; for(int i=1;i<=m;i++){ cin>>a>>b; f[a][i]=1; f[b][i]=-1;原创 2016-11-09 17:15:21 · 242 阅读 · 0 评论 -
蓝桥杯 求最大值
!!!!一定要注意排除掉a[i],b[i]全为负的情况#include using namespace std; #define INF 100005 #define NUM 101#define MAX 200000 #define PLUS 100000int a[NUM]; int b[NUM]; int dp[NUM][MAX]; int main(){ in原创 2016-11-09 12:24:38 · 737 阅读 · 0 评论 -
蓝桥杯 金明的预算方案
方法一:最容易懂的一种方法,转换为01背包思路#include #include using namespace std;#define MAX_M 32000 #define MAX 62int dp[MAX_M][MAX]; int master[MAX]; int c[MAX][3]; int tv[MAX][4]; int tw[MAX][4]; int c原创 2016-11-07 16:56:00 · 572 阅读 · 0 评论 -
蓝桥杯 八、十、十六进制转换
十六进制转十进制:#include #include using namespace std;int main(){ string a; cin>>a; unsigned int b=0; int temp=1; int n=a.size(); for (int i=n-1;i>=0;i--) { if (a[i]<='9') {原创 2016-10-22 18:29:46 · 254 阅读 · 0 评论 -
蓝桥杯 算法训练 区间k大数查询
#include #include #include using namespace std; int partion(int a[],int left,int right){ int k=a[left]; int i=left,j=right; while (i<=j) { while (i=k){i++;} while (j>=i&&a[j]<=k){j-原创 2016-10-22 19:43:19 · 309 阅读 · 0 评论 -
蓝桥杯 算法训练 最大最小公倍数
#include using namespace std; int main(){ long long n; cin>>n; long long sum; if (n==1) { cout<<1<<endl; }else if (n==2) { cout<<2<<endl; }else if (n==3) { cout<<6<<endl;原创 2016-10-22 20:11:20 · 346 阅读 · 0 评论 -
蓝桥杯 K好数
#include #include using namespace std; #define M 1000000007int f[101][101]; int main(){ int k,l; cin>>k>>l; int sum=0; for (int i=1;i<=l;i++) { for(int j=0;j<k;j++){ f[i][j原创 2016-10-22 20:43:35 · 290 阅读 · 0 评论 -
蓝桥杯 算法训练 结点选择 树形动态规划
简而言之,就是利用了广度优先搜索的思想#include #include #include using namespace std; #define MAX 100010 int head[MAX]; int f[MAX][2]; int cur=0; //v是u相连的另一点,next为与u相连的另一条边上一条边struct node{ int v,next; }原创 2016-10-23 13:58:17 · 456 阅读 · 0 评论 -
蓝桥杯 算法训练 最短路 spfa
参考自:http://www.cnblogs.com/scau20110726/archive/2012/11/18/2776124.html分成bfs与dfs两种思路方法一:bfs#include #include #include #include using namespace std; #define MAX_N 20010#define MAX_M 20001原创 2016-10-23 16:32:45 · 372 阅读 · 0 评论 -
蓝桥杯 算法训练 安慰奶牛
#include #include #include using namespace std;#define MAX_N 10010#define MAX_M 100010 struct node{ int u,v,val; }edge[MAX_M];int fa[MAX_N]; //保存根节点int c[MAX_N];//sort排序bool cmp(node原创 2016-11-04 20:44:58 · 406 阅读 · 0 评论 -
Torry的困惑(基本型)
查找某区间内的质数#include #include #include using namespace std;#define M 50000 #define MAX 0x140000bool vis[MAX]; int main(){ int n; cin>>n; for (int i=2;i<MAX;i++){ vis[i]=0; }原创 2016-11-04 22:55:20 · 246 阅读 · 0 评论 -
蓝桥杯 2的次幂表示
一遍递归一遍输出#include using namespace std; string Binary(int n){ string s=""; while(n){ s+=('0'+n%2); n/=2; } return s;}void output(int x){ string s=Binary(x); int n=s.size(); int las原创 2016-11-05 15:57:23 · 281 阅读 · 0 评论 -
算法训练 出现次数最多的整数
这道题目虽然简单,可是有坑啊,注意n的取值范围的判断,n20都是不可以的还有一个小错误,是自己的坑,忘记对最后的结果再进行一次判断,否则会漏掉最后出现的数才是出现次数的值!!!!!!!#includeusing namespace std; int a[21]; int main() { int n;cin>>n; if (n>0&&n<=20) { for(int i=原创 2016-11-04 23:17:37 · 309 阅读 · 0 评论 -
蓝桥杯 未名湖边的烦恼
一个简单的递归,考虑好出口就行#include using namespace std; int Recursion(int m,int n){ if (m<n || m==0){ return 0; } if (n==0||(m==1&&n==1)) { return 1; } return Recursion(m,n-1)+Recursion(m-1,n)原创 2016-11-05 16:14:10 · 329 阅读 · 0 评论 -
蓝桥杯 数字三角形
动态规划 f[i][j]=a[i][j]+max(f[i+1][j],f[i+1][j+1]); #include #include#include #include using namespace std; int f[102][102]; int a[102][102]; int n; int dfs(int i,int j){ if (f[i][j]>=0原创 2016-11-05 16:45:13 · 414 阅读 · 0 评论 -
蓝桥杯 最大的算式
#include #include #include #include using namespace std;int a[16]; long long f[16][15]; int sum[16]; long long dfs(int n,int k){ if (f[n][k]>=0) { return f[n][k]; } if (k>=n||k<0)原创 2016-11-05 19:24:42 · 760 阅读 · 0 评论 -
蓝桥杯 矩阵乘法
公式 C[i][j]+=A[i][k]*B[k][j]; #include #include using namespace std; int A[200][200]; int B[200][200]; int C[200][200]; int main(){ int m,s,n; cin>>m>>s>>n; memset(C,0,sizeof(C));原创 2016-11-05 19:45:03 · 301 阅读 · 0 评论 -
蓝桥杯 操作格子 线段树
第一次学习线段树参考:http://blog.csdn.net/acmman/article/details/18631017 #include #include using namespace std; #define MAX_N 400010struct Node{ int l,r; int sum,maxium; }node[MAX_N];void build原创 2016-11-06 17:01:51 · 423 阅读 · 0 评论 -
蓝桥杯 金属采集 树形动态规划
参考:http://www.myexception.cn/program/1598926.html#include #include using namespace std;#define MAX_N 100005#define NUM 11int f[MAX_N][NUM];bool vis[MAX_N];int cost[MAX_N]; int n,s,k; struc原创 2016-11-06 19:06:47 · 403 阅读 · 0 评论