自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程路漫漫

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

  • 博客(109)
  • 收藏
  • 关注

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

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

2019-02-12 19:16:27 622

原创 pta-L3-011 直捣黄龙 dijkstra

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

2019-02-11 21:15:07 717

原创 pta-L3-008 喊山 BFS

题目题解:BFS,我没考虑相同输出最小居然也水过……代码:#include <iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;const int maxn = 1e4+5;const int maxm = 1e5;bo...

2019-02-08 14:21:44 719

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

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

2019-02-06 15:58:51 750

原创 pta-L3-001 凑零钱 01背包

题目题意:给出所有钞票,凑出给定金额,输出用了哪些钱,并且要求钱的序列最小。题解:01背包,要求最小实际上就是要求尽量长。代码:#include <iostream>#include<cstdio>#include<algorithm>using namespace std;const int maxn = 1e4+5;const i...

2019-02-05 21:23:55 848 2

原创 pta-top 1009 Triple Inversions 树状数组

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

2019-02-05 19:19:40 154

原创 pta-top 1010 Lehmer Code 树状数组

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

2019-02-05 19:00:20 156

原创 pta-top 1008 Airline Routes

题目题解:裸的tarjan代码:#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int maxn = 1e4+10;const int maxm =6e4+10;struct ed...

2019-01-23 16:56:50 247

原创 pta-top 1002 Business

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

2019-01-23 16:53:22 260

原创 pat-top 1001 Battle Over Cities - Hard Version

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

2019-01-23 16:47:00 409

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

def floor(x): if(x<int(x)): return int(x)-1 else : return int(x) def is_palindrome(n): numstr=str(n) llen=floor(len(numstr)/2) if(llen==0): retur...

2018-12-11 16:45:33 525

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

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

2018-11-21 15:25:22 672 1

原创 POJ 2186 Popular Cows

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

2018-09-29 20:12:23 215

原创 HDU 5514 Frogs 容斥

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

2018-09-23 16:20:44 146

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

http://acm.hdu.edu.cn/showproblem.php?pid=4408题意:求最小生成树个数题解:对于Kruskal算法,我们发现,最小生成树要想用多种方法就要有长度相同的边。而且,我们发现,kruskal处理完长度所有为c1的边之后,他的结果就是用长度为c1的边生成了一棵树,而且这棵树对于下面的影响都是一样的,因为只有效果重复的边才不会被加入集合,所以我们只需要记录...

2018-09-12 20:45:24 208

原创 HDU 4305 Lightning 生成树计数

http://acm.hdu.edu.cn/showproblem.php?pid=4305题意:距离小于r可以联通,但是中间不能被挡住。代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn =305;const ll mode =1e4+7;str...

2018-09-11 23:03:26 154

原创 ural 1627 Join 生成树计数

http://acm.timus.ru/problem.aspx?space=1&num=1627生成树计数模板#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 105;const int mode= 1e9;ll a[maxn][maxn];...

2018-09-11 21:17:20 135

原创 SPOJ Find The Determinant III 计算行列式

https://www.spoj.com/problems/DETER3/en/题意:计算行列式#include <iostream>#include<cstdio>#include<bits/stdc++.h>using namespace std;typedef long long ll;ll a[205][205];ll mode;...

2018-09-11 20:28:58 152

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

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

2018-09-07 17:00:32 118

原创 HDU 4081 生成树

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

2018-09-06 19:42:36 201

原创 网络流24题

1/24 飞行员配对方案问题题解:二分匹配代码:#include <iostream>#include<bits/stdc++.h>using namespace std;const int maxn = 105;int g[maxn][maxn];int linker[maxn];bool used[maxn];int n,m;bool d...

2018-09-05 21:32:13 252

原创 POJ 1679 The Unique MST 生成树

http://bailian.openjudge.cn/practice/1679题解:次小生成树。代码:#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 10...

2018-09-05 21:28:52 129

原创 HDU 3829 Cat VS Dog 最大独立集

http://acm.hdu.edu.cn/showproblem.php?pid=3829题解:将学生复制一份,然后求最大匹配除以二代码:#include<cstdio>#include<iostream>#include<cstring>#define maxn 505using namespace std;int n,m,p;in...

2018-08-28 18:14:57 78

原创 HDU 4283 You Are the One 区间DP

http://acm.hdu.edu.cn/showproblem.php?pid=4283题意:一队人在排队,每个人有一个数值m,他的不满值等于m*k,k是他要等的人数。比如队中第三个人他的不满值就是m*2.但是你现在有一个栈,你可以把人入栈,先访问他后面的人,这样来改变顺序。求最小的不满。题解:我一开始以为是用栈模拟,搞了好久……最后发现是一个区间DP;对于一段区间[i,j...

2018-08-19 16:47:54 161

原创 HDU 3652 B-number 数位DP

http://acm.hdu.edu.cn/showproblem.php?pid=3652题意:如果一个数含有‘13’并且可以被13整除,就叫他b数,对于给定N求不大于N 的b数的个数。题解:数位DP模板题。代码:#include <iostream>#include <cstdio>#include <cstring>using na...

2018-08-18 22:42:04 112

原创 HDU 2476 区间DP

http://acm.hdu.edu.cn/showproblem.php?pid=2476题解:区间DPdp[i][j]表示把一个空的表中的[i,j]区间涂成s2需要的最少步数。然后再DP一遍,这次考虑到s1已经有的颜色对步数的优化。代码:#include <iostream>#include <cstdio>#include <cstri...

2018-08-18 22:38:00 90

原创 poj 2823 Sliding Window 线段树 读入挂

http://poj.org/problem?id=2823题解:直接用线段树会超时,我又加了个读入挂水过了……权当记录读入挂了代码:#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int N=1000005;int Min...

2018-08-15 17:14:36 123

原创 HDU 2059 龟兔赛跑 DP

http://acm.hdu.edu.cn/showproblem.php?pid=2059题意:中文题解:dp[i]表示到第i个充电站需要的最短时间。转移时枚举前面的充电站作为最后一个充电站时候的值。起点设为第0个充电站,七点不需要充电,所以设为负数抵消充电费用。代码:#include <iostream>#include <cstdio>using...

2018-08-15 17:05:34 134

原创 BZOJ 1055 玩具取名 区间DP

https://www.lydsy.com/JudgeOnline/problem.php?id=1055题意:中文题解:DP[i][j][k]表示区间i到j能否合成字符k;s[i][j][k]表示合成字符i的第j种方法的第k个字符。代码:#include <iostream>#include<cstdio>#include<cstring&...

2018-08-14 15:02:02 123

原创 BZOJ 1079 着色方案 记忆化搜索 DP

https://www.lydsy.com/JudgeOnline/problem.php?id=1079题意:中文题解:开一个六维数组,ai表示能使用i次的颜色数目,last 表示上一次用的颜色当时能用几次。代码:#include <iostream>#include<cstdio>#include<cstring>using nam...

2018-08-14 13:50:15 156

原创 HDU 5009 Paint Pearls DP 双向链表

http://acm.hdu.edu.cn/showproblem.php?pid=5009题意:对一段字符串操作,一次操作可以操作一段连续的区间,开销为这段区间颜色种类数的平方。求使字符串每一个元素都被操作过至少一次的最小开销。题解:DP的转移过程挺好想,就是(num(j,i)表示区间[i,j]的颜色种类数)但是朴素的写会超时。算一下样例二会发现中间一大段只有3,2,4三种颜色,这一...

2018-08-13 21:50:29 119

原创 SCOI 2005 互不侵犯 状压DP

题解:状压DP,先预处理出一行的情况,可以省很多时间。最后统计的时候,只统计最后一行,因为前几行成功的方案数也被统计到了最后一行。最后注意longlong代码:#include <iostream>#include<cstdio>#define maxs 2050using namespace std;int king[maxs],state[maxs];...

2018-08-10 20:01:00 121

原创 洛谷 2622 关灯问题 Ⅱ BFS 状压

https://www.luogu.org/problemnew/show/P2622题解:压缩成二进制BFS;代码:#include <iostream>#include<cstdio>#include<cstring>#include<queue>#define maxs 2050#define maxm 105#def...

2018-08-10 18:30:28 201

原创 洛谷 1220 关路灯 区间DP

题解:关掉一个区间的等,可以转换成更小的区间,区别在于从这个小区间的哪一段跑。代码:#include <iostream>#include <cstdio>#include<cstring>#define maxn 60using namespace std;int a[maxn],b[maxn],f[maxn][maxn][2],sum[m...

2018-08-10 15:34:34 195

原创 洛谷 1880 石子合并 区间DP

题解:区间DP注意寻找最小值,要在dp结束后寻找。代码:#include <iostream>#include<cstdio>using namespace std;int a[205];int dp[2][205][205],n;int sum[205];int main(){ scanf("%d",&n); int maxn=0...

2018-08-10 14:21:18 183 1

原创 洛谷 1063 能量项链

https://www.luogu.org/problemnew/show/P1063题解:区间DP,环可以通过复制一份接在后面转化成链进行DP;代码:#include <iostream>#include <cstdio>using namespace std;int a[205];int dp[205][205];int main(){ in...

2018-08-10 13:45:24 214 1

原创 洛谷 1169 棋盘制作 DP

https://www.luogu.org/problemnew/show/P1169题解:一开始一直在想怎么处理间隔。发现题解是按照奇偶取反转换成了玉蟾宫,……真的很巧妙,求正方形就是取矩形较小的边平方代码:#include <iostream>#include<cstdio>#include<cstring>using namespace...

2018-08-08 21:02:48 201

原创 洛谷 4147 玉蟾宫 DP 悬线法

https://www.luogu.org/problemnew/show/P4147题意:寻找面积最大的由F构成的子矩阵题解:悬线法模板题代码:#include <iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1005;int...

2018-08-08 19:08:15 193

转载 浅谈用极大化思想解决最大子矩形问题

【摘要】    本文针对一类近期经常出现的有关最大(或最优)子矩形及相关变形问题,介绍了极大化思想在这类问题中的应用。分析了两个具有一定通用性的算法。并通过一些例题讲述了这些算法选择和使用时的一些技巧。 【关键字】 矩形,障碍点,极大子矩形 【正文】一、   问题最大子矩形问题:在一个给定的矩形网格中有一些障碍点,要找出网格内部不包含任何障碍点,且边界与坐标轴平行的最大...

2018-08-08 18:18:30 440

原创 洛谷 2672 推销员 贪心

https://www.luogu.org/problemnew/show/P2672题意:中文题解:这题被学姐放在DP里了,然鹅我实在想不到O(n)的转移,想了半天,发现可以直接贪心。把住户按照推销疲劳从大到小排序,向X人推销的最大值,有两种可能。第一种,向前X人推销。第二种,向前X-1人和a最大的人推销。当前X人包含A最大的时,就只有一种情况。代码:#include ...

2018-08-08 17:54:29 418

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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