HDOJ学习笔记(二)
来源:互联网 发布:淘宝女购物车 猝死男友 编辑:程序博客网 时间:2024/04/28 07:47
第二阶段:由于刚接触C++,所以训练一些不需要高深算法的题目,巩固C++语言。
训练如下题型:1008、1108(辗转相除法)、1061、2035(提示:解法一:改进后的暴力。解法二:二分加速)、1021、1205、1071。
训练心得及感想:
1061:很扯淡的用了SWITCH,然后很扯淡的分成3块来计算,到后来才发现N=N%4一条语句就能把N=N%2,N=N%1一起归纳了。N=N%4+4;这个+4算亮点了吧,省去了IF(0==N)。
2035:尝试了次最暴力的解法,很自然的就溢出了。改进后的暴力思路如下:一个大于10000的数乘以一个大于1的整数,无论这个正整数是什么,其结果一定大于10000。即a>10000,d>0…a=b*10000+c…a*d=(b*10000+c)*d=b*10000*d+c*d。当你取最后三位时,前面大于10000的就会自动舍去了,所以只需取模应算。二分加速指的是,如N的100次方可以看成N的50次方的平方,这样就从99次乘法降为50次乘法了。于是乎,作为ACM新手的我很华丽的跳过了,以后再回来实现这个解法吧。
1021:很快的就把算法写出来了,结果RE了。发现一般数据大的题都有规律可循。经过几次删减AC答案原来可以很短,哭笑不得。
1205:之前做一直WA,后来才发现SUM会溢出,要用DOUBLE。
1071:简单的积分问题,主要是熟悉iomanip的应用,还有一种回到高中的感觉,怀念ing。
总结:第二阶段训练的时间很短,从女友家回来没几天,就被父母拉去逛亲戚家。才静下心来训练几天,明天又要去女友家了。不过去拔花生体验一下也是很快乐的。ACM总算入门了,这个假期有ACM有女友,足矣~下阶段打算把算法导论和C++ PRIMER看一部分,然后应该就迎接开学了。
本人的C++版AC解法:
1008
#include <iostream>
using namespace std;
int main()
{
}
1108
#include <iostream>
using namespace std;
int main()
{
}
int gyx(int m,int n)
{
}
1061
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
}
2035
#include <iostream>
using namespace std;
int main()
{
}
1021
#include <iostream>
using namespace std;
int main()
{
}
1205
#include <iostream>
using namespace std;
int main()
{
}
1071
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
}
- HDOJ学习笔记(二)
- HDOJ学习笔记(一)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- C#学习笔记(二)
- PE学习笔记(二)
- 数据库学习笔记(二)
- proftpd学习笔记(二)
- C#学习笔记(二)
- Duwamish7学习笔记(二)
- J2ME学习笔记(二)
- Android像素转换的研究(一)
- 用 ThreadLocal 管理用户session
- shell 学习笔记
- Ogre概要
- HDOJ学习笔记(一)
- HDOJ学习笔记(二)
- 分享Silverlight/WPF/Windows Phone一周学习导读(8月22日-8月27日)
- Android如何防止apk程序被反编译
- JBPM流程部署之流程版本升级
- IT人员迅速提升自我效率的十大方法
- 查票
- Android如何防止apk程序被反编译
- Android APK反编译详解(附图)
- SSH整合步骤