杭电oj
zfldongcidaci
这个作者很懒,什么都没留下…
展开
-
1027 Ignatius and the Princess II
代码如下:#include #includeusing namespace std;const int maxn=1000+5;int main(){ int m,n,a[maxn]; while(cin>>n>>m) { for(int i=1;i a[i-1]=i; m-原创 2017-03-23 09:07:54 · 222 阅读 · 0 评论 -
Gym Class(拓扑排序+vecteor+优先队列)-HDU5965
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5695 分析: 比赛的时候一眼看到就是拓扑排序,我就激动了,以为要过了,看到数据那么大,想了想用结构体,结果交上去超时,因为结构体需要全部搜一遍,时间多,所以用vector数组,方便找,vector[a].push_back(b),a是起点,b是终点。 找最大值,用优先队列。 拓扑排序思路:原创 2017-07-05 21:51:26 · 241 阅读 · 0 评论 -
杭电oj-1102 Constructing Roads(最小生成树Kruskal算法)
题意: 给吃n个村庄,接下来是n行n列数据,例如第一行第二个数据代表第一个村庄和第二个村庄之间的距离。 输入q; 接下来q行代表哪两个村庄之间已经修好路,让你求,还需要最少修多长的路。 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1102 分析: 考查最小生成树,最小生成树有两种算法(Prim算法和Kruskal算法),我用的是Kru原创 2017-04-26 23:20:46 · 457 阅读 · 0 评论 -
杭电oj-1018-Big Number
题意: 输入一个整数,求它的阶乘的十进制位数。 题目链接: (http://acm.hdu.edu.cn/showproblem.php?pid=1018) 分析: 方法一: 该题目是求lgN!。可分解如下: lg(N!) = lg(N(N-1)!) = lg(N) + lg((N-1)!) 则: lg(N!) = lg(N) + lg(N-1) + … + lg(1) 位数=原创 2017-04-24 10:37:07 · 288 阅读 · 0 评论 -
杭电oj1213——How Many Tables(并查集)
题意: 一个人举办聚会,让计算需要几张桌子,认识的人坐在一起,例如:A认识B,B认识C,那么认为A也认识C。 题目链接: (http://acm.hdu.edu.cn/showproblem.php?pid=1213) 分析: 主要用到并查集。 并查集详细用法: (http://blog.csdn.net/luomingjun12315/article/details/47373345原创 2017-04-25 23:40:54 · 365 阅读 · 0 评论 -
杭电oj1231(动态规划最大连续子序列之和)
给定K个整数的序列{ N1, N2, …, NK },其任意连续子序列可表示为{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个, 例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和 为20。 在今年的数据结构考卷中,要求原创 2017-05-03 19:06:19 · 389 阅读 · 0 评论 -
杭电1002(大整数相加)
A + B Problem IIProblem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.Input The first line of the input contains an integer原创 2017-05-04 09:47:11 · 235 阅读 · 0 评论 -
杭电oj2084树塔(动态规划树塔问题)
在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗? Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第原创 2017-05-03 23:00:02 · 2124 阅读 · 2 评论 -
杭电oj1045——Fire Net
本题用到了深度优先算法(dfs)。 题目链接:杭电oj1045——Fire Net主要题意: 一个不超过4的表格,有墙(用‘X’表示),有空地方(用‘.’表示),让你放置碉堡,同行或者同列不能放两个(除非有墙隔开),求能最多放几个。思路: 判断某个位置能否放置碉堡:在这个位置向四个方向搜索,出界或者遇到墙停下,如果某一行或者某一列已经放置碉堡,则这个位置不能放。 代码:#include <i原创 2017-04-10 11:51:15 · 451 阅读 · 0 评论 -
Average is not Fast Enough!
#include #include#includeusing namespace std;int main(){ int n; char c,h,m1,m2,s1,s2; cin>>n; double d; cin>>d; int number; while(cin>>number) {原创 2017-03-21 22:16:42 · 186 阅读 · 0 评论 -
poj24047-Relatives(欧拉函数)
题目链接:(http://poj.org/problem?id=2407) 题意: 给出一个整数n,求小于n的与n 互素的个数。其实就是 欧拉函数的应用。 欧拉函数的讲解,有个讲解的很好,链接给出来:http://blog.csdn.net/dt2131/article/details/52116264 代码如下:#include <iostream>#include<algorithm>原创 2017-05-26 23:13:04 · 219 阅读 · 0 评论