自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (4)
  • 收藏
  • 关注

原创 牛客练习赛25A题-找规律

链接:https://www.nowcoder.com/acm/contest/158/A 来源:牛客网题目描述q次询问,每次给一个x,问1到x的因数个数的和。输入描述:第一行一个正整数q ; 接下来q行,每行一个正整数 x输出描述:共q行,每行一个正整数表示答案 示例1 输入 4 1 2 3 10 输出 1 3 5 27说明...

2018-08-31 17:45:02 289

原创 Swap HDU - 2819 二分图最大匹配

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2819 题意: 给定一个01010 1矩阵,是否可以通过行变换或列变换使其主对角线全文111,如果可以输出该变换序列,否则输出−1−1-1。分析: 如果主对角线全为111,那么这些111的横纵坐标刚好分别使用了1 n1 n1~n,那么对应变换会原来的矩阵中,同样...

2018-08-24 17:36:35 232

原创 Friend-Graph HDU - 6152 图论 拉姆齐定律 最大团

题意: 在一个团队中如果有三个或更多人之间互相认识或互相不认识,那么这个团队就被称为”Bad Team”,否则被称为”Great Team”。给定一个团队的信息,然你判定这个团队是哪一种。分析: 问题可以抽象为在一个点数为NNN的无向图中是否存在一个完全图KnKnK_n(KnKnK_n代表定点数为nnn的完全图。),3≤n≤N3≤n≤N3 \le n \le N,又由于Kn,...

2018-08-23 15:20:25 335

原创 关于逆元

一会儿再写

2018-08-23 10:03:51 149

原创 Computer HDU - 2196 树的直径

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2196题意: 在一个树中,求各个点到其他点的最远距离。思路: 我们可以使用搜索求出一个点到其他点的最远距离,因此很容易想到对每个点进行一次搜索,但这个复杂度就比较高了,会超时。树上直径有一个性质:假设aaa和bbb是树上直径的两端点,那么对于其他任一点iii到其他点的最远距离...

2018-08-21 17:47:42 155

原创 POJ 3255 次短路径

#include <bits/stdc++.h>#define N 105#define INF 1e10#define fp(_p,_q,_r) for(int _p = _q;_p < _r;_p ++)using namespace std;int ro,n,co[N][2];double cost[N][N];double d[N];bool used[N...

2018-08-21 15:37:17 122

原创 牛客Wannafly挑战赛9C题-简单Hash哈希

链接:https://www.nowcoder.com/acm/contest/71/C 来源:牛客网时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述小W在计算一个数列AnAn{A_n},其中A1=1,A2=2,An+2=An+1+AnA1=1,A2=2,An+2=An+...

2018-08-21 15:33:08 135

原创 Max Sum HDU - 1003 简单动态规划

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003题意: 题中给出一个数组,让你求出子数组和的最大值,以及起始位置。思路: 首先很容易想到 O(2N)O(2N)O(2^N) 的解法,但这明显是不行的。我们可以使用动态规划的思想解这道题。用 curcurcur 结构体保存当前子数组最大值的相关信息(最大值和起始位置),cu...

2018-08-19 22:04:00 155

原创 Remember the Word UVALive - 3942 字典树 + 动态规划(Trie + dp)

题目链接:https://cn.vjudge.net/problem/UVALive-3942题意: 给出一个由小写字母组成的长串和若干个小串,求由这些小串来组成这个长串共有多少种可能。思路: 计数问题很容易想到 dp,但本题使用纯 dp 会超时,原因在于每次小串和长串匹配太耗时。我们可以使用字典树来保存这些小串,使得我们匹配时更新快速。设长串用sss表示,设用数组 r...

2018-08-18 14:57:24 241

原创 异或最大值 CSU - 1216 0-1字典树(0-1Trie)

题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1216 题意: 给定一串数字(int范围内),求这些数字的两两最大异或值。思路: 首先肯定可以暴力枚举,但是O(N^2)的时间复杂度太高,这道题应该使用字典树。将每个数分解成二进制串存储到字典树中,根在高位的方向,容易知道,这棵树的高度为32,每一层对应32位整...

2018-08-17 17:45:27 395

原创 Assemble UVALive - 3971 二分法

题意: 你需要组装电脑,一共有n个配件,b的预算,n个配件中包含了各类电脑配件的价格和品质。组成一台计算机的配件的品质可能不同,但其性能取决于品质最差的那个配件。问在预算内可以使得电脑达到的最大性能是多少。思路: 大致思路是在0~最大品质之间二分,看某个品质当前预算是否能够满足品质为q的电脑,每次选取零件的时候我们总是选择满足条件中的最便宜的零件。如此二分下去,最终就能得到答...

2018-08-17 10:42:30 296

原创 Milking Time POJ - 3616 简单DP 最长递增子序列变形

题目链接POJ3161 题意: 一头奶牛为自己未来 n 小时的产奶做规划,共有m个时间段,每个时间段用三个字母表示,s:该时段开始时间,d:该时段结束时间,p:该时间段产奶量。并且每次产完奶之后需要休息 r 小时休息才能进行下一次产奶。问最大产奶量是多少?分析: 这也是一道求子序列的题目,该子序列需要满足的条件是1.和最大;2.子序列中前一个元素的结束时间+休息时间 &lt...

2018-08-16 21:19:33 428

原创 Super Jumping! Jumping! Jumping! HDU - 1087 最长递增子序列变形

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1087 题意: 有一种游戏,给定你一个数字序列,从一头走到另一头,可以跳任意步,每经过一个点,该点的数字就会累加到你的分数中,问最多可以获得多少分。思路: 这个归根到底是求一个递增的序列,这个序列满足某种限制,这样一来就和最长递增子序列有些相似,在最长递增子序列中,是求一个递增的子...

2018-08-16 20:02:17 322

原创 The Accomodation of Students HDU - 2444 二分图判定 + 二分图最大匹配

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2444 题意: 有一组学生(点),他们之间有相互认识的关系(边),问能否分成两组使得组内没有相识的人,不能的话输出“No”,注意不是“NO”,因为这个wa了半天=_=,如果能的话则对他们安排住宿,使得两个相互认识的人住在一个双人间里,问需要多少个双人间。分析: 分组就是二分图判定,...

2018-08-16 09:29:36 425

原创 Fire Net HDU - 1045 二分图最大匹配模板+缩点

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1045题意: 在一个用网格表示的城市中有若干个墙,还有可以向四方扫射的机枪,机枪的子弹可以可以打穿机枪,但不能打穿墙,给出城市的地图,计算可放置机枪的最大数目。思路: 很容易想到的是使用搜索,穷举即可。但是这道题也可以巧妙的使用二分图匹配来做。分别按照横向和纵向将每行每列的连续空...

2018-08-15 19:44:59 438

原创 Drainage Ditches POJ - 1273 裸最大流

题目链接:http://poj.org/problem?id=1273 题意: 就是排水问题,裸裸的最大流。代码:#include <cstring>#include <iostream>#include <cstdio>#include <vector>#define INF (1 &lt

2018-08-10 16:33:10 735

原创 Dining POJ - 3281 最大流

题目链接:http://poj.org/problem?id=3281 题意: 农场有很多牛,不同的牛有着多种不同的食物和饮料偏好,每顿饭吃一种食物和饮料,每种饮料和食物只能被一头牛吃,问最多能使多少牛即吃到喜欢食物又喝到喜欢的饮料。分析: 将牛拆分为2个点,一个跟食物连边,另一个跟饮料连边,然后对应的牛之间进行连边。最后虚拟出一个源点和汇点,计算从源点到汇点的最大流即可。...

2018-08-10 15:45:03 760

原创 Roadblocks POJ - 3255 次短路径

题目链接:http://poj.org/problem?id=3255 题意: 主人公想要找到一条道目的地的次短路径,问次短路径的长度为多少。这题裸次短路,直接套模板即可。#include <bits/stdc++.h>#define N 105#define INF 1e10#define fp(_p,_q,_r) for(int _p = _q;_p <...

2018-08-10 14:51:26 828

原创 畅通工程再续 HDU - 1875

#include <bits/stdc++.h>#define N 105#define INF 1e10#define fp(_p,_q,_r) for(int _p = _q;_p < _r;_p ++)using namespace std;int ro,n,co[N][2];double cost[N][N];double d[N];bool used[N...

2018-08-02 10:52:12 862

原创 Truck History POJ - 1789 最小生成树

题意: 给定若干个定长字符串,规定两个字符串之间的距离为两个字符串对应位置不同自付的个数。然后求从一个字符串最少经过多少距离可以变异成这个字符串集。思路: 构建一副图求最小生成树的权重即可。注意一点,这里使用 string 会TLE。#include <cstring>#include <iostream>#include <cstdi...

2018-07-31 21:23:23 842

原创 Networking POJ - 1287 最小生成树水题 Prim 模板

题意: 这道题其实就是在 N 个点的图中装宽带,要求全部互联。因为有重边,而且数据范围比较小,我们直接使用邻接矩阵存储,使用 Prim 算法就ok。代码:#include <iostream>#include <cstdio>#define N 55#define E 2000#define INF (1<&l

2018-07-31 19:33:36 896

原创 Jungle Roads POJ - 1251 最小生成树水题

题意: 没什么意思,就是最小生成树,直接贴代码,坑在于输入。代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#define E 100#define N 30#define fp(_p,_q,_r)

2018-07-31 16:52:20 819

原创 Invitation Cards POJ - 1511 往返最短路径

题目链接http://poj.org/problem?id=1511 题意: 在一个有向图中,求从源点出发到达所有点,再返回源点的总花费。其实所有点的往返路径的最小值的和。思路: 普通的往返路径类题目可以直接转置邻接矩阵,但是这道题的点比较多,我们需要采用邻接表的形式存储图。但通过邻接表建立反向图的过程又比较复杂,所以我们直接在输入的时候分别建立两个不同方向的图。然后使用 ...

2018-07-31 13:27:41 1185

原创 最长连续递增子序列(Longest Continuous Increasing Subsequence)

题目解释: 最长连续递增子序列是在一个未经排序的整数数组中,最长且连续的的递增序列,简称 LCIS。 例如: [1,3,5,4,7], 最长连续递增序列是 [1,3,5], 长度为3,尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 [2,2,2,2,2], 最长连续递增序列是 [2], 长度为1。思路分析: ...

2018-07-31 09:59:56 3413

原创 最长公共子序列——Longest Common Sequence

名词解释: 所谓最长公共子序列就是在一个序列中按原顺序抽出若干项组成的新序列,注意子序列中各元素顺序应与原序列相同。 此题可用动态规划来解。#include <bits/stdc++.h>using namespace std;int dp[25][25];int lcs(string x,string y){ memset(dp,0,sizeof...

2018-07-31 09:59:20 1057

原创 最长递增子序列——Longest Increasing Subsequence

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 O(n)的解法: 我们设立一个数组 dp ,使用 dp[i] 记录 以 nums[i] 结尾的LIS 的长度,那么 dp[i] 就等于 num[i] 跟 dp[0…i - 1] 所组成...

2018-07-31 09:59:07 996

原创 Currency Exchange POJ - 1860 负权环检测变形

题意: 在一个城市中有 n 个货币交换点,每个交换点可以接受两种货币的交换,不同的交换方式有不同的汇率和手续费。问是否存在一种交换方式使得某人在这个交换过程中可以获利。 思路: 这道题不难,本题类似于负权环的检测,经过负权环之后,成本可以不断减少。如果我们在这道题中存在一个环可以使得我们不断获利,那么我们必然可以在整个过程中获利。我们在 Bellman-Ford 算法或者 SP...

2018-07-30 23:00:17 969

原创 最短路问题模板——迪杰斯特拉算法(Dijstra)、Bellman-Ford算法、弗洛伊德算法(Floyd-Warshall)、SPFA算法

Dijstra算法://POJ 2378#include <bits/stdc++.h>using namespace std;#define MAXN 1005const int INF = (1 << 30);int t,V,d[MAXN],costs[MAXN][MAXN];bool used[MAXN]

2018-07-30 19:44:15 1318

原创 Heavy Transportation POJ - 1797 && Frogger POJ - 2253 Dijstra 算法变形

这两道题都对 Dijstra 进行了改造,继承了 Dijstra 的精髓,也就是贪心和松弛。我们先找贪心的从未访问过的点中找到最符合条件的点,因为通过这个点确定的边进行松弛之后有可能改善之前的情况,比如最短路中先找到当前最短的边,然后利用这条边进行松弛,就可能通过这条边找到到其他点的最短路径,然后重复此过程即可。POJ 1797 题目链接题意: 在一个图中,每条边都有一定的承载力,...

2018-07-30 10:32:23 845

原创 Silver Cow Party POJ - 3268 往返最短路径

题目链接 题意: 在一个有向图中,求所有点到一个目标点 X 的往返路径和的最大值。思路: 首先很容易想到 Floyd 算法求得任意两点之间的最短路径,然后再算 min(d[i][X] + d[X][i]) (d[i][j] 表示 i 到 j 的最短路径),但是 O(N^3) 的复杂度会超时。 我采用 Dijstra 算法,先计算以目标点 X 为单源点的最短路径,也就是...

2018-07-29 22:09:42 1013

原创 LeetCode-684/685 冗余连接

题目描述: 在本问题中, 树指的是一个连通且无环的无向图。 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。 结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。 返回一条可以删去...

2018-07-24 15:21:04 1375

原创 2018年网易秋招笔试真题——游历魔法王国

题目描述: 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树。 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次。 如果小易到达过某个城市就视为小易游历过这个城市了,小易现在要制定好的旅游计划使他能游历最多的城市,请你帮他计算一下他最多能游历过多少个城市(注意0号城市已经游历了,游历过的城市不重复计...

2018-07-21 17:35:45 1435

原创 二分图判定

二分图判定是指给定一个具有 n 个顶点的图,要给图上每个顶点染色,并且要使相邻的顶点颜色不同。问是否能用最多 2 种颜色进行染色?保证图中没有重边和自环。 把相邻顶点染成不同颜色的问题叫做图的着色问题。对图进行染色所需要的最小颜色数称为最小着色数。最小着色数是 2 的图称作二分图。例如:上图显然不是一个二分图,因为三个顶点两两相连,至少需要三种不同颜色;而这个图显然是一个二...

2018-07-20 22:33:10 1485

C++ STL源码

The STL was developed on SGI MIPSproTM C++ 7.0, 7.1, 7.2, and 7.2.1. If you are using the 7.0 compiler, you must compile using either the -n32 or the -64 flag; if you are using 7.1 or later, you may use -o32, -n32, or -64. The STL has also been tested on Microsoft Visual C++ 5.0, on g++ 2.8.1, and on recent egcs snapshots. All of the STL except for the <string>, <bitset>, and <valarray> headers has also been tested on Borland 5.02. It should not be difficult to use the STL with other compilers that have good support for templates, especially compilers that use the EDG front end. This distribution of the STL consists entirely of header files: there is no need to link to any library files. You can view or download a header file individually, or you can download all of them as a tar or zip file. (Note that v3 has many more header files than v1 and v2 did, because it provides both old-style and new-style header names. Many of the files in v3 are very short, and do little other than forwarding.)

2018-08-07

Introduction to Algorithms, Third Edition(算法导论原书英文第三版)

Introduction to Algorithms, Third Edition(算法导论)

2018-08-07

kuangbin的ACM模板(2018年7月新版).pdf

邝斌大神的 ACM 模板,2018年7月版本,更新了以前的一些错误。

2018-07-31

挑战程序设计竞赛(第2版)[秋叶拓哉][世界顶级程序设计高手的经验总结].pdf

挑战程序设计竞赛(第2版)[秋叶拓哉][世界顶级程序设计高手的经验总结].pdf

2018-02-22

空空如也

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

TA关注的人

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