练习
文章平均质量分 69
xilihong816
厚积薄发
展开
-
救济金发放(uva-133)
N个人占城一圈,逆时针编号为1~n.有两个官员,A从1开始逆时针数,B从n顺时针开始。在每一轮中,官员A数k个数就停下来,官员B数m个就停下来(注意有可能连个官员停在同一个人上)。接下来被官员选中的人离开队伍。输入n,k,m输出每轮里被选中的人的编号(如果有两个人)先输出被A选中的)。注意:输出的每个数应当恰好占3列。【分析】 仍然采用自顶向下的方法编写程序,用一原创 2015-09-04 11:11:29 · 499 阅读 · 0 评论 -
2062(hdu-子序列)
题目:考虑一个集合 An = { 1, 2, ..., n}。比如,A1={1},A3={1,2,3}。我们称一个非空子集元素的排列为一个子集序列。对所有的子序列按字典顺序排序。你的任务就是给出第m个子序列。分析:n=1时,只有{1}一个子集合n=2时,就有:{1}, {2}, {1, 2}, {2, 1}4个子集合。n=3时,有{1}, {2}, {3},原创 2015-10-04 15:35:39 · 441 阅读 · 0 评论 -
1203(hdu-能拿到至少一个通知书的最大概率)
题目:Problem DescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakle原创 2015-10-05 11:44:09 · 436 阅读 · 0 评论 -
1003(hdu-最大和)
dp的变化,主要问题是要标记初始和终止位置,因为这个问题老wa……代码如下:#include int main(){ int T,n,start,end,sum,flag,a;//n为每组测试实例的元素个数,sum为最大连续序列值。 int max; scanf("%d",&T); for(int i = 1; i <= T; i ++)原创 2015-10-05 16:45:41 · 310 阅读 · 0 评论 -
正方形
题意:给一个长方形的纸片,从中剪出正方形,再从剩余的纸片中循环剪正方形,问当剪完之后一共可以剪出多少正方形。分析:可以用一个递归函数解决,函数内部先判断两边大小,按大小定出长和宽,在判断是否相等,若想等返回1,如果宽等于0,返回0,若以上均不满足,则递归执行该函数,注意最后一个返回值要加入本次递归的正方形数目。代码如下:{CSDN:CODE:1191054}原创 2015-10-11 19:53:51 · 366 阅读 · 0 评论 -
搜集战舰的游戏
题意:给定一个成直线排布的地图,和某人拥有的战舰数量,以及每艘战舰所占用的空间大小,按时间顺序给定一些炮弹轰击的位置,问怎样摆放船只,可以让船只最晚受到炮击,并输出该炮弹序号,若可以完全避开,则输出-1。分析:用二分法,按炮弹的落地位置将地图分为若干部分,判断每一部分能容纳的战舰数量,若可容纳的战舰数量大于等于拥有的战舰数则说明不能击中战舰,即返回-1。代码如下:{CSDN原创 2015-10-11 20:34:10 · 503 阅读 · 0 评论 -
hdu(1222狼和兔子)
题意:山上有n个山洞,编号依次为0~n-1,狼每次跨过m个洞去找兔子,依次循环,问最终时候存在狼到不了的洞,这样兔子可以存活。分析:原理用到的公式就是就是m,n不是互质的。假设m,n是互素的,则一定存在一个x 满足 m x mod n 分别余 k = 1,2,3,4,、、、n-1,即 mx mod n = k 有解。其中x为狼转的圈数,k为洞的编号。说明如果m,n互素,只要这只狼足够原创 2015-10-13 21:06:22 · 836 阅读 · 0 评论 -
A. Lala Land and Apple Trees
题意:n棵苹果树在x轴上排成一排,每棵苹果树有一个坐标值(均不为0)和苹果数量。现在某人从0开始任意选择一个方向走,每遇到一颗新的苹果树就摘下所有苹果,然后掉转方向直到遇到下一颗之前没遇到过的苹果树然后再摘下所有苹果,如此往复直到再也遇不到新的苹果树。问最多能摘下多少个苹果。分析:以0为中心,对坐标排序后计算左右两边的苹果树个数。如果左边小于右边,就先从左边摘,反之则先从右边摘。判断左原创 2015-10-11 16:12:35 · 411 阅读 · 0 评论 -
Amr and The Large Array
题意:{CSDN:CODE:1190750}有一个序列,找出包含在该序列中出现次数最多的那个数的所有的那些次中最小的序列。就是找出它的众数,子序列的众数出现的次数和原序列的次数一样,求最短的这个子序列。例如:1 1 2 2 1 序列,原序列中出现次数最多的数是1,出现三次,那么要求的是在这3个1都出现的情况下最短的子序列。对于该序列最短的子原创 2015-10-11 17:17:16 · 400 阅读 · 0 评论 -
codeforce 527B
Ford Prefect got a job as a web developer for a small company that makes towels. His current work task is to create a search engine for the website of the company. During the development process, he n原创 2015-10-13 20:03:54 · 427 阅读 · 0 评论 -
n个三角形最多可以构成多少个区域
题目:Problem Description用N个三角形最多可以把平面分成几个区域? Input输入数据的第一行是一个正整数T(1 Output对于每组测试数据,请输出题目中要求的结果. Sample Input212 Sample Output28分析:有一种很简单的理解方法原创 2015-10-15 15:59:33 · 1107 阅读 · 0 评论 -
Codeforces #218 (Div. 2) Fox Dividing Cheese
DescriptionTwo little greedy bears have found two pieces of cheese in the forest of weighta and b grams, correspondingly. The bears are so greedy that they are ready to fight for the larger piec原创 2015-12-14 20:49:04 · 423 阅读 · 0 评论 -
又见gcd(hdu-2504)
题目:Problem Description有三个正整数a,b,c(0 Input第一行输入一个n,表示有n组测试数据,接下来的n行,每行输入两个正整数a,b。 Output输出对应的c,每组测试数据占一行。 Sample Input26 212 4 Sample Output48分析原创 2015-10-04 09:40:58 · 806 阅读 · 0 评论 -
最大连续序列值(hdu-1087)
题意:输入一个长度为N的序列,该序列不一定从小到大排列,但是我们经过的路径必须从小到大,如果后面的数大于前面的数则终止路径,最后输出最大的连续序列值。分析:这是dp的一个基础题,我们首先要用value数组保存一个序列,然后用dp数组保存目前为止最大的连续序列值,且dp数组和最终最大值均初始化为序列第一个元素值。从第2个元素开始,将目前元素值赋给目前最大连续序列,判断它前面的元素时候原创 2015-10-05 08:24:50 · 361 阅读 · 0 评论 -
汉诺塔
题目: 1,2,...,n表示n个盘子.数字大盘子就大.n个盘子放在第1根柱子上.大盘不能放在小盘上.在第1根柱子上的盘子是a[1],a[2],...,a[n]. a[1]=n,a[2]=n-1,...,a[n]=1.即a[1]是最下 面的盘子.把n个盘子移动到第3根柱子.每次只能移动1个盘子,且大盘不能放在小盘上. 问第m次移动的是那一个盘子.分析:原创 2015-09-24 21:01:46 · 422 阅读 · 0 评论 -
追踪电子表格中的单元格(uva-512)
【题意】 有一个r行c列的电子表格,行从上到下编号为1~r,列从左到右编号为1~c。对其进行n个操作。操作类型分为5种:1. 删除行 2. 删除列 3. 插入行 4. 插入列 5. 交换两个元素位置输入初始查找位置,输出经过n个操作后,变更的位置。【分析】 1. 可以直接模拟,但是需要开很多额外空间;2. 先将n个操作存起来,然后原创 2015-09-05 18:28:14 · 617 阅读 · 0 评论 -
信息解码(uva-213)
题目的意思是首先输入一个编码头。在输入一个编码文本,编码文本由多个小节组成,每个小节的前3个数字代表小节中每个编码的长度,然后是各个字符的编码,以全1结束。最通俗的想法是,将编码头存入对应的二维数组的相对位置,然后输入编码文本的前三位,并将其转换为十进制,以其十进制长度依次输入编码文本,每个编码长度的编码文本对应的十进制如果等于2的编码长度次方减一,则跳到下一个小节,否则输出对应的编码头字符。原创 2015-09-05 07:07:32 · 643 阅读 · 0 评论 -
约瑟夫问题
问题: 41个人围坐一圈,从第一个人开始每三个人杀死一个,然后从下一个人重新开始,这样顺次执行,问约瑟夫和他的朋友选择那个文职才能不被杀死。分析: 这个问题可以采用循环链表解决,用结点模拟41个人,先创建一个循环链表,每到第三个结点则删除该结点,最终当结点的指针域指向本身是结束,依次输出每个被杀人的编号代码如下:{CSDN:CODE:原创 2015-09-24 19:25:38 · 272 阅读 · 0 评论 -
分月饼(hdu1722)
题目:Problem Description一次生日Party可能有p人或者q人参加,现准备有一个大蛋糕.问最少要将蛋糕切成多少块(每块大小不一定相等),才能使p人或者q人出席的任何一种情况,都能平均将蛋糕分食. Input每行有两个数p和q. Output输出最少要将蛋糕切成多少块. Sample Input2 3原创 2015-09-27 18:55:16 · 655 阅读 · 0 评论 -
数据结构
知识点1、顺序表的概念顺序表是线性表的顺序存储结构,加按顺序存储方式构造的线性表的存储结构。说明:对于n个元素的顺序表A,可以表示为A[1..n](适合Pascal),其下标从1到n,A[1]称为第1个元素,A[2]称为第2个元素,……,A[n]称为第n个元素;也可以表示为A[0...n-1](适合C/C++),其中下标0到n-1,A[0]称为第1个元素,A[1]称为第2个元素,……,原创 2015-09-12 16:37:43 · 745 阅读 · 0 评论 -
最大素数因子(hdu2136)
题意:每个素数在素数表中都有一个序号,设1的序号为0,则 2 的序号为1,3的序号为2,5的序号为3,以此类推。现在要求输出 所 给定的数n的最大质因子的序号,0分析:应用素数打表法。用flag计算素数的序号,将素数连同他的倍数一起置为它的素数序号, 从小到大循环, 这样数组里存放的序号就 是最大素数因子的序号了。注意:初始化时令所有数为0,Prime[0] =原创 2015-09-30 21:40:23 · 900 阅读 · 0 评论 -
循环小数化分数(hdu-1717)
题目:Problem DescriptionRay 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。 Input第一行是一个整数N,表示有多少组数据。每组数据只有一个纯小数,也就是整数部分为0。小数原创 2015-10-04 11:18:19 · 1640 阅读 · 1 评论 -
MySQL中修改表名,表属性名等的操作
alter table 表名 change 原列名 新列名 类型; --修改表的列属性名alter table 表名 modify 列名 类型 ; --修改表的类类型alter table 表名 drop 列名; --删除表的某一列alter table 表名 add 列名 类型;--添加某一列alter table 表名 rename 新表名; --修改表名原创 2016-10-09 09:00:44 · 37901 阅读 · 0 评论