![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 63
ku360517703
这个作者很懒,什么都没留下…
展开
-
HDOJ 1002:大数加法
思路:字符串模拟加法,设置carry进位,右对齐字符串,从右向左相加,从左到右输出结果。#include using namespace std; int main() { const int N =1005; string a, b, aa,bb; int n; cin>>n; for(int i=0;i<n;i++) { ci原创 2013-03-17 03:11:38 · 823 阅读 · 0 评论 -
HDOJ 1001:结果32bits,过程乘法导致溢出
1001:http://acm.hdu.edu.cn/showproblem.php?pid=1001 #include using namespace std; int main() { unsigned a; while(cin>>a) { cout<<(1+a)*a/2<<endl<<endl; } } 杭电ACM 1001:结果原创 2013-03-16 11:18:56 · 769 阅读 · 0 评论 -
HDOJ 1004:单词统计,map,字典树
小白用小白的方法,vector记录存入的单词,每次插入先看看是否存在,如果有就在对应的数组计数器加一,最后找到频数最高的idx,最后输出单词 有人用map,有人用字典树。等我数据结构学的差不多的时候回来再看看这字典树。 小白方法: #include #include using namespace std; int main() { int n; while(cin>>原创 2013-03-19 17:43:12 · 1081 阅读 · 0 评论 -
HDOJ 1003:最大子序列|最大子串|最大连续和
暴力O(n^2),听说正解是n的复杂度。10w的n平方复杂度就轻松过1000ms了。 #include #include using namespace std; int main() { int n; cin>>n; for(int i=0;i<n;i++) { int m; cin>>m; int *a原创 2013-03-17 12:38:36 · 4489 阅读 · 0 评论 -
HDOJ 1005:取余,循环,找规律
第一印象就是斐波那契啊,迭代一下吧,不过TLE了 然后就开始查思路,归纳如下:这个数列必然是重复某个部分的,理由如下,我觉得理由2好像好懂一点,不过数学太差,不知道有没有数学根基 1、因为公式是f(n) = (A * f(n – 1) + B * f(n – 2)) mod 7,所以f(n)=(A%7*f(n-1)+B%7*f(n-2))%7,A%7与B%7的值的范围只有0~6,也就是说循环体原创 2013-03-20 00:23:10 · 2721 阅读 · 1 评论 -
复习数据结构——线性表
线性表实现: 数组方式:随机访问很快,常数级别。但是增删慢了,n级别。预先要知道线性表的大小 链表方式:随机访问不急,n级别。但是增删快,常数级别。就是C++的new delete操作性能不怎样,可以用Free list来维护增删的节点。对于new delete操作有5倍左右提升吧。 基于 数组 指针 构造 固定大小 灵活无拘束原创 2012-06-14 22:29:49 · 673 阅读 · 0 评论