POJ 2249 Binomial Showdown C++版
题目链接:http://poj.org/problem?id=1006
题目要求我们求组合数
公式如下
其中我们可以优化下算法,因为
这样k和n-k就取小的计算就是了,其中fixed指不使用科学计数法,其实用printf输出方便的多
代码如下:
1 | /*************************************** |
题目链接:http://poj.org/problem?id=1006
题目要求我们求组合数
公式如下
其中我们可以优化下算法,因为
这样k和n-k就取小的计算就是了,其中fixed指不使用科学计数法,其实用printf输出方便的多
代码如下:
1 | /*************************************** |
题目链接:http://poj.org/problem?id=1026
这个题给我们了字符串的对应关系,要求我们根据变换顺序转换n次输出字符串,如:
3
2 1 3
1 abc
那么就是abc经过一次转换,根据对应关系得bac。
我们来分析下题目的例子
1 2 3 4 5 6 7 8 9 10
4 5 3 7 2 8 1 6 10 9
那么原来第一位上的数经过一次变换就到了第四位上,其他同理,我们要是纯模拟,一定会超时。我们来观察下数列变化,其实变化时一个循环,只是每一位的循环长度不同,
1—>4—>7—>1
2—>5—>2
那么我们用转换次数取余这个循环数,可以省去很多的时间。细节见注释!
代码如下:
1 | /*************************************** |
题目链接:http://poj.org/problem?id=1057
解释下题意,输入文件系统,dir*就是定义一个文件夹,]就是结束这个文件夹的定义,其中我们观察第2个例子可以看出,每个文件夹里的文件要排序输出,这点要注意
查阅了几篇文章,看到个用vector做的,其中利用了string,不禁感叹,用string表示字符串数组真实太方便了,其中排序,量长度,大小都有函数,总的来说思路算是DFS但是不是搜索,利用递归输入文件,每一次输入新的文件夹,递归输入一次,正好符合题目的输入格式,输出的时候也是,只不过多了个n表示数据层次,方便输出分隔符,也就是|。具体思路看注释把!
至于为什么有两个string头文件,因为我用g++编译的但是用的c++提交,其中这个是没有c的!
代码如下:
1 | /*************************************** |
题目链接:http://poj.org/problem?id=1503
高精度加法,要求输出所有输入的数的和;
100位的数,无法用变量储存,解题方法不难,简单模拟加法的过程;也就是满10进位的方法,我们利用数组,储存每一位数,然后由个位开始相加在加上上一位的进位数,得出这个位上的数,和下一个进位数,其中有一点需要注意,也是我一直WA的一个地方,
1 | num[num[0]+1]+=jw; |
我用的数组的第一位数储存,字符串长度,
代码如下:
1 | /*************************************** |
题目链接:http://poj.org/problem?id=1200
解释下题意,一个由nc格字母组成的字符串,求有多少种长度为n的子串!比如
“daababac”就有5种长度为3的字符串”daa”; “aab”; “aba”; “bab”; “bac”
分析下题意,要求分辨子串是否不同,纯字符判断会花很多时间,我们构建一个nc进制的数列,将所有字符转换为0,1,2。。nc-1的数字,求每个子串对应的值是否相同就可以间接反映子串是否相同,
其中ch为字符串,used记录是否出现过,hash分配数字,
代码如下
1 | /*************************************** |
题目链接:http://poj.org/problem?id=2105
将2进制的ip地址转换为10进制,每8位取一次,正常转换就是了!
1 | /*************************************** |
题目链接:http://poj.org/problem?id=2000
先开始一天,每天1枚硬币,后两天每天两枚,后三天每天三枚,不难,处理好收尾的几天就是了
代码如下:
1 | /*************************************** |
题目链接:http://poj.org/problem?id=2017
给出每段时间的速度,求出长度,分段计算就是了
1 | /*************************************** |
题目链接:http://poj.org/problem?id=1658
最近光做水题!
1 | /*************************************** |
题目链接:http://poj.org/problem?id=1517
根据公式计算输出就是了,不过这个公式是求e的,还找了下e的计算原理!
1 | /*************************************** |