LOGO
首页 网站广场 站长动态 活跃度榜 全部站长 审核查询 逛逛好站 留言交流 提交申请 关于本站

站长动态

站长动态所展示的是已加入好站网成员站长文章
共同步 2751 篇文章
(每2小时更新一次)
Debug
入驻第1年
蓝桥杯-2019第十届蓝桥杯B组C++ 迷宫
下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可 以通行的地方。 1 2 3 4 010000 000100 001001 110000 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。 对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫, 一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。 对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式, 其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。 请注意在字典序中D<L<R<U。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 01010101001011001001010110010110100100001000101010 00001000100000101010010000100000001001100110100101 01111011010010001000001101001011100011000000010000 01000000001010100011010000101000001010101011001011 00011111000000101000010010100010100000101100000000 11001000110101000010101100011010011010101011110111 00011011010101001001001010000001000101001110000000 10100000101000100110101010111110011000010000111010 00111000001010100001100010000001000101001100001001 11000110100001110010001001010101010101010001101000 00010000100100000101001010101110100010101010000101 11100100101001001000010000010101010100100100010100 00000010000000101011001111010001100000101010100011 10101010011100001000011000010110011110110100001000 10101010100001101010100101000010100000111011101001 10000000101100010000101100101101001011100000000100 10101001000000010100100001000100000100011110101001 00101001010101101001010100011010101101110000110101 11001010000100001100000010100101000001000111000010 00001000110000110101101000000100101001001000011101 10100101000101000000001110110010110101101010100001 00101000010000110101010000100010001001000100010101 10100001000110010001000010101001010101011111010010 00000100101000000110010100101001000001000000000010 11010000001001110111001001000011101001011011101000 00000110100010001000100000001000011101000000110011 10101000101000100010001111100010101001010000001000 10000010100101001010110000000100101010001011101000 00111100001000010000000110111000000001000000001011 10000001100111010111010001000110111010101101111000 答案 1 DDDDRRURRRRRRDRRRRDDDLDDRDDDDDDDDDDDDRDDRRRURRUURRDDDDRDRRRRRRDRRURRDDDRRRRUURUUUUUUULULLUUUURRRRUULLLUUUULLUUULUURRURRURURRRDDRRRRRDDRRDDLLLDDRRDDRDDLDDDLLDDLLLDLDDDLDDRRRRRRRRRDDDDDDRR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<string> #include<vector> #include<queue> #include<set> using namespace std; #define N 30 #define M 50 char map[N][M]; int dir[4][2]={{1,0},{0,-1},{0,1},{-1,0}};//D<L<R<U char ch[4]={'D','L','R','U'}; int vis[N][M]={0}; struct point { int x,y; string road; point(int a,int b) { x=a; y=b; } }; void bfs() { queue<point> q; point p(0,0); p.road=""; q.push(p); vis[0][0]=1; while(!q.empty()) { point t=q.front(); q.pop(); if(t.x==N-1&&t.y==M-1) { cout<<t.road<<endl; break; } for(int i=0;i<4;i++) { int dx=t.x+dir[i][0]; int dy=t.y+dir[i][1]; if(dx>=0&&dx<N&&dy>=0&&dy<M) { if(map[dx][dy]=='0'&&!vis[dx][dy]) { point tt(dx,dy); tt.road=t.road+ch[i];//记录路径 q.push(tt); vis[dx][dy]=1; } } } } } int main() { for(int i=0;i<N;i++) { for(int j=0;j<M;j++) scanf("%c",&map[i][j]); getchar();//读掉回车 } bfs(); return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 2019第十届蓝桥杯B组C++ 数的分解
问题描述 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法? 注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。 答案 40785 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<string> #include<vector> #include<queue> #include<map> #include<set> using namespace std; bool check(int n) { while(n) { if(n%10==2||n%10==4) return false; n/=10; } return true; } int main() { int ans=0; for(int i=1;i<2019;i++) { if(!check(i)) continue; for(int j=i+1;j<2019;j++) { if(!check(j)) continue; for(int k=j+1;k<2019;k++) { if(!check(k)) continue; if(i+j+k==2019) ans++; } } } cout<<ans<<endl; return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 2019第十届蓝桥杯B组C++ 数列求值
问题描述 给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求第 20190324 项的最后 4 位数字。 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个 4 位整数(提示:答案的千位不为 0),在提交答案时只填写这个整数,填写多余的内容将无法得分。 答案 4659 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<string> #include<vector> #include<queue> #include<map> #include<set> using namespace std; #define MOD 10000 int num[20190324]={1,1,1}; int main() { for(int i=3;i<20190324;i++) { num[i]=(num[i-3]+num[i-2])%MOD; num[i]=(num[i-1]+num[i])%MOD; } cout<<num[20190323]<<endl; return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
阿川
入驻第1年
Jekyll 环境搭建 (Windows 10)
Debug
入驻第1年
蓝桥杯 2019第十届蓝桥杯B组C++ 年号字串
小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。 对于27 以上的数字,小明用两位或更长位的字符串来对应,例如AA 对应27,AB 对 应28,AZ 对应52,LQ 对应329。 请问2019 对应的字符串是什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <iostream> using namespace std; void solve(int n) { if (!n) { return ; } solve(n / 26); cout << (char)(n % 26 + 64); } int main() { solve(2019); return 0; } 答案:BYQ 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
数据仓库与数据挖掘 使用SQL语句实现AdventureWorksDW数据仓库的多维数据分析
准备工作 AdventureWork各种版本下载链接: 此操作数据库版本为:2014版本。 切片操作 进行切片操作切片。选择地点维、产品维和时间维查看2012年3月份的销售额 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SELECT DimProduct.EnglishProductName AS 产品名称, DimSalesTerritory.SalesTerritoryRegion AS 产品地区, MONTH(FactInternetSales.OrderDate) AS 月份, SUM(FactInternetSales.SalesAmount) AS 销售额 FROM DimProduct, DimSalesTerritory, FactInternetSales WHERE DimProduct.ProductKey = FactInternetSales.ProductKey AND DimSalesTerritory.SalesTerritoryKey = FactInternetSales.SalesTerritoryKey AND MONTH(FactInternetSales.OrderDate) = 3 AND YEAR(FactInternetSales.OrderDate) = 2012 GROUP BY DimProduct.EnglishProductName, DimSalesTerritory.SalesTerritoryRegion, MONTH(FactInternetSales.OrderDate); 切块操作 切块操作切块。选择地点维、产品维和时间维查看2011年3月份和4月份的销售额 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SELECT DimProduct.EnglishProductName AS 产品名称, DimSalesTerritory.SalesTerritoryRegion AS 产品地区, MONTH(FactInternetSales.OrderDate) AS 月份, SUM(FactInternetSales.SalesAmount) AS 销售额 FROM DimProduct, DimSalesTerritory, FactInternetSales WHERE DimProduct.ProductKey = FactInternetSales.ProductKey AND DimSalesTerritory.SalesTerritoryKey = FactInternetSales.SalesTerritoryKey AND MONTH(FactInternetSales.OrderDate)BETWEEN 5 and 7 AND YEAR(FactInternetSales.OrderDate) = 2012 GROUP BY DimProduct.EnglishProductName, DimSalesTerritory.SalesTerritoryRegion, MONTH(FactInternetSales.OrderDate); 旋转操作 旋转操作旋转。选择地点维、产品维和时间维,以地区维为主视图查看销售额 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 SELECT DimSalesTerritory.SalesTerritoryRegion AS 产品地区, DimProduct.EnglishProductName AS 产品名称, YEAR(FactInternetSales.OrderDate) AS 年份, MONTH(FactInternetSales.OrderDate) AS 月份, SUM(FactInternetSales.SalesAmount) AS 销售额 FROM -- 产品表 DimProduct, -- 销售地区表 DimSalesTerritory, -- 销售量 FactInternetSales WHERE DimProduct.ProductKey = FactInternetSales.ProductKey AND DimSalesTerritory.SalesTerritoryKey = FactInternetSales.SalesTerritoryKey AND YEAR(FactInternetSales.OrderDate) = 2011 GROUP BY DimProduct.EnglishProductName, DimSalesTerritory.SalesTerritoryRegion, YEAR(FactInternetSales.OrderDate), MONTH(FactInternetSales.OrderDate); 旋转+切块 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 SELECT DimSalesTerritory.SalesTerritoryRegion AS 产品地区, DimProduct.EnglishProductName AS 产品名称, YEAR(FactInternetSales.OrderDate) AS 年份, MONTH(FactInternetSales.OrderDate) AS 月份, SUM(FactInternetSales.SalesAmount) AS 销售额 FROM -- 产品表 DimProduct, -- 销售地区表 DimSalesTerritory, -- 销售量 FactInternetSales WHERE DimProduct.ProductKey = FactInternetSales.ProductKey AND DimSalesTerritory.SalesTerritoryKey = FactInternetSales.SalesTerritoryKey AND YEAR(FactInternetSales.OrderDate) BETWEEN 2011 AND 2014 GROUP BY DimProduct.EnglishProductName, DimSalesTerritory.SalesTerritoryRegion, YEAR(FactInternetSales.OrderDate), MONTH(FactInternetSales.OrderDate); 上钻操作 上钻。选择地点维、产品维和时间维查看不同年份的销售额 1 2 3 4 5 6 7 8 9 10 11 12 13 SELECT DimProduct.EnglishProductName AS 产品名称, DimSalesTerritory.SalesTerritoryRegion AS 产品地区, MONTH(FactInternetSales.OrderDate) AS 月份, SUM(FactInternetSales.SalesAmount) AS 销售额 FROM DimProduct, DimSalesTerritory, FactInternetSales WHERE DimProduct.ProductKey = FactInternetSales.ProductKey AND DimSalesTerritory.SalesTerritoryKey = FactInternetSales.SalesTerritoryKey GROUP BY DimProduct.EnglishProductName, DimSalesTerritory.SalesTerritoryRegion, MONTH(FactInternetSales.OrderDate); 下钻操作 下钻。选择地点维、产品维和时间维查看不同日期的销售额 1 2 3 4 5 6 7 8 9 10 11 12 SELECT DimProduct.EnglishProductName AS 产品名称, DimSalesTerritory.SalesTerritoryRegion AS 产品地区, MONTH(FactInternetSales.OrderDate) AS 月份, SUM(FactInternetSales.SalesAmount) AS 销售额 FROM DimProduct, DimSalesTerritory, FactInternetSales WHERE DimProduct.ProductKey = FactInternetSales.ProductKey GROUP BY DimProduct.EnglishProductName, DimSalesTerritory.SalesTerritoryRegion, MONTH(FactInternetSales.OrderDate); 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
阿川
入驻第1年
今日随笔
Debug
入驻第1年
软件工程 活动图习题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 UML定义了5类,10种模型图: 1.用例图:从用户角度描述系统功能,并指各功能的操作者。 2.静态图:包括类图,包图,对象图。 类图:描述系统中类的静态结构 包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构 对象图:是类图的实例 3.行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图 活动图:描述了业务实现用例的工作流程 状态图:是描述状态到状态控制流,常用于动态特性建模 4.交互图:描述对象之间的交互关系 顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互 合作图:描述对象之间的协助关系 5.实现图: 配置图:定义系统中软硬件的物理体系结构 1、下面哪个不是活动图中的基本元素( D ) A)状态、分支 B)转移、汇合 C)泳道、转移 D)用例、状态 活动、起始状态与终止状态、状态转移、判断、分叉与汇和、泳道 活动图的基本要素 2、 在下面的图例中,哪个用来描述活动(activity)(A) 3、下面哪个不是UML中的静态视图_____B______。 A.用例图 B.活动图 C.对象图 D.类图 4、下列关于活动图的说法错误的是______C_______ A一张活动图从本质上说是一个流程图,显示从活动到活动的控制流 B 活动图用于对业务过程中顺序和并发的工作流程进行建模。 C活动图中的基本要素包括活动节点、分支、分叉和汇合、泳道、对象流。 D活动图是UML中用于对系统的静态建模图 5、______A______技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。 A、泳道 B、分叉汇合 C、分支 D、转移 6、活动图的建模关键是表示出____B______,其它的建模元素都是围绕这一宗旨所进行的补充 A、控制流 B、数据流 C、状态 D、对象之间的关系 7、活动图利用_____C_____和_________来用来建模并发活动 A、分叉 监护条件 B、分支 监护条件 C、分叉 汇合 D、分支 汇合 8、 C 是UML中对系统动态方面建模的两种主要形式 A、活动图 类图 B、交互图 类图 C、活动图 交互图 D、状态图 用例图 9、活动图的___B____元素代表活动连接输入、输出值的连接点 A、转换 B、引脚 C、起始节点 D、泳道 引脚是一个对象节点,代表活动连接输入、输出值的连接点 UML之活动图 10、一个活动图中开始状态能有__A___个,结束状态能有________个。 A、1个 多个 B、1个 1个 C、多个 多个 D、多个 1个 11、UML的( C )模型图由活动图、顺序图、状态图和合作图组成。 A.用例 B.静态 C.动态 D.系统 12、要对一个企业的工作流程建模,下面4种图中的( B )是最重要的。 A 交互图 B 活动图 C 状态图 D 类图 13、使用UML对系统进行动态建模,不能使用以下哪种图( A ) A 类图 B 顺序图 C 状态图 D 活动图 1 静态图:包括类图,包图,对象图。 14、如果要对一个学校课程表管理系统的主要角色学生,老师的工作流程建模,需要使用的图是(C) A.序列图 B.状态图 C.活动图 D.协作图 15、下列对活动图的描述不正确的是(B) A.活动图是对象之间传送消息的时间顺序的可视化表示,目的在于描述系统中各个对象按照时间顺序的交互的过程 B.活动图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果 C.活动图是模型中的完整单元,表示一个程序或工作流 ,常用于计算流程和工作流程建模 D.活动图可以算是状态图的一种变种并且活动图的符号与状态图的符号非常相似 16、活动图中结束状态使用(C )表示 A.菱形 B.直线箭头 C.黑色实心圆 D.空心圆 17、下列说法不正确的是(B) A.对象流中的对象表示的不仅仅是对象自身,还表示了对象作为过程的一个状态存在 B.活动状态是原子性的,用来表示一个具有子结构的纯粹计算的执行 C.一个组合活动在表面上看是一个状态,但其本质确是一组子活动的概括 D.分支将转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果 18、下面属于活动图组成要素的有(A) A.泳道 B.动作状态 C.转换 D.活动状态 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 2017年省赛C++B组题6 最大公共子串
最大公共子串长度问题就是: 求两个串的所有子串中能够匹配上的最大长度是多少。 比如:“abcdkkk” 和 “baabcdadabc”, 可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。 下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。 请分析该解法的思路,并补全划线部分缺失的代码。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include <stdio.h> #include <string.h> #define N 256 int f(const char* s1, const char* s2) { int a[N][N]; int len1 = strlen(s1); int len2 = strlen(s2); int i,j; memset(a,0,sizeof(int)*N*N); int max = 0; for(i=1; i<=len1; i++){ for(j=1; j<=len2; j++){ if(s1[i-1]==s2[j-1]) { a[i][j] = __________________________; //填空 if(a[i][j] > max) max = a[i][j]; } } } return max; } int main() { printf("%d\n", f("abcdkkk", "baabcdadabc")); return 0; } 注意:只提交缺少的代码,不要提交已有的代码和符号。也不要提交说明性文字。 代码答案 1 a[i-1][j-1] + 1 Congruent prime sequence 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 2017年省赛C++B组题5 取数位
求1个整数的第k位数字有很多种方法。 以下的方法就是一种。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 求x用10进制表示时的数位长度 int len(int x){ if(x<10) return 1; return len(x/10)+1; } // 取x的第k位数字 int f(int x, int k){ if(len(x)-k==0) return x%10; return _____________________; //填空 } int main() { int x = 23574; printf("%d\n", f(x,3)); return 0; } 对于题目中的测试数据,应该打印5。 请仔细分析源码,并补充划线部分所缺少的代码。 注意:只提交缺失的代码,不要填写任何已有内容或说明性的文字。 解题算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include "iostream" #include "algorithm" // 求x用10进制表示时的数位长度 int len(int x){ if(x<10) return 1; return len(x/10)+1; } // 取x的第k位数字 int f(int x, int k){ if(len(x)-k==0) return x%10; return f(x/10, k); //填空 } int main() { int x = 23574; printf("%d\n", f(x,3)); return 0; } 解题答案 f(x/10, k) 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 2017年省赛C++B组题3 承压计算
X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。 每块金属原料的外形、尺寸完全一致,但重量不同。 金属材料被严格地堆放成金字塔形。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 7 5 8 7 8 8 9 2 7 2 8 1 4 9 1 8 1 8 8 4 1 7 9 6 1 4 5 4 5 6 5 5 6 9 5 6 5 5 4 7 9 3 5 5 1 7 5 7 9 7 4 7 3 3 1 4 6 4 5 5 8 8 3 2 4 3 1 1 3 3 1 6 6 5 5 4 4 2 9 9 9 2 1 9 1 9 2 9 5 7 9 4 3 3 7 7 9 3 6 1 3 8 8 3 7 3 6 8 1 5 3 9 5 8 3 8 1 8 3 3 8 3 2 3 3 5 5 8 5 4 2 8 6 7 6 9 8 1 8 1 8 4 6 2 2 1 7 9 4 2 3 3 4 2 8 4 2 2 9 9 2 8 3 4 9 6 3 9 4 6 9 7 9 7 4 9 7 6 6 2 8 9 4 1 8 1 7 2 1 6 9 2 8 6 4 2 7 9 5 4 1 2 5 1 7 3 9 8 3 3 5 2 1 6 7 9 3 2 8 9 5 5 6 6 6 2 1 8 7 9 9 6 7 1 8 8 7 5 3 6 5 4 7 3 4 6 7 8 1 3 2 7 4 2 2 6 3 5 3 4 9 2 4 5 7 6 6 3 2 7 2 4 8 5 5 4 7 4 4 5 8 3 3 8 1 8 6 3 2 1 6 2 6 4 6 3 8 2 9 6 1 2 4 1 3 3 5 3 4 9 6 3 8 6 5 9 1 5 3 2 6 8 8 5 3 2 2 7 9 3 3 2 8 6 9 8 4 4 9 5 8 2 6 3 4 8 4 9 3 8 8 7 7 7 9 7 5 2 7 9 2 5 1 9 2 6 5 3 9 3 5 7 3 5 4 2 8 9 7 7 6 6 8 7 5 5 8 2 4 7 7 4 7 2 6 9 2 1 8 2 9 8 5 7 3 6 5 9 4 5 5 7 5 5 6 3 5 3 9 5 8 9 5 4 1 2 6 1 4 3 5 3 2 4 1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 其中的数字代表金属块的重量(计量单位较大)。 最下一层的X代表30台极高精度的电子秤。 假设每块原料的重量都十分精确地平均落在下方的两个金属块上, 最后,所有的金属块的重量都严格精确地平分落在最底层的电子秤上。 电子秤的计量单位很小,所以显示的数字很大。 工作人员发现,其中读数最小的电子秤的示数为:2086458231 请你推算出:读数最大的电子秤的示数为多少? 注意:需要提交的是一个整数,不要填写任何多余的内容。 格式化金字塔 将金字塔转化为二维数组形式,见下图: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 {7}, {5,8}, {7,8,8}, {9,2,7,2}, {8,1,4,9,1}, {8,1,8,8,4,1}, {7,9,6,1,4,5,4}, {5,6,5,5,6,9,5,6}, {5,5,4,7,9,3,5,5,1}, {7,5,7,9,7,4,7,3,3,1}, {4,6,4,5,5,8,8,3,2,4,3}, {1,1,3,3,1,6,6,5,5,4,4,2}, {9,9,9,2,1,9,1,9,2,9,5,7,9}, {4,3,3,7,7,9,3,6,1,3,8,8,3,7}, {3,6,8,1,5,3,9,5,8,3,8,1,8,3,3}, {8,3,2,3,3,5,5,8,5,4,2,8,6,7,6,9}, {8,1,8,1,8,4,6,2,2,1,7,9,4,2,3,3,4}, {2,8,4,2,2,9,9,2,8,3,4,9,6,3,9,4,6,9}, {7,9,7,4,9,7,6,6,2,8,9,4,1,8,1,7,2,1,6}, {9,2,8,6,4,2,7,9,5,4,1,2,5,1,7,3,9,8,3,3}, {5,2,1,6,7,9,3,2,8,9,5,5,6,6,6,2,1,8,7,9,9}, {6,7,1,8,8,7,5,3,6,5,4,7,3,4,6,7,8,1,3,2,7,4}, {2,2,6,3,5,3,4,9,2,4,5,7,6,6,3,2,7,2,4,8,5,5,4}, {7,4,4,5,8,3,3,8,1,8,6,3,2,1,6,2,6,4,6,3,8,2,9,6}, {1,2,4,1,3,3,5,3,4,9,6,3,8,6,5,9,1,5,3,2,6,8,8,5,3}, {2,2,7,9,3,3,2,8,6,9,8,4,4,9,5,8,2,6,3,4,8,4,9,3,8,8}, {7,7,7,9,7,5,2,7,9,2,5,1,9,2,6,5,3,9,3,5,7,3,5,4,2,8,9}, {7,7,6,6,8,7,5,5,8,2,4,7,7,4,7,2,6,9,2,1,8,2,9,8,5,7,3,6}, {5,9,4,5,5,7,5,5,6,3,5,3,9,5,8,9,5,4,1,2,6,1,4,3,5,3,2,4,1} 解题算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 #include "iostream" #include "algorithm" double a[30][30]{ {7}, {5,8}, {7,8,8}, {9,2,7,2}, {8,1,4,9,1}, {8,1,8,8,4,1}, {7,9,6,1,4,5,4}, {5,6,5,5,6,9,5,6}, {5,5,4,7,9,3,5,5,1}, {7,5,7,9,7,4,7,3,3,1}, {4,6,4,5,5,8,8,3,2,4,3}, {1,1,3,3,1,6,6,5,5,4,4,2}, {9,9,9,2,1,9,1,9,2,9,5,7,9}, {4,3,3,7,7,9,3,6,1,3,8,8,3,7}, {3,6,8,1,5,3,9,5,8,3,8,1,8,3,3}, {8,3,2,3,3,5,5,8,5,4,2,8,6,7,6,9}, {8,1,8,1,8,4,6,2,2,1,7,9,4,2,3,3,4}, {2,8,4,2,2,9,9,2,8,3,4,9,6,3,9,4,6,9}, {7,9,7,4,9,7,6,6,2,8,9,4,1,8,1,7,2,1,6}, {9,2,8,6,4,2,7,9,5,4,1,2,5,1,7,3,9,8,3,3}, {5,2,1,6,7,9,3,2,8,9,5,5,6,6,6,2,1,8,7,9,9}, {6,7,1,8,8,7,5,3,6,5,4,7,3,4,6,7,8,1,3,2,7,4}, {2,2,6,3,5,3,4,9,2,4,5,7,6,6,3,2,7,2,4,8,5,5,4}, {7,4,4,5,8,3,3,8,1,8,6,3,2,1,6,2,6,4,6,3,8,2,9,6}, {1,2,4,1,3,3,5,3,4,9,6,3,8,6,5,9,1,5,3,2,6,8,8,5,3}, {2,2,7,9,3,3,2,8,6,9,8,4,4,9,5,8,2,6,3,4,8,4,9,3,8,8}, {7,7,7,9,7,5,2,7,9,2,5,1,9,2,6,5,3,9,3,5,7,3,5,4,2,8,9}, {7,7,6,6,8,7,5,5,8,2,4,7,7,4,7,2,6,9,2,1,8,2,9,8,5,7,3,6}, {5,9,4,5,5,7,5,5,6,3,5,3,9,5,8,9,5,4,1,2,6,1,4,3,5,3,2,4,1} }; int main(){ int i, j; double max=0, min=9999999; double result; for(i=1; i<=29; i++){ for(j=0; j<=i; j++){ //如果为首尾两个数值话,直接自身/2运算 if(j==0){ a[i][j] += a[i-1][0]/2.0; }else{ //正常两个数值进行向下除法加法运算 a[i][j] += a[i-1][j-1]/2.0 + a[i-1][j]/2.0; } } } for(i=0; i<=29; i++){ if(a[29][i]<min){ min = a[29][i]; } if(a[29][i]>max){ max = a[29][i]; } } printf("%lf\n",2086458231/min*max); return 0; } 题解答案 72665192664 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 2017年省赛C++B组题2 等差素数列
2,3,5,7,11,13,….是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。 2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果! 有这一理论为基础,请你借助手中的计算机,满怀信心地搜索: 长度为10的等差素数列,其公差最小值是多少? 注意:需要提交的是一个整数,不要填写任何多余的内容和说明文字。 解题算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 #include "iostream" #include "algorithm" using namespace std; typedef long long ll; bool isprime(int n){ //如果数值小于等于1并且大于二且为偶数 if(n<=1 || (n>2 && n%2==0)){ return false; } //查找最小公倍数对应的偶数序列,是否满足条件 for(ll i=3; i*i<=n; i+=2){ if(n%i==0){ return false; } } return true; } int main(){ for(int d = 2; d<1000; d++){ for(ll n = 2; n<1000; ++n){ if( isprime(n) && isprime(n + d) && isprime(n + 2*d) && isprime(n + 3*d) && isprime(n + 4*d) && isprime(n + 5*d) && isprime(n + 6*d) && isprime(n + 7*d) && isprime(n + 8*d) && isprime(n + 9*d) ){ cout << d <<endl; break; } } } return 0; } 题解答案 210 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 2017年省赛C++B组题1 购物单
问题描述 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。 小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。 现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。 取款机只能提供100元面额的纸币。小明想尽可能少取些现金,够用就行了。 你的任务是计算出,小明最少需要取多少现金。 以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 ----------------- **** 180.90 88折 **** 10.25 65折 **** 56.14 9折 **** 104.65 9折 **** 100.30 88折 **** 297.15 半价 **** 26.75 65折 **** 130.62 半价 **** 240.28 58折 **** 270.62 8折 **** 115.87 88折 **** 247.34 95折 **** 73.21 9折 **** 101.00 半价 **** 79.54 半价 **** 278.44 7折 **** 199.26 半价 **** 12.97 9折 **** 166.30 78折 **** 125.50 58折 **** 84.98 9折 **** 113.35 68折 **** 166.57 半价 **** 42.56 9折 **** 81.90 95折 **** 131.78 8折 **** 255.89 78折 **** 109.17 9折 **** 146.69 68折 **** 139.33 65折 **** 141.16 78折 **** 154.74 8折 **** 59.42 8折 **** 85.44 68折 **** 293.70 88折 **** 261.79 65折 **** 11.30 88折 **** 268.27 58折 **** 128.29 88折 **** 251.03 8折 **** 208.39 75折 **** 128.88 75折 **** 62.06 9折 **** 225.87 75折 **** 12.89 75折 **** 34.28 75折 **** 62.16 58折 **** 129.12 半价 **** 218.37 半价 **** 289.69 8折 -------------------- 需要说明的是,88折指的是按标价的88%计算,而8折是按80%计算,余者类推。 特别地,半价是按50%计算。 请提交小明要从取款机上提取的金额,单位是元。 答案是一个整数,类似4300的样子,结尾必然是00,不要填写任何多余的内容。 解题思路 其实这题就是送分的,不过就是送分了也是很容易丢分的,一不小心就少算了一个,分就没了,所以还是需要谨慎的。这个题目其实有好多的解法。 解题思路一 笨办法,就是将数值一个一个的输入并且用for循环进行sum求和运算,最后输出结果,不过不推荐,比较麻烦。 解题思路二 相信在考试的机器中都存在Office这个神奇的软件,那么恭喜你,有了Excel这个软件,哈哈,将数值复制进去,拆分单元格,之后sum函数求和,最后得到你的结果,试试吧! 解题答案 5200 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
软件工程 怎样建立甘特图
甘特图(Gantt chart )又叫横道图、条状图(Bar chart)。它是以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。它是在第一次世界大战时期发明的,以亨利·L·甘特先生的名字命名,他制定了一个完整地用条形图表进度的标志系统。由于甘特图形象简单,在简单、短期的项目中,甘特图都得到了最广泛的运用。 首先,建立基本的图表框架和时间刻度日期。您还可以选择如何设置任务栏、里程碑和其他图表元素的格式。 稍后,您可以更改日期,添加或删除任务和里程碑,以及创建任务间的依赖关系。您还可以应用配色方案,以及添加标题和图例。 在 Visio 的“文件”菜单上,依次指向“新建”和“日程”,然后单击“甘特图”。 单击“日期”选项卡,然后选择所需的选项。 注释:“主要单位”是您要在图表中使用的最长时间单位(如年或月),“次要单位”是最短时间单位(如日或小时)。 在“格式”选项卡中单击要在任务栏、里程碑和摘要栏上使用的形状和标签,然后单击“确定”。 注释:如果您不确定要选择何种格式,接受默认选项即可。您可以在以后更改该格式。 完成图表框架 建立甘特图后,将显示一个通用的图表框架。 该框架就像一幅空白画布,您可以在其上添加日程的详细信息: 在“任务名称”列中,单击某个单元格,键入特定的任务名称来代替通用文字。随着项目进展,您可以添加更多任务。 最初,“开始时间”和“完成时间”列中的日期反映了您为项目指定的开始日期。要更改该日期,请单击单元格,然后键入新日期。 “工期”列将随您键入的新开始日期和完成日期自动更新。您还可以键入开始日期和完成日期之一以及工期来指示任务的时间长度。 在“时间刻度”(标有“2000”的其下显示有月份的区域)中,“主要单位”显示在顶部,“次要单位”显示在底部。 时间刻度始于您指定的开始日期,止于您指定的完成日期。当您添加任务的开始日期和结束日期或工期时,任务栏将出现在时间刻度下面的区域中,且该区域将展开。 提示 要记录与每一任务有关的其他数据,您可以添加更多的列。例如,您可以添加“资源”列,以便您的甘特图反映出每个任务的负责人。 给甘特图添加数据 您可以将反映项目日程详细信息的数据填入框架。还可以添加并优化以下日程元素: 任务 甘特图中的每个任务在图表框架中占用一行。当您在“任务名称”列的单元格中键入任务名称时,任务工期将表示为时间刻度下方区域中的任务栏。 目的 采取的操作 更改任务名称 单击包含该任务的“任务名称”列中的单元格,然后键入新名称。 设置或更改任务工期 在包含要更改日期或工期的甘特图框架中,单击单元格,然后键入新信息。 注释 根据以下规则键入工期:1h 表示 1 小时 1d 表示 1 天 1w 表示 1 周 1m 表示 1 个月 在甘特图底部添加新任务 通过单击围绕图表的实线,选择甘特图框架。要创建新的任务行,请拖动位于框架底部中央的绿色选择手柄。 在两个现有任务之间添加新任务 右键单击要在其上方显示新任务行的行中的任意单元格,然后单击快捷菜单中的“新建任务”。 给任务添加完成百分比指示器 右键单击要显示完成百分比列的位置左侧的列顶部的阴影部分,然后单击快捷菜单中的“插入列”。 在“列类型”下,单击“完成百分比”,然后单击“确定”。 随着任务的进展,在新列中键入任务的完成百分比。完成百分比指示器便会出现在任务栏中。 删除任务 右键单击表示要删除的任务的行中的任意单元格,然后单击快捷菜单中的“删除任务”。 更改任务栏的显示方式 右键单击任务栏,然后单击快捷菜单中的“任务选项”。在列表中单击所需选项,然后单击“确定”。 里程碑 当您要在一个总括任务下合并若干附属任务时,可以使用摘要任务。 目的 采取的操作 创建带有附属任务的摘要任务 给甘特图添加摘要任务和附属任务或里程碑。 要选择附属任务,请单击包含该任务名称的单元格。要选择多个任务,请在单击时按住 Shift。 右键单击其中一个选定的任务,然后单击快捷菜单中的“降级”。 设置摘要任务的工期 在表示第一个附属任务的行中,单击“开始时间”列中的单元格,然后键入该任务的开始日期。 对于同一个附属任务,单击“完成时间”列中的单元格,然后键入该任务的结束日期。 对每个附属任务重复第 1 步和第 2 步。 注释 在为所有附属任务添加任务工期信息后,摘要任务的工期会自动填入。 降低任务级别(降级) 右键单击要降级的任务的名称,然后单击快捷菜单中的“降级”。 提升任务级别(升级) 右键单击要提升的任务的名称,然后单击快捷菜单中的“升级”。 更改摘要任务栏的显示方式 右键单击要更改的摘要任务的任务栏,然后单击快捷菜单中的“任务选项”。 在“摘要栏”下,选择摘要栏开头和结尾要使用的符号,然后单击“确定”。 依赖关系(链接任务) 当您在甘特图中创建依赖另一个任务的任务时,一个箭头将把两个任务栏连接起来。如果更改另一个任务所依赖的任务的日期或工期,则依赖任务的日期也会随之更改。 目的 采取的操作 设置任务之间的依赖关系 通过单击包含任务名称的单元格,选择要在其间建立依赖关系的任务和里程碑。要选择多个任务,请在选择时按住 Shift。 右键单击所选任务之一,然后单击快捷菜单中的“链接任务”。 中断任务之间的依赖关系 通过单击包含任务名称的单元格,选择带有要断开依赖关系的任务。要选择多个任务,请在选择时按住 Shift。 右键单击其中一个选定的任务,然后单击快捷菜单中的“取消链接任务”。 更改依赖关系箭头的样式 打开甘特图,右键单击绘图页,然后单击快捷菜单中的“S 型连接线”。 数据列 项目日程是根据特定于任务的数据创建的。任务开始日期和工期这两个因素综合在一起决定项目的完成日期。在 Visio 甘特图中,任务数据存储在数据列中。如果要在甘特图中记录并显示其他任务数据,可以添加新列。例如,您可能要添加任务注释列,您可以在其中说明复杂的任务或独特的任务;添加资源列以列出负责完成每个任务的人员;或添加完成百分比列以跟踪每个任务已完成的百分比。 默认情况下,新的甘特图在创建时将包含“任务名称”列、“开始时间”列、“完成时间”列和“工期”列。您可以重新安排现有列、添加新列或删除不再需要的列。 目的 采取的操作 重命名现有列 单击要重命名列的标题,然后键入新名称。 添加预先设计的新数据列 右键单击要显示新列的位置左侧的列标题,然后单击快捷菜单中的“插入列”。 在“列类型”列表中,单击与要添加的数据类型相对应的列名称,然后单击“确定”。 添加您自己设计的新数据列 右键单击要显示新列的位置左侧的列标题,然后单击快捷菜单中的“插入列”。 在“列类型”列表中,单击与要使用的数据格式(例如,“用户定义的小数”、“用户定义的文本”或“用户定义的时间”)相对应的一个用户定义的列,然后单击“确定”。为列键入新的名称。 注释 如果添加多个文本列,请每次选择不同的用户定义文本选项。例如,为第一列单击“用户定义的文本 1”,为第二列选择“用户定义的文本 2”,依此类推。 删除(隐藏)数据列 右键单击要删除(隐藏)的列的标题,然后单击快捷菜单中的“隐藏列”。 注释 删除或隐藏图表中的列时,该列中的数据将保存到文件中。如果以后要再次显示该列,请右键单击列标题,然后单击快捷菜单中的“插入列”。在列表中选择要再次显示的列,然后单击“确定”。 移动数据列 单击移动的列的标题。 将列拖到新的位置。 请执行下列操作之一: 要将一列移到另一列的左侧,请将要移动列的中点放置在另一列中点的左侧。 要将一列移到另一列右侧,请将要移动列的中点放置在另一列中点的右侧。 要将一列移到时间刻度区域的右侧,请将要移动列的中点放置在时间刻度区域中点的右侧。 注释 如果时间线刻度区域很长,您可能必须缩小视图,以便可以将该列移过该区域的中点。要缩小视图,请在“视图”菜单上指向“缩放比例”,然后单击所需的缩放级别。 时间刻度 时间刻度是主要时间单位和次要时间单位的刻度,它将从项目的开始日期延伸到结束日期。您可以定义时间刻度的时间单位、开始日期和结束日期以及非工作日。 您可以滚动至时间刻度上特定的日期或任务,还可以更改时间刻度区域的宽度并显示更多的日期。 目的 采取的操作 更改开始日期和/或结束日期 在甘特图中,右键单击时间刻度中的任何部分,然后单击快捷菜单中的“日期选项”。 在“时间刻度范围”下,选择新的开始日期/时间或结束日期/时间,然后单击“确定”。 更改时间单位 在甘特图中,右键单击时间刻度中的任何部分,然后单击快捷菜单中的“日期选项”。 在“时间单位”下,选择所需的“主要单位”和“次要单位”,然后单击“确定”。 设置非工作日 在甘特图中,右键单击时间刻度中的任何部分,然后单击快捷菜单中的“配置工作时间”。 为“工作日”和“工作时间”选择所需选项,然后单击“确定”。 滚动至特定的任务或里程碑 通过单击包含任务名称的单元格,选择要滚动至的任务或里程碑。 在“甘特图”工具栏上,单击“滚动至任务”按钮。 注释 如果看不到“甘特图”工具栏,请在“视图”菜单上指向“工具栏”,然后单击“甘特图”。 滚动至特定日期 在甘特图中,右键单击时间刻度中的任何位置,然后单击快捷菜单中的以下选项之一:“滚动至完成日期”- 滚动至时间刻度的结束位置。 “向左滚动一个单位”- 向左滚动一个次要单位。 “向右滚动一个单位”- 向右滚动一个次要单位。 “滚动至开始日期”- 滚动至时间刻度的开始位置。 更改时间刻度区域的宽度 在时间刻度区域顶部的灰色区域中单击一次,然后再次单击,选择时间刻度列。 向任一个方向拖动列右侧的绿色选择手柄,直到区域的宽度满足您的要求。 显示更多时间单位 单击甘特图框架周围的实线以选择该框架。 向右拖动位于框架中心偏右侧的绿色选择手柄。 注释 当您展开时间刻度以显示更多时间单位时,还可以更改与项目相关的结束日期。 打印大型甘特图 除非是为小项目创建日程,否则,您的甘特图很可能超出一页标准打印纸的边界。下表说明了您可能遇到的一些打印问题,以及为了获得所预期的效果在打印前可以采取的相应措施。 问题 解决方案 采取的操作 只打印了部分甘特图。 请确保整个图表适合绘图页的大小。 在“文件”菜单上,单击“页面设置”。 单击“页面大小”选项卡,单击“调整大小以适应绘图内容”,然后单击“确定”。 打印纸和绘图页的方向不同。 更改打印纸方向。 在“文件”菜单上,单击“页面设置”。 单击“打印设置”选项卡,单击所需的方向,然后单击“确定”。 您不知道甘特图打印时会占几页。 在打印绘图前预览其打印效果。 在“文件”菜单上,单击“打印预览”。 不知道分页符将出现在什么位置。 启用分页符,查看图表将平铺跨越多少张打印纸。 在“视图”菜单上,单击“分页符”。图表上的灰线表示进行分页的位置。 打印纸断开的位置不理想。 更改边距设置,以控制各页间的重叠。边距越大,页间的重叠越大。 在“文件”菜单上,单击“页面设置”。 在“打印设置”选项卡上,单击“设置”。 键入所需的边距设置,然后单击两次“确定”。 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 算法训练 最大最小公倍数
问题描述 已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。 输入格式 输入一个正整数N。 输出格式 输出一个整数,表示你找到的最小公倍数。 样例输入 9 样例输出 504 数据规模与约定 1 <= N <= 106。 算法分析 如果 n <= 2, 那么最小公倍数为 n 如果 n 是奇数,那么最小公倍数的最大值为末尾的三个数相乘 如果是偶数的话,如果同时出现两个偶数肯定会不能构成最大值了,因为会被除以2分两种情况: 如果 n 是偶数且不是三的倍数, 比如8,那么跳过n-2这个数而选择 8 7 5 能保证不会最小公倍数被除以2所以最小公倍数的最大值为n * (n – 1) * (n – 3) 如果 n 是偶数且为三的倍数,比如6,如果还像上面那样选择的话,6和3相差3会被约去一个3,又不能构成最大值了。那么最小公倍数的最大值为(n – 1) * (n – 2) * (n – 3) C++算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include "iostream" #include "algorithm" using namespace std; int main(){ long long n, ans; cin >> n; if(n <= 2){ ans = n; }else if(n%2 == 1){ ans = n * (n-1) * (n-2); }else if(n%3 == 0){ ans = (n-1) * (n-2) * (n-3); }else{ ans = n * (n-1) * (n-3); } cout << ans; return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
Debug
入驻第1年
蓝桥杯 算法训练 区间k大数查询
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数。 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答案。 样例输入 1 2 3 4 5 5 1 2 3 4 5 2 1 5 2 2 3 2 样例输出 1 2 4 2 数据规模与约定 对于30%的数据,n,m<=100; 对于100%的数据,n,m<=1000; 保证k<=(r-l+1),序列中的数<=106。 C++算法解析 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #include "iostream" #include "algorithm" using namespace std; int a[1001], b[1001]; bool cmp(int a, int b){ return a>b; } int main(){ int n, m; int l, r, k; int i, j; while(cin>>n){ for(i=0; i<n; i++){ cin >> a[i]; } cin >> m; while(m--){ cin >>l>>r>>k; for(j=l-1, i=0; j<r; ++j,++i){ b[i] = a[j]; } sort(b, b+i, cmp); cout<<b[k-1]<<endl; } } return 0; } 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页
阿川
入驻第1年
第一次校招复试总结
阿川
入驻第1年
ThinkPHP 笔记(路由实现与操作方法)
阿川
入驻第1年
第一次校招面试总结
Debug
入驻第1年
怎样提高博客的页面访问量
看到别人翻译的一篇文章,是讨论如何提高博客访问量的,提到的有几个方法蛮有新意,不过不赞成原文的“在聚合中只输出摘要”的方法。 十四个方法提高博客的页面访问量 作者:Darren Rowse,翻译:Lucifer 如何增加Blog的访问量已经是老生长谈了,其实对于blogger来说另一个统计数也至关重要:页面浏览量。 很多的网站流量统计服务会同时提供这两项数据- “访问量”计数的是访问者的数目,而页面浏览量算的则是这些访问者所浏览的你blog上的网页的数目。 对不同blog来说,每个访问者的页面浏览量会有所不同,但希望这个数字可以大一总不是件坏事: 回头率:读者浏览的页面越多,那么他再次造访的可能性也就更大。 收入:放在blog上的广告多是印象型的,也就是说被浏览的次数多了,被点击的可能性才越大。 写 blog 的目的不同,所以想不想把增加页面浏览量放在第一位悉听尊便。对于那些希望这项统计值上升的人,这里有14条建议: 1 内链到自己的文章 这可能是最简单的增加页面流量的办法,那就是在自己文章里加入链接,指向自己的其它文章。自卖自夸可能有点好笑,不过如果是链接到一些之前写过的相关或相同主题的文章的话,相信还是读者们所喜闻乐见的。很多的blogger在自己的blog上会多次写到同一主题,把这些文章都链到一起无疑会显出你对这个主题的探讨深度。 2 高亮显示相关的文章 不想在文章内部加入指向之前文章的链接的话,专门独立出一个“相关文章”(Related post)的部分就不失为一个好的替代方法了(你可以在侧栏里看到我的相关文章(related entries),而原文作者,ProbBlogger的主人的相关文章则放在了每篇文章之后,并以黄色为背景以突出显示)。Wordpress有专门的插件可以自动实现这一功能(名为related posts)。当然你要是想手动实现也是可以的,只要在文章结尾处加进一些和本文相关的可供读者参考的文章链接就可以了。 3 加入一个邮件订阅或文章更新提提示服务 原文作者就尝到了通过邮件订阅来提高页面浏览量的甜头,凡是通过邮件订阅的读者在收到ProBlogger的最新消息的同时都会留意到一个叫作“hot posts”的部分,在这个部分中整理收入了一周当中的最受欢迎的5篇文章。因为不同读者所关注的文章不同,所以很可能一些人只看过其中的某几篇文章,加入“hot posts”之后,这部分读者就会对没看过的那些文章产生兴趣。这样一来就在增加“访问量”的同时也增加了“页面浏览量”。其它的一些通过邮件提示更新的订阅服务应该也很有效(比如Zookoda和Feedburner就都有这个功能)。 4 在醒目位置高亮显示重要文章 ProBlogger在页面的上部有三个高亮显示的菜单栏,里面放置了一些介绍或提示性质的文章,比如什么是blog,blog设计的窍门之类。而通过作者的观察很多读者都会认真地把这里的文章看过一遍。这样一来无疑就提高了页面量。 5 “几大……” 这种“最…”或是“几几大…”的链接到多个页面的文章似乎总是会勾起读者的兴趣。比如“二十大最受欢迎文章”往往就成为初次造访的读者必看的文章,而这又指引着他们挨着个地去看,不失为一个好办法。 6 写一个系列 写一系列的文章来提高页面量有着两层意义。首先在写这个系列的这段时间里,读者会不时地被吸引回来,因为他们想看看你下一篇文章写了些什么; 其次,在你完成了这个系列之后,如果能很好的把这些文章都链在一起(参考1和2),这样一来读者就会从头到尾读完整个系列(当然是由多个页面组成的)。原文作者就写过一个初学者blog指南的系列,而每个从头到尾看完这个系列的读者都要看上30到40篇文章(汗)。 7 在首页上输出摘要 在首页上只输出摘要或是只输出文章的一部分,然后通过一个“阅读完整文章”的链接链到单独的页面,这样一来想看完整文章的就得再去单独的页面。不得不说这样一来会很烦人,所以很多人都不这么做。不过对于篇幅长的文章来说,这么做不仅使首页看起来更严谨,也在无形中增加了页面量。 8 企划或专题 和之前的系列文章相类似,比如很多主题(theme)设计者的blog就是通过建立某个主题的企划,从而吸引关注这个主题的人不时地来看看工作的进展情况。类似的比如开展讨论或者竞赛也可以达到相同的效果。不过这些牛人做这个的首要目的并不是区区页面量,页面量不过是副产品罢了。 9 在聚合中只输出摘要 这是为我所不耻的。就连原文作者也不这么做。尽管这样一来你的页面访问可能会有所上升,但我觉得无论是对于读者还是作者来说都是得不偿失。在这样一个“你有压力,我有压力”的社会,每个人的时间都很宝贵,用聚合的目的就是节省时间和资源。所以我看到只输出摘要的blog就一个反应,把它从我的bloglines里删除。强烈建议所有的blogger都在聚合里都输出完整的文章! 10 诱使聚合读者访问页面 相比起输出摘要的做法,我觉得这个更可取。不是通过强迫,而是通过一些技巧,比如投票,吸引读者参与评论,或是内部链接的方式来把读者带到你的页面上来。 11 互动 读者参与的越多,回访的机率也就越大,同时页面量也就越多。参与了评论或是投票的读者很多都会回访,来看看其他人的回应。而回应本身就带来了两次页面访问量。就留言评论来说,看一遍文章就是一次页面访问,而留个言就是又一次。同样的,最好不要把这个当成吸引留言的首要目的,交流才是根本啊。互动主要发生在留言部分,当然投票以及其它的工具也应该有效果。 12 吸引读者的评论 有几个方法可以有效地达到这个目的:比如通过插件实现在侧栏里显示最新的评论,为评论提供一个专门的聚合,或是提供邮件订阅评论的选项。 13 搜索 通过加入搜索功能从而方便读者检索你之前写的文章也可以提高页面量。有很多方法可以实现这一功能。大多数的主题都内建了一个搜索引擎,Google的AdSense也提供了这样的一个服务,读者可以选择搜索本站或是整个网络,而且如果他们在搜索结果页面点击了广告,那么还可以给你带来一点小小的外块。 14 给你的读者留作业 原文作者举了他的一个提供摄影技巧的blog为例,因为是为读者提供一些摄影的窍门,所以在文章的结尾布置一些“作业”以便让读者可以亲自去尝试就显得十分自然了。这样一来读者就会经常回访,一方面这种窍门或是教学多是一步步的,所以他们会经常打开你的页面,反复按照你的指导一步步地去做;另一方面,很多人都会想要向你展示一下他们的作业成果。 在文章的结尾,我也学着作者的样子留个作业吧: 你的blog上应用了以上的哪一项方法? 看过这篇文章之后你有没有想试试哪一个的想法? 试试其中的一个(或者几个)方法,然后告诉回来告诉我们效果怎么样。 原文地址:How to Increase a Blog’s Page Views 译文地址:十四个方法提高博客的页面访问量 关注微信公众号,第一时间获取最新内容,让我们一起变得更强!Debug客栈:订阅本站· 文章归档· 我的项目· 友情链接· 我的使用· 飞湾计划· 摄影展集· 我的主页

© 2026 好站网-HaoZhan.Wang V1.9 版权所有,正在试运行中! 本站由 Zhou's Notes 强力支持!

苏ICP备19065220号-4 公安备案 苏公网安备32100302011680号 萌ICP备20269980号 茶ICP备2026050346号
本站数据 2026年报 版本历史 小黑屋 关于本站 统计代码