- 博客(125)
- 问答 (2)
- 收藏
- 关注
原创 1055. The World's Richest (25)
看到一些题解说这题不进行相同年龄的前一百名处理会超时,我这个没处理也过了,是测试点改了还是代码怎么了?知道的请留言。。#include <cstdio>#include <algorithm>#include <cstring>using namespace std;struct Person { char name[10]; int age, worth;}p[100005
2017-08-14 19:30:21 499
原创 1038—Recover the Smallest Number (30)
/*1、首先将元素以string为个体存放,二位数组开不了,太大2、按字典序比较是容易想到的方法3、比较string用sort重写比较函数,而不是for循环4、比较目的是组成最小数,领会a+b<b+a的比较函数写法5、消到只剩一个首元素还为0则不用消了,所以条件为>1,看到网上各种题解非得消到0,再去另外判断,真是天下题解一大抄,学而不思,切忌!*/#include<iostream>
2017-07-27 20:53:17 511
原创 1065. 单身狗(25)
这题的关键在于对一群人怎么区分他门的配偶来没来?这其实是一个很现实的例子: 简单的办法就是对于每个现场的人报他们配偶的id,没配偶的不报,记录在一个名单list。 这样下来,现场的没被人报到的就是单身狗。 注意: 一个人被人报到说明他自己和他配偶都在现场,他俩都会在名单上。#include <cstdio>#include <set>#include <iterator>using n
2016-12-29 19:11:28 3080
原创 1064. 朋友数(20)
#include <cstdio>int calc(int c){ //分离各个数字并计算出朋友证号 int friendnum = 0; while(c){ friendnum += c % 10; c = c / 10; } return friendnum;}int main(){ int N, c[40] =
2016-12-29 19:08:12 1594
原创 1063. 计算谱半径(20)
这题很简单,主要求n对数的根号下平方和的最大值,设立一个max不断更新即可。#include <cstdio>#include <cmath>int main(){ int N, r, v; double s, max = -1500; scanf("%d", &N); for(int i = 0; i < N; i++){ scanf("%d%d
2016-12-29 18:58:12 838
原创 1062. 最简分数(20)
这种思路就是比如你要找一个比7/18大的分数,并且规定分母为k,就分子num就应该大于7*k/18比如k=36,就应该是num>(36*7)/18=14,k=12,就是num>(12*7)/18,也就是12*7#include <cstdio>#include <iostream>using namespace std;//递归int gcd(int a, int b){ retur
2016-12-28 22:41:31 1499
原创 1061. 判断题(15)
#include <cstdio>int main(){ int N, M, grade[105], student[105], answer[105]; scanf("%d%d", &N, &M); for(int i = 0; i < M; i++) scanf("%d", &grade[i]); for(int i = 0; i < M; i+
2016-12-28 17:48:46 747
原创 1046. Shortest Distance (20)
这道题的题意是先给定一个数N,随后输入N个数代表一个圆上相邻两点之间的距离,然后让你计算任意两点之间的最短距离(你需要考虑的是顺时针最短还是逆时针最短),这里原本做的是知道哪两个点用循环的方式加起来最后超时了,后来想到先计算出每个点到某个固定点(比如1这个点)的距离,最后算两个点的距离时直接将这两个点到1这个点的距离相减即可,本题假设点的位置顺时针方向递增。#include <cstdio>int
2016-12-22 18:24:16 410
原创 1031. Hello World for U (20)
题意是将一串字符串排成u型,要求u的高小于等于底且高和底的差值最小。 这里将(字符串总长度+2)/3,即可求得u的高,此时高和底最接近,然后按格式输出即可。#include <cstdio>#include <cstring>int main(){ char a[85], n1, n2, n3; gets(a); int len = strlen(a); n1
2016-12-22 18:22:38 560
原创 1015. Reversible Primes (20)
关于题意的理解:73在10进制下的反转数是37,两个都是素数。23的二进制是10111,反转之后是11101,也就是39,两个都是素数。23在十进制下的反转数是32,32不是素数。每读入一个数字,先对其判断是否是素数,然后求出其反转数,判断它是不是素数。本来用的是一个数组存储的翻转数的各个位,然后再把数组各位按权相加转换成一个数,后来发现还可以简化成直接用一个变量即时的算出这个数。注意
2016-12-22 18:20:19 459
原创 10-排序4 统计工龄 (20分)
给定公司NNN名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式:输入首先给出正整数NNN(≤105\le 10^5≤105),即员工总人数;随后给出NNN个整数,即每个员工的工龄,范围在[0, 50]。 输出格式:按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。 输入样例:8 10 2 0 5 7 2 5 2输出样例
2016-11-23 19:01:25 2097
原创 1011. World Cup Betting (20)
这道题有点醉,挺简单的一道题愣是搞了一个半小时,题意就是从三行中每一行找出最大数相乘得sum,顺便记录下最大值所在位置,一会儿输出,再将sum套入公式(sum*0.65-1)*2,最坑的一个地方是我用double存的数据,看样例是37.98以为是四舍五入,所以在公式后边加了个0.005,结果全错,调半天把0.005去掉,本机显示37.97,提交却对了。以后不是要求精度5,6位的用float吧!!!#
2016-11-02 20:26:22 548
原创 人工智能初探
所谓人工智能笼统说来就是要让计算机做人比计算机更擅长的事!这是现阶段对人工智能直观上一个粗浅的理解! 让计算机变得更智能是要求让计算机像人一样行动和思考! 让计算机像人一样思考,首先要反思人类思考的方式,总的来说我们可以从以下三个方面剖析人思考的方式:1、内省,也就是自我反省。2、心理实验,通过观察他人。3、脑成像。由此便衍生出一门新的学科:认知科学。 关于合理思考,亚里士多
2016-10-30 22:50:07 975
原创 07-图4 哈利·波特的考试 (25分)
哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面列出了所有的变
2016-10-19 20:45:28 1514
原创 06-图1 列出连通集 (25分)
给定一个有NNN个顶点和EEE条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1N-1N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式:输入第1行给出2个整数NNN(0#include <cstdio>#include <queue>#include <iostream>using namespace std;#de
2016-10-17 21:09:41 2575 1
原创 05-树8 堆中的路径 (25分)
将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。 输入格式:每组测试第1行包含2个正整数NNN和MMM(≤1000\le 1000≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的NNN个要被插入一个初始为空的小顶堆的整数。最后一行给出MMM个下标。 输出格式:对输入中给出的每个下标i
2016-10-16 22:42:17 1145
原创 03-树3 Tree Traversals Again (25分)
An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stack
2016-10-16 22:33:28 1530
原创 04-树4 是否同一棵二叉搜索树 (25分)
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数NNN (≤10\le 10≤10)和LLL,分别是每个序列插
2016-10-15 12:00:30 1047
原创 1060. 爱丁顿数(25)
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(<=N)。输入格式:输入第一行给出一个正整数N(<=105),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。输出格式:在一行中给出N天的爱丁顿数。 输入样例:10 6 7 6
2016-10-10 22:30:58 1865 1
原创 1059. C语言竞赛(20)
C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行给出一个正整数N(<=10000),是参赛者人数。随后N行
2016-10-10 21:45:09 2587 1
原创 1058. 选择题(20)
批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多选题的个数。随后M行,每行顺次给出一道题的满分值(不超过5的正整数)、选项个数(不少于2且不超过5的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意每题的选项从小写英文字母a开始顺次排列。各项间以1
2016-10-09 16:44:50 1380
原创 03-树2 List Leaves (25分)
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a posit
2016-10-06 15:35:18 3132 2
原创 03-树1 树的同构 (25分)
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2现给定两棵树,请你判断它们是否是同构的。 输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数NN (\le 10≤10),即该树的结点数
2016-10-05 20:20:03 12080 5
原创 02-线性结构4 Pop Sequence (25分)
Given a stack which can keep MMM numbers at most. Push NNN numbers in the order of 1, 2, 3, …, NNN and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence o
2016-09-30 20:29:18 1261
原创 02-线性结构2 一元多项式的乘法与加法运算 (20分)
设计函数分别求两个一元多项式的乘积与和。 输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。 输入样例:4 3 4 -5 2 6 1 -
2016-09-22 18:43:58 9472 6
原创 02-线性结构1 两个有序链表序列的合并 (15分)
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个递增的整数序列。 函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指
2016-09-19 14:11:50 7269 10
原创 01-复杂度2 Maximum Subsequence Sum (25分)
Given a sequence of KKK integers { N1N_1N1, N2N_2N2, …, NKN_KNK }. A continuous subsequence is defined to be { NiN_iNi, Ni+1N_{i+1}Ni+1, …, NjN_jNj } where 1≤i≤j≤K1 \le i \le j \le K1
2016-09-16 21:52:27 1674
原创 01-复杂度1 最大子列和问题 (20分)
给定KKK个整数组成的序列{ N1N_1N1, N2N_2N2, …, NKN_KNK },“连续子列”被定义为{ NiN_iNi, Ni+1N_{i+1}Ni+1, …, NjN_jNj },其中 1≤i≤j≤K1 \le i \le j \le K1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13
2016-09-16 20:09:34 3886
原创 PAT乙级——1057. 数零壹(20)-native
思路:首先我们要把如果有英文字母的大写转换成小写来求出字符串的所代表数字,然后用除二取整法记录每一次0的个数和1的个数。#include<cstdio>#include<cstring>#include<cctype>int main(){ char c[1000005]; gets(c); int len=strlen(c); int N=0; for
2016-09-15 17:54:06 1472
原创 PAT乙级—1056. 组合数的和(15)
思路:这是很简单的一道题,我们只需要用两个for循环将两个数字组合,由于不存在任何两个相同的数字我们还要求出他们十位和个位对调之后的数字,再加起来就可以了。#include<cstdio>using namespace std;int main(){ int N,n[12]; scanf("%d",&N); for(int i=0;i<N;i++) sca
2016-09-15 17:44:27 1134
原创 1010. Radix (25)
考查知识点:二分#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;LL Map[256];LL inf=(1LL << 63)-1; //表示long long最大值2^63-1,编译器可能会提醒忽略即可void init(){ f
2016-09-10 19:13:21 375
原创 机器学习初探
工具:需正版:Matlab,免费:Octave定义(Arthur Samuel 1959):在不直接针对问题进行编程的情况下,赋予计算机学习能力的研究领域。例:Arthur的下棋程序,计算走每一步获胜的概率,最终打败程序作者本人。(感觉使用决策树思想)定义2(Tom Mitchell 1998):一个合理的学习问题应该这样定义:对一个计算机程序来说,给它一个任务T和一个性能测量方法P,如果在经验E的
2016-08-23 19:46:15 533
原创 手把手教你将sublime3打造成python开发利器
sublime3汉化版下载地址:http://www.cr173.com/soft/55484.html 1、 打开sublimeText 在菜单栏找到工具——>编译系统——>新编译系统2、 在新的配置文件中输入如下配置 { “cmd”: [“python的安装路径”,”-u”,”$file”],“file_regex”: “^[ ]File \”(…?)\”, line ([0-9]
2016-08-22 21:00:16 25421 6
原创 1009. Product of Polynomials (25)
考查知识点:简单模拟首先将第一行用结构体储存,这里的方便之处在于输入第二行时,对每一项可以分别乘以第一行的结构体数组的每一项,而不必考虑不用结构体时所产生的0项,直接#include<cstdio>struct Poly{ int ex; double co;}Poly[1001];int main(){ int k1,k2,ex,count=0; double
2016-08-21 19:38:09 466
原创 1008. Elevator (20)
考查知识点:简单数学很简单的一道题,,把第一个3表示有三个数字看成了第三层,,郁闷~~#include<cstdio>int main(){ int N,floor_,temp=0,sum=0; scanf("%d",&N); for(int i=0;i<N;i++){ scanf("%d",&floor_);
2016-08-21 19:32:15 246
原创 1007. Maximum Subsequence Sum (25)
考查知识点:动态规划之最大连续子序列和看不懂得可以留言,,#include<cstdio>#include<algorithm>using namespace std;int main(){ int N,n[10050],start=1,answer,Max=0,answerstart=1,answerend=1; scanf("%d",&N); scanf("%d",
2016-08-16 20:29:05 261
原创 动态规划专题——2 最大子序列
给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大?例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。看见这个问题你的第一反应是用什么算法? (1) 枚举?对,枚举是万能的!枚举什么?子数组的位置!好枚举一个开头位置i,一个结尾位置j>=i,再求a[i..j]之间所有数的和,找出最大的就可以啦。好的,时间复杂
2016-08-16 20:17:37 602
原创 动态规划专题——1 矩阵取数
给定一个m行n列的矩阵,矩阵每个元素是一个正整数,你现在在左上角(第一行第一列),你需要走到右下角(第m行,第n列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。走过的数的总和作为你的得分,求最大的得分。初看此题,你的思路是什么? (1) 贪心? 先走到大的数再说?看这个例子: 无论你以什么方式走到3,总和都是1 + 1 + 3 + 1 + 1 + 1 + 1 = 9 我们为了1个3,放弃了
2016-08-14 19:58:05 825
原创 1006. Sign In and Sign Out (25)
考查知识点:查找元素思路:简单的一题写了一个多小时,2333,简单来说就是每输入一组数据,跟两个临时变量比较时间的先后,重点在于如何比较,这里依次比较时分秒,最后临时变量所保存的即为最后的结果。看不懂留言哦!!#include<cstdio>#include<cstring>struct Person{ char ID[20]; char unlock[10]={'2','4',
2016-08-11 19:59:57 384
原创 1005.Spell It Right (20)
考查知识点:字符串处理//思路:这题跟乙级1002很像,注释就不写了,╮(╯▽╰)╭,人越来越懒了,还不懂得就留言吧,,, #include<cstdio>#include<cstring>#include<iostream>using namespace std;int main(){ char N[105]; gets(N); int len=strlen(N
2016-08-11 18:20:35 431
空空如也
noj一道冒泡排序,不能通过,求大神解答
2015-05-17
眼睛的颜色 算法题我的代码为什么不能通过???一个岛上有n个人
2015-04-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人