编程路漫漫

事事我曾努力,成败何须怨我。

pta-L3-007 天体地图 最短路

题目 题意:最短时间的路若相同取最短距离,最短距离若相同取最小途径数。 我一开始看成了最短时间求最小距离,最小距离求最短时间,疯狂WA,然后有500个点,并且边也非常多。 题解:dijkstra变形,和直捣黄龙,紧急救援差不多。 代码: #include <ios...

2019-02-12 19:16:27

阅读数 361

评论数 0

pta-L3-011 直捣黄龙 dijkstra

题目 题意:求最短路,同等长度下取经过最多城镇的,同等城镇数下取杀敌最多的。 输出最短路径数,最短距离,杀敌数。 题解: 和L2的紧急救援非常类似。三角更新的时候分类讨论即可。 输出是倒序可以用函数递归输出。 地名因为是三个大写字母所以用26进制表示,然后开数组存一下对应关系就好了。 ...

2019-02-11 21:15:07

阅读数 85

评论数 0

pta-L3-008 喊山 BFS

题目 题解:BFS,我没考虑相同输出最小居然也水过…… 代码: #include <iostream> #include<cstdio> #include<queue&am...

2019-02-08 14:21:44

阅读数 111

评论数 0

pta-L3-002 特殊堆栈 树状数组+二分

题目 题意:中文题目 题解:关键在于查询中间值,可以用树状数组加二分的方法查找中值,用stl里的栈模拟栈操作即可。 时间复杂度:O(log²(n)) 代码: #include <iostream> #include <c...

2019-02-06 15:58:51

阅读数 221

评论数 0

pta-L3-001 凑零钱 01背包

题目 题意:给出所有钞票,凑出给定金额,输出用了哪些钱,并且要求钱的序列最小。 题解:01背包,要求最小实际上就是要求尽量长。 代码: #include <iostream> #include<cstdio&amp...

2019-02-05 21:23:55

阅读数 155

评论数 2

pta-top 1009 Triple Inversions 树状数组

题目 题意:求三元逆序对。 题解:其实就是求每个数作为逆序对前元和后元的次数,两个相乘即可。 用树状数组正反各来一次即可。 代码: #include <iostream> #include<cstdio&...

2019-02-05 19:19:40

阅读数 56

评论数 0

pta-top 1010 Lehmer Code 树状数组

题目 题意:给定一个数列,求对每一个数求后面有多少个数比这个小。 题解:用a[n]存储数列,用d[n]表示数字n是否存在(存在为1否则为0),然后倒序插入,求当前已经插入的有多少个比他小即可。 代码: #include <iostream> #...

2019-02-05 19:00:20

阅读数 41

评论数 0

pta-top 1008 Airline Routes

题目 题解:裸的tarjan 代码: #include<cstdio> #include<iostream> #include<algorithm> #inc...

2019-01-23 16:56:50

阅读数 62

评论数 0

pta-top 1002 Business

题目   题意:有很多任务,完成任务可以获得受益,每个任务有所需时间和截至日期,不能同时做两个任务,问合理选择任务能达到的最大收益。   题解:显然01背包,把容量限制和截止日期限制取交集即可。但是要注意应该先按照截至日期从早到晚排序。因为同等容量下,把截至日期早的放后面的组合一定可以换成把截...

2019-01-23 16:53:22

阅读数 50

评论数 0

pat-top 1001 Battle Over Cities - Hard Version

题目   题意:给一张图,图上有好的路和坏的路,坏的路修复需要代价,将一个点移除,如果要保证其他点联通,有可能需要修复坏的路,问哪些点被移除产生的代价最大。   题解:n次最小生成树,把好的路视为0花费的路加入就可以了。但是要注意,有可能修复所有的路仍然不连通,这种情况的花费应视为无限大。 ...

2019-01-23 16:47:00

阅读数 178

评论数 0

廖雪峰Python教程:filter习题答案

def floor(x): if(x<int(x)): return int(x)-1 else : return int(x) def is_palindrome(n): numstr=str(n) ...

2018-12-11 16:45:33

阅读数 96

评论数 0

廖雪峰Python教程:生成器习题答案

  语法不熟悉,老是出错……     杨辉三角定义如下: 1 / \ 1 1 / \ / \ 1 2 1 / \ / \ / \ 1 3 3 1 / \ / \ ...

2018-11-21 15:25:22

阅读数 69

评论数 0

POJ 2186 Popular Cows

http://poj.org/problem?id=2186 题意:有向图求能被所有其他点到达的点的个数。 题解:强连通缩点,求出度为0的分量,如果只有一个输出分量大小,如果大于一个,则这两个分量不连通,不存在这样的点。 代码: #include <iostream...

2018-09-29 20:12:23

阅读数 72

评论数 0

HDU 5514 Frogs 容斥

http://acm.hdu.edu.cn/showproblem.php?pid=5514 没有想到怎么利用gcd的性质来改进指数级别的容斥,还是没有理解容斥的思想,只知道基础的。 已经知道结果就在因数之中,只要计算因数可以算几次就可以了。 代码: #include &...

2018-09-23 16:20:44

阅读数 47

评论数 0

HDU 4408 Minimum Spanning Tree 最小生成树计数

http://acm.hdu.edu.cn/showproblem.php?pid=4408 题意:求最小生成树个数 题解:对于Kruskal算法,我们发现,最小生成树要想用多种方法就要有长度相同的边。而且,我们发现,kruskal处理完长度所有为c1的边之后,他的结果就是用长度为c1的边生成...

2018-09-12 20:45:24

阅读数 56

评论数 0

HDU 4305 Lightning 生成树计数

http://acm.hdu.edu.cn/showproblem.php?pid=4305 题意:距离小于r可以联通,但是中间不能被挡住。 代码: #include<bits/stdc++.h> using namespace std; t...

2018-09-11 23:03:26

阅读数 33

评论数 0

ural 1627 Join 生成树计数

http://acm.timus.ru/problem.aspx?space=1&num=1627 生成树计数模板 #include<bits/stdc++.h> using namespace std; typedef...

2018-09-11 21:17:20

阅读数 32

评论数 0

SPOJ Find The Determinant III 计算行列式

https://www.spoj.com/problems/DETER3/en/ 题意:计算行列式 #include <iostream> #include<cstdio> #include&am...

2018-09-11 20:28:58

阅读数 31

评论数 0

HDU 2121 Ice_cream’s world II 最小树形图

https://cn.vjudge.net/problem/HDU-2121 题解:首都在的地方在进行朱刘算法的时候注意不要改变边的序号。 代码: #include <iostream> #include<cstdio&am...

2018-09-07 17:00:32

阅读数 27

评论数 0

HDU 4081 生成树

http://acm.hdu.edu.cn/showproblem.php?pid=4081 题意:给定点坐标求最小生成树,可以让一条路距离变为0,现在要使得选择的这条路端点点权之和/这条路为0的最小生成树边权之和的值最大。 题解:求次小生成树后产生数组length[x][y]表示从x到y走最...

2018-09-06 19:42:36

阅读数 62

评论数 0

提示
确定要删除当前文章?
取消 删除