
基本算法
文章平均质量分 53
wjzz
ML/DL
展开
-
HDOJ 1219 AC Me(有问题!)
【思路】:只要不用switch就可以。【注意】:本题在for循环中采用如下方式会TLEfor (i = 0; i 采用这种则ACfor (i = 0; str[i] != '\0'; i++)【TLE代码】:#include #include #include using namespace std;#define MAX 100000+1int main()原创 2015-02-24 16:49:33 · 688 阅读 · 1 评论 -
HDOJ 1056 HangOver
【题意】:如果你有一张卡,你最多可以让一半悬浮出来。两张卡的话,上边的卡可以悬浮在下边卡,露出一半的长度。下边的卡最桌子来说露出三分之一的长度,总长度1/2+1/3,三张的话就是1/2+1/3+1/4,一次类推。输入包含多组数据c,0.00表示结束。数据是介于0.01~5.20之间的浮点数。输出可以实现数据c需要的最小卡片数。【代码:WA】#include #include #原创 2015-01-30 00:45:40 · 667 阅读 · 0 评论 -
HDOJ 1248 寒冰王座(找规律)
【思路】:找规律,参考的别人的,自己写的挂了。http://blog.youkuaiyun.com/appte/article/details/8227632【AC代码】:#include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin);原创 2015-02-24 21:54:13 · 1015 阅读 · 0 评论 -
HDOJ 1157 Who's in the Middle(水)
【思路】:求中位数。这么水的题都写是不是显得我很low...其实我只是有强迫症而已。。【AC代码】:#include #include #include #include #include #include #include using namespace std;/* run this program using the console pauser or add you原创 2015-02-28 23:26:52 · 575 阅读 · 0 评论 -
HDOJ 1008 Elevator
题目:在我们城市中,最高的大楼只有一部电梯,一个请求list由N个正数组成。数字代表了电梯将在哪个楼层停下,以一个特殊的顺序。电梯上升一层需要6s,下降一层需要4s。电梯将在每一个楼层呆5s。对于一个给定的list,你需要求满足list所话费的时间。电梯最开始在0层并且不需要再完成后返回0层。比较简单,没什么可说的。【代码:AC】#include using namespace st原创 2015-01-27 22:53:08 · 658 阅读 · 0 评论 -
HDOJ 1012 u Calculate e
题意:对e的一个简单的数学公式是:。当n趋向于无穷的时候,越大结果越准确。没有输入,输出n为0-9的时候e的值,注意输出格式。注意:1、cal_e()的循环需要有等号。2、c++小数点的格式。【代码:AC】#include #include using namespace std;int fac(int a){ int i = 0; int f =原创 2015-01-27 23:25:59 · 602 阅读 · 0 评论 -
HDOJ 1019 Least Common Multiple(数学)
【题意】:求多个数的最小公倍数。【思路】:求最小公倍数可以先求最大公约数。求最大公约数两种方法:短除法和辗转相处法。两者之间的关系:两个数为ab,最大公约数为p,最小公倍数为q,则ab=pq!【AC代码】:短除法。注意:先除后乘,否则溢出。#include #include #include #include #include #include using namespac原创 2015-02-28 21:46:04 · 603 阅读 · 0 评论 -
HDOJ 1037 Keep on Truckin'
【题意】:一个高168英尺的船(或者类似的),是否能撞上高为a,b,c的underpasses。思路:三个数比较大小,理解题意就行。【代码:AC】#include #include #include #include #include using namespace std;int main(){ const int s = 168; int a = 0原创 2015-01-29 23:11:42 · 605 阅读 · 0 评论 -
HDOJ 1062 Rightmost Digit
【题意】求N^N,输出最右边的那一位。【代码1:获得周期】#include #include #include #include #include using namespace std;int main(){ int N = 0; cin >> N; while (N--) { int mul = 1, n = 0, r =原创 2015-01-30 23:34:54 · 565 阅读 · 0 评论 -
HDOJ 1048 The Hardest Problem Ever
【题意】:很普通的解码问题,所有的大写字母左移5位。注意A-E的移动是加21,其他的减5。【代码:AC】#include #include #include #include #include using namespace std;#define MAX 200+10int main(){ char str[MAX]; while (gets(str))原创 2015-01-29 23:51:24 · 818 阅读 · 0 评论 -
HDOJ 1013 Digital Roots
【题意】找数根,所谓的数根用例子来说明。如果是24,则24相加,如果结果是单位数,则为数根。如果是39,相加得12,则再次相加得3为数根。注意:题目没有说明整数范围,其实整数范围很大,至少1000位。思路:用字符串存刚开始的数,然后将各位相加。后边用不到对字符串的处理,因为每一位最大为9,1000位不过9000,所以后边存在int里处理就行。【代码:WA】#include原创 2015-01-28 22:28:04 · 587 阅读 · 0 评论 -
HDOJ 1235 统计同成绩学生人数(水)(浙大2006研究生复试)
【思路】:纯水。【AC代码】:#include #include #include #include using namespace std;#define MAX 1000+10int main(){ //freopen("in.txt", "r", stdin); int n = 0; int num[MAX]; while (cin原创 2015-02-24 18:30:34 · 853 阅读 · 0 评论 -
HDOJ 1282 回文数猜想(字符串)
【思路】:字符串操作,注意一个条件是(特别说明:输入的数据保证中间结果小于2^31。),所以在全过程中可以使用atoi()和itoa()函数。【AC代码】:#include #include #include #include #include #include using namespace std;/* run this program using the console原创 2015-02-25 15:04:18 · 609 阅读 · 0 评论 -
HDOJ 1014 Uniform Generator
【题意】计算机模拟都需要随机数。一个产生伪随机数的方法是通过一个 seed(x+1) = [seed(x) + STEP] % MOD 这样形式的方法。如果不用STEP的话,将产生很有规律的随机数从0-mod-1,这样不好。如果加上STEP,例如 STEP = 3 and MOD = 5,则产生0, 3, 1, 4, 2,称为uniform distribution(均匀分布)。如果是STEP原创 2015-01-28 23:01:17 · 671 阅读 · 0 评论 -
HDOJ 1040 As Easy As A+B
【题意】:排序。思路qsort。输出优点蛋疼,两次PE,最后的数后边没有空格,但是每一行都有一个回车,不是最后一行没有。【代码:AC】#include #include #include #include #include using namespace std;#define MAX 1000+10int cmp(const void *a, const void原创 2015-01-29 23:46:50 · 882 阅读 · 0 评论 -
HDOJ 1089-1096 A+B for Input-Output Practice
【1089】#include #include #include #include #include using namespace std;int main(){ int a = 0, b = 0; while (cin >> a >> b) cout << a+b <<endl; return 0;}【1090】#inclu原创 2015-01-31 16:04:20 · 963 阅读 · 0 评论 -
HDOJ 1194 Beat the Spread!
【题意】:给出两个数 m n,第一个数是另外两个数a b的和,第二个数是a b的差的绝对值(absolute difference)。输出这两个数a b,大的在前。【思路】:大的数等于 (m+n)/2,小的等于m-大的。【注意】:impossible的判断。分两种,一种是m如果m+n为奇数,则a b不存在。【AC代码】:#include #include #include #原创 2015-02-22 22:35:36 · 612 阅读 · 0 评论 -
HDOJ 1279 验证角谷猜想(水)
【思路】:水题。空格格式的控制和No number can be output !的输出可以用一个flag来控制。【AC代码】:#include #include #include #include #include #include using namespace std;/* run this program using the console pauser or add原创 2015-02-25 14:26:14 · 666 阅读 · 0 评论 -
HDOJ 1098 Ignatius's puzzle(数学)
【题意+题解+代码】:http://blog.youkuaiyun.com/iamskying/article/details/4737920 很详细。求解思路:f(x)=5*x^13+13*x^5+k*a*x;其中题中"f(x)|65"表示对于任意的整数x,f(x)都能被65整除.所以不难推断:f(x+1)|65也成立. f(x+1)=5*(x+1)^13+13*原创 2015-02-28 22:58:14 · 713 阅读 · 0 评论 -
HDOJ 1266 Reverse Number(字符串数字转换)
【思路】:本以为用atoi和itoa两种函数就可以完成,结果悲剧了。如下:1. 输入时int范围的,但是转换后可能不是int范围内,所以要用long long,注意(long 和 int 范围相同)。所以试着谢了下atoll函数,结果居然可用!!!可是居然在OJ上不识别!2. 换了方法,但是在这个方法中知道 cout 【代码】:#include #include #inclu原创 2015-02-25 11:09:00 · 734 阅读 · 0 评论 -
HDOJ 1017 A Mathematical Curiosity
【题意】给出两个数n和m,计算这样的数对a和b。 0 < a < b < n and (a^2+b^2 +m)/(ab) 是一个整数。问题包含多组测试样例。第一行是一个整数N,然后一行包含在N个输入块中。每个输入块的形式在题目描述中已经说明。在两个输入块中包含一个空行。输入形式包含多个输出块,之间有空行。注意:1. 判断一个数是整数的方法。2.整数、浮点数比较不要用==。3.格式是两个原创 2015-01-28 21:49:33 · 675 阅读 · 0 评论 -
蓝桥杯 ALGO-94 新生舞会(结构体)
【思路】:怒刷水题的节奏。。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 1000+2#define MAX_NAME_NUM 20+2struct Student{ char name[MAX_NAME_NUM+2]; char num[MA原创 2015-03-31 23:07:45 · 967 阅读 · 0 评论 -
蓝桥杯 ALGO-93 反置数(数学、函数)
【思路】:atoi和itoa的使用,注意atoi,三个参数。第一个是要转换的数,第二个是保存在那个字符串中,第三个是什么进制。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 20+2int reverse_num(int x){ int i = 0;原创 2015-03-31 23:22:20 · 1193 阅读 · 0 评论 -
2015年天勤考研机试模拟赛 A 判断三角形
【思路】:采用atoi转换长度,两边只和大于第三边,两边之差小于第三边。【AC代码】:#include #include #include #include using namespace std;#define MAX 100+10int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w原创 2015-03-19 00:34:05 · 1099 阅读 · 0 评论 -
蓝桥杯 ALGO-91 Anagrams问题(水题)
【思路】:通过cnt数组计数,然后比对。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 80+5int main(){ freopen("in.txt", "r", stdin); int cnt_a[26], cnt_b[26], i = 0;原创 2015-03-24 22:33:05 · 696 阅读 · 0 评论 -
蓝桥杯 ALGO-90 出现次数最多的整数(水题、细节)
【思路】:题目已经说明是按大小的顺序输入的,所以直接判断与前一个是否相等就行。注意:题目有一个条件没说清楚(或者是因为乱码),N是小于20的,所以有可能是负数。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 20+5struct Num{ int d原创 2015-03-24 23:04:19 · 972 阅读 · 0 评论 -
蓝桥杯 ALGO-101 图形显示(水、循环)
【思路】:最基本。【AC代码】:#include #include #include #include #include using namespace std;int main(){ //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int n = 0, i = 0, j = 0;原创 2015-03-24 00:23:06 · 1447 阅读 · 0 评论 -
HDOJ 1021 Fibonacci Again
【题意】:Fibonacci 序列,不过n很大,用long long也会溢出,所以采用直接在num[i-2]+num[i-1]的时候%3,而不是所有加起来才再%3。同蓝桥杯那个以题。#include #include #include #include #include using namespace std;#define MAX 1000000+2int num[MAX];原创 2015-01-29 22:48:03 · 588 阅读 · 0 评论 -
HDOJ 1097 A hard puzzle
【题意】:输入a,b,数字a^b最后边的那个数字。思路:知道n个数相乘,最后一位的周期最大为4就行。【代码】#include #include using namespace std;int main(){ int a = 0, b = 0; while (cin >> a >> b) { int t[4], temp = a%10;原创 2015-02-01 11:25:47 · 862 阅读 · 0 评论 -
HDOJ 1164 Eddy's research I
【题意】:对一个数进行因式分解。【思路】:打表后一个一个除,最大数是65535,所以10000的质数范围苟用。【AC代码】:#include #include #include #include #include #include using namespace std;#define MAX 10000int cnt;int prime_list[MAX];原创 2015-02-22 22:10:55 · 674 阅读 · 0 评论 -
HDOJ 1201 18岁生日
【思路】:无论如何都要经过18年,所以问题就是判断18年是否是闰年。注意:2月以后判断从下一年开始的18年,2月以前判断从今年开始的18年。另外还有一个2月29生日的特判。Ps.一年是365天,不是356天!【AC代码】:#include #include #include #include #include #include using namespace std;int原创 2015-02-22 23:21:03 · 641 阅读 · 0 评论 -
HDOJ 1205 吃糖果(数学)
【思路】:把吃糖的行为看成是两两消除的行为,所以如果想全部消除,取决于数量最多的那种。所以得出公式:max - (sum-max)另外:要采用longlong型。【AC代码】:#include #include #include #include #include #include using namespace std;#define MAX 1000000+10in原创 2015-02-24 15:35:18 · 911 阅读 · 0 评论 -
蓝桥杯 ALGO-105 黑色星期五(日期)
【思路】:和CCF的一个题目差不多,先算天数,根据天数算星期。【AC代码】:#include #include #include #include #include using namespace std;int isLeapYear(int year){ if (((0 == year%4) && (0 != year%100)) || (0 == year%400))原创 2015-03-30 23:21:12 · 990 阅读 · 2 评论 -
蓝桥杯 ALGO-92 前缀表达式(水题)
【思路】:注意用函数实现。当然测试数据是没发判断你是否用的函数。在devc++中,别用div这个函数名字,系统应该有自己的,会冲突编译出问题。【AC代码】:#include #include #include #include #include using namespace std;int sum(int a, int b){ return a+b;}int su原创 2015-03-24 22:09:01 · 723 阅读 · 0 评论 -
HDOJ 1197 Specialized Four-Digit Numbers
【题意】:输出四位数中所有十进制=十二进制=十六进制的数。【思路】:穷举就OK。避免重复可以再函数中增加一个位数的参数,这样三个函数写一个就行。【AC代码】:#include #include #include #include #include #include using namespace std;int getDec(int x){ int sum =原创 2015-02-22 22:55:12 · 859 阅读 · 0 评论 -
2015年天勤考研机试模拟赛 B 删除结点
【思路】:模拟的链表,果断TLE,先贴上吧,有机会再改。一年以后绝对远超这个水平。【TLE代码】:#include #include #include #include #include using namespace std;#define MAX 100000+10struct Node{ int address; int data; int next; N原创 2015-03-19 00:35:20 · 727 阅读 · 0 评论 -
蓝桥杯 ALGO-53 最小乘积(基本型)(水题)
【思路】:一个升序,一个降序,相乘。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 8+1int cmp_a(const void *a, const void *b){ return *(int*)a - *(int*)b;}int cmp_原创 2015-03-26 16:39:43 · 719 阅读 · 0 评论 -
蓝桥杯 ALGO-51 Torry的困惑(基本型)(质数)
【思路】:质数打表,乘积乘的同时取余。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 100000+5int prime_list[MAX];int isPrime(int n){ int i = 0; for (i = 2; i <= sqrt原创 2015-03-26 17:05:34 · 739 阅读 · 0 评论 -
蓝桥杯 ALGO-49 寻找数组中最大值(数组)
【思路】:水题。凑题数的感觉。。还感觉也许会有多个最大值,结果测试数据这么水。。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 100+5int main(){ //freopen("in.txt", "r", stdin); int n = 0,原创 2015-03-26 17:16:51 · 679 阅读 · 0 评论 -
蓝桥杯 ALGO-1 区间k大数查询(数组、排序)
【思路】:排序。注意sort的降序写法。前一个参数是初始位置,中间一个是结束位置,但是需要包括。不如理解成从初始位置向后的个数。【AC代码】:#include #include #include #include #include using namespace std;#define MAX 1000+5int compare(int a, int b){ retu原创 2015-03-26 22:18:28 · 592 阅读 · 0 评论