ACM
文章平均质量分 71
fibo_nacci
C/C coder
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pat advanced 1074
题目:http://pat.zju.edu.cn/contests/pat-a-practise/1074题目就是坑,一直卡在最后一个case上。最后一个case有这样的检测,所有节点的数量N并不是单链表的长度,也就是说单链表的长度可能小于N,举个栗子,00100 6 400000 4 9999900100 1 1230968237 6 -133218 3 0000原创 2014-03-05 09:50:18 · 1023 阅读 · 1 评论 -
PAT (Advanced Level) Practise 1070
来源:http://pat.zju.edu.cn/contests/pat-a-practise/1070同 http://pat.zju.edu.cn/contests/pat-b-practise/1020 相同,后者是中文。算法应该比较简单,贪心。用单价从高到低排序就好。要注意的是两个问题:1. 市场需求数大于所有月饼总库存之和。(这样的话只要简单的把所有库存的月饼的原创 2014-01-27 15:39:36 · 560 阅读 · 0 评论 -
pat advanced 1043
题目:http://pat.zju.edu.cn/contests/pat-a-practise/1043//递归 先序遍历 后序遍历 先序构造二叉查找树,之后后序遍历//思路和代码请参考 http://linest.github.io/blog/2013/06/16/pat_1043/ ,这位大神写的很好。//下面的参考代码写的比大神的稍微容易理解些,这些原创 2014-02-24 22:00:08 · 554 阅读 · 0 评论 -
pat advanced 1032
题目:http://pat.zju.edu.cn/contests/pat-a-practise/1032本题不需要存储字符,只需要存储地址。用map来存储地址,有两个case会超时。分别用两个vector来存储两个链表的所有元素,然后比较两个vector的最后一个元素是否相等,不相等就输出-1,相等的话就一直pop_back(),找到起始的公共节点,这样的话有一个case会超原创 2014-02-25 10:18:31 · 572 阅读 · 0 评论 -
pat advanced 1042
地址:http://pat.zju.edu.cn/contests/pat-a-practise/1042用一个函数确定最终位置,用map存起来。//Date : 2014-02-24//Author : fibonacci//Note:#include #include #include using namespace std;int K, arr[55];strin原创 2014-02-24 11:51:37 · 575 阅读 · 0 评论 -
pat advanced 1051
题目:http://pat.zju.edu.cn/contests/pat-a-practise/1051Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, ..., N and pop randomly. You are supposed to tell i原创 2014-02-25 23:03:38 · 563 阅读 · 0 评论 -
pat advanced 1050
题目:http://pat.zju.edu.cn/contests/pat-a-practise/1050很坑爹,限时10ms,因为int len = strlen(ch1); for(int i = 0; i写成了for(int i = 0; i所以一直有两个case TLE。思路,先把字符串1存起来,字符串2用map或者一个数组关联起来,再遍历字符串1,有字符串2的原创 2014-02-25 21:08:03 · 536 阅读 · 0 评论 -
pat advanced 1046
地址:http://pat.zju.edu.cn/contests/pat-a-practise/10461046. Shortest Distance (20)时间限制100 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueThe task is really simple: gi原创 2014-02-27 20:50:21 · 518 阅读 · 0 评论 -
pat advanced 1054
http://pat.zju.edu.cn/contests/pat-a-practise/10541054. The Dominant Color (20)时间限制100 ms内存限制32000 kB代码长度限制16000 B判题程序StandardBehi原创 2014-02-27 23:07:38 · 609 阅读 · 0 评论 -
pat advanced 1003
地址:http://pat.zju.edu.cn/contests/pat-a-practise/1003思路:经典的 dfs + 回溯 每个节点 i 是否访问用visited[ i ] 来存储 每个节点 i 救援队伍人数用teams[ i ] 来存储 节点 i 到节点 j 的距离用 map[i][j] 存储原创 2014-03-01 11:32:32 · 514 阅读 · 0 评论 -
hdoj 1009
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1009这个题目好几年前就做过,一直莫名其妙的WA.试了下,比例ratio用float 会WA, 用double OK (这都是int 与int 之间的比较,需要那么精确吗?)思路:典型贪心,注意M,N是非负的,有可能为0,//Date : 2014-03-01//Auth原创 2014-03-01 20:50:16 · 870 阅读 · 0 评论 -
pat advanced 1073
地址:http://pat.zju.edu.cn/contests/pat-a-practise/1073模拟题,比较繁琐,细心和耐心,紧张考试情况下很考查代码熟练度。#include#include#includeusing namespace std;int main(){ char op; string str; cin >> str;原创 2014-03-03 21:12:34 · 617 阅读 · 0 评论 -
hdoj 1163 Eddy's digital Roots
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1163Problem DescriptionThe digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit t原创 2013-11-15 16:28:35 · 534 阅读 · 0 评论 -
pat advanced 1052
地址:http://pat.zju.edu.cn/contests/pat-a-practise/1052如果先做了这道题,再去做pat advanced 1074就好多了pat advanced 1074 地址:http://pat.zju.edu.cn/contests/pat-a-practise/1074笔者的pat advanced 1074 题解:http://blog.c原创 2014-03-05 23:14:28 · 873 阅读 · 0 评论 -
pat advanced 1013
地址:http://pat.zju.edu.cn/contests/pat-a-practise/1013思路:通过dfs来判断图的联通性,通过N次dfs才遍历完图所有节点的话,那么就有N-1个不连同图。参考代码:#include#includeint N, M, lost;bool map[1000][1000], visited[1000];void dfs(int原创 2014-03-05 19:11:58 · 685 阅读 · 0 评论 -
pat advanced 1044
地址:http://pat.zju.edu.cn/contests/pat-a-practise/1044求连续子序列和大于或等于某个设定值M。如果检测存在精确等于的话便不再维护剩余最小值。否则循环检测min。当min等于当前差值时,将起点和终点存入vector,否则min小于当前差值,vector清空,并存入当前起点和终点。代码:#include#includeusi原创 2014-02-22 11:11:21 · 475 阅读 · 0 评论 -
pat advanced 1071 Speech Patterns
题目地址: http://pat.zju.edu.cn/contests/pat-a-practise/1071思路比较简单,用map来记录,map默认是按字典序的。但是前几次有两个case TLE了,有可能是用strtok耗时比较长。先贴一个AC的,用c++的getline来换取一行。#include#include#include#include#include原创 2014-01-29 18:07:44 · 707 阅读 · 0 评论 -
pat basic level 1018
题目网址:http://pat.zju.edu.cn/contests/pat-b-practise/1018Github: https://github.com/kunth/evernote/blob/master/pat_basic_level_1018//Date : //Author : fibonacci//Note: http://pat.zju.edu.cn/contests原创 2013-11-05 14:20:26 · 702 阅读 · 0 评论 -
PAT 3-05. 求链式线性表的倒数第K项
题目地址:http://pat.zju.edu.cn/contests/ds/3-05用vector有一个case超时,用list 顺利通过#include#includeusing namespace std;int main(){ int K, num; list vec; scanf("%d", &K); while(sc原创 2013-10-10 11:34:30 · 988 阅读 · 0 评论 -
pat advanced 1020 Tree Traversals
题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1020思路:先分成两块:1. 根据后序遍历和中序遍历分析此树,构建树2. 构建好此树之后,按层序遍历,打印输出。(这个过程类似于广度优先搜索BFS).第二部分比较好解决,广度优先搜索都是用的队列的结构,从根节点开始,先入队,根节点然后出队,在队中插入根节点的左儿子和右儿子(如果有原创 2014-02-15 19:59:17 · 724 阅读 · 0 评论 -
pat basic level 1019
题目地址:http://pat.zju.edu.cn/contests/pat-b-practise/1019Github:https://github.com/kunth/evernote/blob/master/pat_basic_level_1019//Date : 2013-11-05//Author : fibonacci//Note: http://pat.zj原创 2013-11-05 15:41:51 · 638 阅读 · 0 评论 -
pat (advanced level ) Practise 1065
http://pat.zju.edu.cn/contests/pat-a-practise/1065#includeusing namespace std;int main(){ int T; long long int A, B, C; freopen("in.txt", "r", stdin); scanf("%d",原创 2013-11-03 20:34:28 · 450 阅读 · 0 评论 -
pat 1063
题目:http://pat.zju.edu.cn/contests/pat-a-practise/1063代码:https://github.com/kunth/evernote/blob/master/pat1063//accepted#include#includeusing namespace std;int num[51][10001];int main(原创 2013-11-03 21:20:33 · 510 阅读 · 0 评论 -
PAT 2-12. 两个有序链表序列的交集
题目地址:http://pat.zju.edu.cn/contests/ds/2-12很坑爹,看了http://blog.youkuaiyun.com/liygcheng/article/details/10813213博客中关于...A A...和...A A...的交集是A A而不是A而恍然大悟。不过笔者之前倒不是出错,是因为用set来接受输入,然后把set转化成vector(http://s原创 2013-10-10 10:42:07 · 998 阅读 · 0 评论 -
hdoj 1266 Reverse Number
题目链接把数字当做字符串来处理,设立一前一后两个游标,前游标标记是否是负数,后游标标记连续的0个数。0MS 228K#include#includeusing namespace std;int main(){ int T, pbegin, pend; char ch[11]; bool isPos; scanf("%d", &T);原创 2013-11-19 20:31:25 · 645 阅读 · 0 评论 -
杭电oj 1181 变形课
杭电oj 1181 变形课用的是求最短路径的floyd算法,较简单的改变一下。关于floyd算法介绍,中文维基http://zh.wikipedia.org/wiki/%E5%BC%97%E6%B4%9B%E4%BC%8A%E5%BE%B7%E7%AE%97%E6%B3%95#include#includeusing namespace std;int arr[26原创 2013-03-31 11:54:15 · 866 阅读 · 0 评论 -
hdoj 1176 免费馅饼
典型数塔(http://blog.youkuaiyun.com/flyupliu/article/details/8746045)的变形开始以为0是一组输入的结束而不是多组输入的结束 ,Runtime Error了//--- Accepted --- 1176 78MS 4900K --- G++ ---#include#includeusing namespace std;int dp原创 2013-04-01 16:03:03 · 522 阅读 · 0 评论 -
hdoj 2084 数塔
从下往上推出最优解,可以先在纸上模拟一下,很容易理解//---- --:--:-- Accepted 2084 46MS 276K #include#includeusing namespace std;int dp[101][101], arr[101][101];int max(const int& lhs, const int& rhs){ if(原创 2013-04-01 13:12:19 · 592 阅读 · 0 评论 -
hdoj 2072 单词数
这个题目很有意思,先列出笔者的测试案例,这个测试案例在一行前和一行尾都有空格,特别是行尾的空格,如 holly shit 不要输出为3个单词,笔者因此WA好几次 yo u are my friend fri end you are my friendyou are my friend holly shit # 代码:原创 2013-04-04 19:15:46 · 530 阅读 · 0 评论 -
hdoj 2070 Fibbonacci Number
要注意的有两点,第一个是打表(init()函数),第二个是输出格式,用long long int会错,__int64比较好,输出printf("%I64d", x);笔者用的是G++代码:#includeusing namespace std;__int64 arr[51];void init(){ arr[0] = 0; arr[1] = 1;原创 2013-04-04 20:13:15 · 561 阅读 · 0 评论 -
hdoj 1501 Zipper
搜了一下有介绍的很详细的http://www.cyqdata.com/cnblogs/article-detail-36815-english----- ------2013-0---- --:--:--Accepted1 10MS280K G++ 代码#include#includeu原创 2013-04-19 15:36:08 · 526 阅读 · 0 评论 -
hdoj 1200 To and Fro
http://acm.hdu.edu.cn/showproblem.php?pid=1200To and FroTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3554 Accepted Submissio原创 2013-05-08 21:56:11 · 626 阅读 · 0 评论 -
hdoj 1159 Common Subsequence
http://acm.hdu.edu.cn/showproblem.php?pid=1159搜了下,感觉大家写的都很好,例如以下:http://blog.youkuaiyun.com/jqandjq/article/details/4021302http://blog.youkuaiyun.com/jiahui524/article/details/6653192(给出了最长公共子序列LCS的模板原创 2013-05-09 16:08:15 · 472 阅读 · 0 评论 -
hdoj 1205 吃水果
搜了一下已经有人分析的比较清楚了http://blog.youkuaiyun.com/hnust_xiehonghao/article/details/8005832顺便提一下下面的代码,sum要声明成long long int, 因为按照题目的描述N*Mi最大可以是10的12次方,超过了int(32位)4*10的10次方的大小,另外很有趣的是不能偷懒将其他的int型变量N, num, val,原创 2013-04-01 20:34:18 · 635 阅读 · 0 评论 -
hdoj 1029 Ignatius and the Princess IV
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1029用排序水过,一个数在一个序列中占一半以上的话如果排好序,中间的位置肯定是它,类似于鸽巢原理#include#includeusing namespace std;int arr[1000000];int main(){ int N; while(scanf原创 2013-11-14 10:33:02 · 876 阅读 · 0 评论 -
hdoj 1248 寒冰王座
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1248题目挺有意思的。完全背包问题,但是可以不用背包的思想,解三元一次方程。X=150a + 200b +350c +Y0MS 228K#includeusing namespace std;int main(){ int T, num, rem; scanf原创 2013-11-19 14:50:06 · 844 阅读 · 0 评论 -
以后要多写写博客啊
果然见的不多闻的不广啊,连欧拉函数都不知道。hdoj 1286的题目都LTE了// 2013-03-30 Time Limit Exceeded1286 1000MS588K796 BG++ #includeusing namespace std;int gcd(int m, int n){ if(m < n) { int tmp = m原创 2013-03-30 15:46:19 · 521 阅读 · 1 评论 -
hdoj 2031 进制转换
题目链接根据进制转换的规律本质一直取余即可。要注意当输入是-2的32次方时,这时候置反会造成上溢出,但是题目的数据没有这么强, 那就算了。如果比较强,还是用long long int 比较好另外用到了STL里的stack,比用数组存起来然后从末位开始输出的方式比起来逻辑上要简单一点。#include#includeusing namespace std;in原创 2013-11-20 13:17:33 · 754 阅读 · 0 评论 -
hdoj 1287 破译密码
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1287一开始写的是if(*it ^ c 'Z')而不是if((int)(*it ^ c) 'Z')一直错误,不要问我为神马,我也不知道为神马要用ASCII码,这是为神马啊。。。#include#includeusing namespace std;原创 2013-11-06 11:33:41 · 488 阅读 · 0 评论 -
hdoj 2098 分拆素数和
题目:分拆素数和最开始打表,把10000以内的素数都存起来,这是为了多次验证素数的时候节约时间。然后再查找,对表内小于给定的N的数x,查找N-x是否位于素数表内。查找时候没有加x小于N-x的限制条件,所以查出来的个数是真正题目要求输出数的两倍,其中包含了x和N-x能相同的这一对,整数(准确说应该是奇数)除2后这一对就消除了。另外注意STL里的查找函数find,用数组的话找不到的话返原创 2013-11-21 11:25:53 · 742 阅读 · 0 评论
分享