自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逐梦者

我本将心向明月,奈何明月照沟渠!

  • 博客(53)
  • 资源 (28)
  • 收藏
  • 关注

转载 图论专项训练习题集

ACM模版PS:也不知道是谁总结的,三转两转,竟然积累了这么多题~~~这个月的图论专项训练就靠他了!!!尽量做吧,能做多少是多少,嘻嘻!!!=============================以下是最小生成树+并查集======================================【HDU】1213 How Many Tables 基础并查集★12

2016-10-24 18:10:00 16650 10

原创 HDU-3371-Connect the Cities

ACM模版描述题解算法本身并不难,但是貌似题有些古怪了……直观的算法也就是最小生成树(克鲁斯卡+并查集)。感觉我的代码没啥问题啊,可是一直有问题,先mark一下吧~~~代码#include <cstdio>#include <cstdlib>using namespace std;/* * Kruskal算法求MST * 对边操作,并排序 */const int MAXN = 510;

2016-10-30 23:34:44 525

原创 HDU-1879-继续畅通工程

ACM模版描述题解最小生成树模版题。代码#include <iostream>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace std;/* * Prim求MST * 耗费矩阵cost[][],初始化为INF,标号从0开始,0 ~ n-1 * 返回最小生成树的权值,返回-1表示原图不连通 *

2016-10-30 01:15:31 337

原创 HDU-1875-畅通工程再续

ACM模版描述题解虽说是模版题,但是被坑得不轻,这里需要把int型全部改为浮点型,并且,单精度还不行,必须双精度才行,被卡精度了,一开始用的floatWA了三四遍,找了半天也没找到,抱着试一试的心态改成了double结果AC了……有些逗比了。代码#include <iostream>#include <cstring>#include <cmath>#define mem(a, b) memse

2016-10-29 03:51:17 403

原创 HDU-1863-畅通工程

ACM模版描述题解模版题,最小生成树。代码#include <iostream>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace std;/* * Prim求MST * 耗费矩阵cost[][],初始化为INF,标号从0开始,0 ~ n-1 * 返回最小生成树的权值,返回-1表示原图不连通

2016-10-28 23:28:15 313

原创 HDU-1233-还是畅通工程

ACM模版描述题解模版题,最小生成树。代码#include <iostream>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace std;/* * Prim求MST * 耗费矩阵cost[][],初始化为INF,标号从0开始,0 ~ n-1 * 返回最小生成树的权值,返回-1表示原图不连通

2016-10-28 23:13:11 345

原创 HDU-1232-畅通工程

ACM模版描述题解经典的并查集问题,最后查看有多少根,结果为根数-1。代码#include <iostream>#include <cstdio>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace std;const int MAXN = 1010;int maxRoom;int pre[MAXN

2016-10-28 23:03:21 365

原创 HDU-1102-Constructing Roads

ACM模版描述题解模版题,最小生成树,将已有的路径花费置为0。代码#include <iostream>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace std;/* * Prim求MST * 耗费矩阵cost[][],初始化为INF,标号从0开始,0 ~ n-1 * 返回最小生成树的权值,返

2016-10-28 22:39:31 307

原创 HDU-1856-More is better

ACM模版描述题解并查集,求元素最多的集合。代码#include <iostream>#include <cstdio>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace std;const int MAXN = 100010;int ans;int maxRoom;int pre[MAXN];

2016-10-28 02:36:00 362

原创 HDU-1325-Is It A Tree?

ACM模版描述题解这道题方法很多,比较好的方法是直接根据树的性质来判断,先判断是否有环,可以通过边数来判断,n个结点最多有n-1条边,不然一定会有环,接着判断根的个数,也就是入度为0的个数,必须为1,最后判断其他根节点入度是否都为1,否则说明不是树!当然,判断环的部分也可以用并查集,但是这个并查集需要注意些剪枝优化,不然会TLE的,我一开始直接拿着小希的迷宫的代码改了一行提交,TLE了两次……怪我太

2016-10-25 01:59:55 521

原创 HDU-1272-小希的迷宫

ACM模版描述题解一到十分简单的并查集,需要注意的是,0 0样例也是Yes,被坑了好久~~~判断一下是否存在环以及根节点个数。如果存在环或者根节点个数不止一个,so,No!代码#include <iostream>#include <cstdio>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace

2016-10-24 19:42:51 824 2

原创 HDU-1213-How Many Tables

ACM模版描述题解基础的并查集。代码#include <iostream>#include <cstdio>#include <cstring>#define mem(a, b) memset(a, b, sizeof(a))using namespace std;const int MAXN = 1010;int pre[MAXN];int root[MAXN];int find(int x

2016-10-24 18:45:59 494

原创 10.24——怎么就成了程序猿节呢?

十分莫名其妙,今天忽然有人告诉我,支付宝发程序猿节红包了,哎,错过了~~~之前并不鸟啥叫程序猿节,当CSDN活动告诉我今天是程序猿节时,也是顿悟,毕竟1024嘛,如果说对所有程序员最重要的几个数字能和日期挂上钩的,也就1024了吧!!!最近一直忙于做51Nod的题,越发的感觉51是如此动人,可是越往后做越心碎!!!好不容易搞定了前五个等级(0~4级)的题,搞了200余道,然后我开始了dp的专项训练,

2016-10-24 17:58:57 916

原创 HDU-1011-Starship Troopers

ACM模版描述题解树形dp入门题,只是……英文题看得有些吃力了。竟然是星河舰队!!!代码#include <iostream>#include <vector>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 110;const int TROOPER_FIGHT = 20;int n, m;in

2016-10-23 23:59:04 435

原创 51Nod-1523-非回文

ACM模版描述题解MDZL,这么简单一道题,三个小时还没AC……一直有三组数据过不去,第18、24、25组数据,经过测试发现一个十分邪性的问题,有的测试数据尾有\r\n,而有的却没有,这是神马情况啊~~~这是我的Xcode的工具FileMerge的对比结果(左边是51给的测试数据文件,右边是本地测试文件): 这简直是给我开国际玩笑啊!!!真是搞不懂为啥会有10个人AC……我的算法没错啊,除了文件尾

2016-10-22 04:28:22 2091 8

原创 51Nod-1022-石子归并 V2

ACM模版描述题解本来拿着V1的改了一下,将环改成了线……然而,25组数据T了12组,当然这也是情理之中的事,毕竟数据一下子大了那么多。这里需要用到四边形优化,十分有趣的一个东西,详细的可以看看算导,貌似有。代码#include <iostream>using namespace std;const int MAXN = 2020;const int INF = 0x3f3f3f3f;int A[

2016-10-21 23:27:08 495 4

原创 HDU-1010-Tempter of the Bone

ACM模版描述题解很不幸,做这道题我被自己的粗心大意坑惨了!!!一开始WA了一次,因为我忽略了多组数据……然后TLE,因为DFS+剪枝我剪得不够彻底……剩下三次WA,DFS里的N和M写错位置了……这个游戏真难。(  ̄  ̄)σ…( _ _)ノ|壁这里需要注意的是一个奇偶性剪枝,根据(剩余的步数-两坐标间最少步数)为偶数时才能到达出口这一性质进行剪枝,当然小于0也是不行滴。代码#include <ios

2016-10-21 01:39:51 385

原创 51Nod-1294-修改数组

ACM模版描述题解向大牛致敬——xdlove,思量许久,不能参透,大牛题解一语惊醒梦中人~~~首先可以明确一点,一个最小的严格递增的正整数子序列为1,2,3,……….n,那么对于题目给出的任何一个序列,需要最少改变多少个使得序列变为严格递增的子序列呢? 对于每一个数a[i],把a[i] 变为 a[i] - i,如果此时a[i]小于0,说明他连最小的严格递增子序列都不符合,那么它一定要修改,再处理完这

2016-10-20 01:24:05 569

原创 51Nod-1376-最长递增子序列的数量

ACM模版描述题解LIS问题,但是并不简单啊,要求的不是长度,而是最长的出现的次数~~~我想了一天也没想通怎么搞,只是知道一定需要对LIS进行优化改造,渣爆了我。找了大牛的代码看了看,看了许久,才略懂一二。在求LIS时,用vector开两个数组h[]和g[],h[i][j]用来存储最长递增序列的第i个位置可以放的数字,对应g[i][j]用来存储此时构成了多少个序列,然后通过二分查找h[i][k],找

2016-10-19 16:39:51 993

原创 51Nod-1084-矩阵取数问题 V2

ACM模版描述题解这道题要求正着走一遍,倒着走一遍,收益最高,并且一个位置只能收一回。那么,很容易想清楚,矩阵中除去临界位置,我们都可以有多种路径到达,所以想要收益最高,每一个位置只能到达一次,那么不妨想成正着来两遍,可是我们却不能分为两次dp,因为如果第一遍最优,那么第二遍也找最优,加起来可能就不是最优了,所以我们需要同步处理,也就是多路dp,相当于两个人同时从起点出发,并且保证两个人路径不重叠,

2016-10-18 01:22:49 1283 8

原创 CF-Codeforces Round #377 (Div. 2)

ACM模版第二次打CF,记得上一次已经是十几场前的事了,因为英语太渣加上网速太差,总是力不从心,更重要的是,我能力渣,这一次就看懂了俩题A和B,C题实在看不懂,猜样例也猜不出来个偏点儿,哎,先这样吧,完全就是在做阅读理解啊我……ABuy a Shovel描述题解有不限数量的10元纸币和一枚面值为r的硬币,要求使用手中的这两种规格的货币买若干个铁锹,要求刚好买下(不能找零)。这里需要注意的是,不一定两

2016-10-18 00:16:46 511

原创 51Nod-1521-一维战舰

ACM模版描述题解好长时间没有见过51更新4级以下的题了,今天多了一道从CF上抓来的题,很有趣,区间问题,对于我这种做题少的人来说是一种区间新题型。比较简单的是直接上STL的set,用二分搞搞(代码One)。但是这个耗时贼高,于是发现这道题不用set和二分也是完全可以的(代码Two),利用一维数组从某一出发点向两边查找,其实问题的关键是如何求一段区间能放下多少艘战舰,很明显: num = (le

2016-10-17 19:56:10 1550

原创 HDU-1009-FatMouse' Trade

ACM模版描述题解算法思想上就是一到十分简单的贪心……但是还是要为它点个赞~(≧▽≦)/~因为我这种英语渣渣猛一看,以为是01背包/(ㄒoㄒ)/~~还好苦海无涯,我回头是岸,发现原来每个屋子里的咖啡豆量是可以分割的,所以直接求出每个房间的咖啡豆的性价比即可,然后排序贪心,然而,搞到这里,这么简单个题,我还是WA了,这也是我点赞的原因——卡精度了。题目最后要求输出的结果保留三位小数,所以我想当然的用了

2016-10-17 02:36:29 1553 3

原创 51Nod-1406-与查询

ACM模版描述题解听说卡了I/O,所以直接上输入输出外挂~~~动态规划,挺巧妙的,复杂度O(nlogn),先将所有数添加到cnt[]中,然后从最大数二进制最高位开始,逐位处理即可。可能有些拧的感觉,自己写几组数据试试就明白了~(≧▽≦)/~啦啦啦。代码#include <iostream>#include <cstdio>#include <cstring>#define ll long lon

2016-10-17 01:36:41 909

原创 51Nod-1198-字符串的数量 V3

ACM模版描述题解这道题好阔怕,在V1的讨论区有最牛逼的题解,Orz!!!虽然有题解,有代码,可是由于代数还没有学,所以对部分有些懵逼,先Mark一下,过一阵子能力有所提升后好好瞅瞅喽……提供两份代码,代码Two相比代码One多了一个预处理,针对多组数据可以提高很多效率!!!代码One:#include <stdio.h>typedef long long ll;const int MAXN = 6

2016-10-16 18:13:50 1193 1

原创 51Nod-1197-字符串的数量 V2

ACM模版描述题解这道题好阔怕,在V1的讨论区有最牛逼的题解,Orz!!!虽然有题解,有代码,可是由于代数还没有学,所以对部分有些懵逼,先Mark一下,过一阵子能力有所提升后好好瞅瞅喽……提供两份代码,对于这道题,代码One和代码Two效率差距不明显,代码Two相比代码One多了一个预处理,针对V3的多组数据可以提高很多效率!!!代码One:#include <stdio.h>typedef lon

2016-10-16 18:07:46 588

原创 HDU-1007-Quoit Design

ACM模版描述题解平面最近点对问题,模版题……反正本渣渣是直接套模版的,复杂度O(nlogn)。等白天了好好看看算导,这个算法怎么搞的~~~代码#include <iostream>#include <cmath>#include <cstdio>/* * O(N * logN) */const int MAXN = 100005;const double EPS = 0.00001;

2016-10-16 02:06:46 371

原创 51Nod-1196-字符串的数量

ACM模版描述题解看到讨论区曹鹏大牛的详细题解,我已经写不出什么拿得出✋的题解了,差距太大,毕竟我还只是一个渣渣~~~努力了一下午,企图实现大牛的思路,可是有的地方难度比较大,理解起来很费力,所以只实现了部分思路,但是对付V1足够了,毕竟曹鹏大牛的思路是可以搞掉V2和V3的……Orz!!!看来要好好研究一下大牛们的代码了,看看究竟怎么实现了这么复杂的思路。代码#include <cstdio>#i

2016-10-16 01:16:45 763

原创 51Nod-1354-选数字

ACM模版描述题解这道题放在五级题很唬人,思想很简单,就是背包,但是需要加上空间优化。使用map数据结构即可(代码One),也可以在此基础上离散化(代码Two),思想都是一致的。代码One:#include <iostream>#include <cstdio>#include <map>#include <algorithm>using namespace std;const int MAX

2016-10-15 23:50:03 1134

原创 51Nod-1006-Tick and Tick

ACM模版描述题解不得不说,长时间没有戴我的机械表,对表针的运行都显得十分模棱两可,看智能手表看多了的锅~~~每次遇见表盘问题总是要墨迹很久,总把问题想得十分复杂,实际上就是基础物理题,不过需要通过计算机暴力枚举。看了大牛们的代码,先求出相对角速度和相对周期……慢,让我想想角速度咋求,呵呵呵,我是真的忘了怎么求了,百度了一下才想起这些高中的物理知识,哎,退化了。求出来相对角速度和周期后,求各个指针之

2016-10-14 20:10:56 369

原创 51Nod-1055-最长等差数列

ACM模版描述题解这道题虽然过了,但是不得不说是打了内存的擦边球,因为前所未有的使用了short int类型,不然就爆内存了,这也是很措手不及。这道题的坑不止这一点,题目说,从这N个数中找出若干数组成最长等差数列,所以,顺序上我们可以打乱,先进行一下排序是很有必要的。最后不得不承认,这道题的dp思路是我之前所没有的,先固定一个端点,然后两边扫描,也是极其有趣,必须点个赞,以前做dp,总是想着单方向的

2016-10-14 00:59:13 1075 8

原创 HDU-4658-Integer Partition

ACM模版描述题解原本题意我就没看懂,毕竟英语很渣,一复杂的话我就搞不懂啥意思了,逐个翻译我也看不懂,只好找别人给我解释了一下题意。给定两个数,n和k,问有多少种拆分方法,要求每一种方法中数字重复个数不能大于等于k(代码#include <iostream>using namespace std;// 整数拆分const int MOD = 1e9 + 7;const int MAXN = 1e

2016-10-13 16:28:18 395

原创 整数划分

ACM模版整数划分(五边形定理) P(n) = ∑{P(n - k(3k - 1) / 2 + P(n - k(3k + 1) / 2 | k ≥ 1} n < 0时,P(n) = 0, n = 0时, P(n) = 1即可#define f(x) (((x) * (3 * (x) - 1)) >> 1)#define g(x) (((x) * (3 * (x) + 1)) >> 1

2016-10-13 14:44:11 1791

原创 51Nod-1259-整数划分 V2

ACM模版描述题解这道题有一个相关问题用的是dp,于是想着这道题也可以用dp,结果尝试了半天未果,最后看了讨论区的内容,发现原来需要用到一个公式——欧拉的五边形定理。P(n)表示n的划分种数。 P(n) = ∑{P(n - k(3k - 1) / 2 + P(n - k(3k + 1) / 2 | k ≥ 1} n < 0时,P(n) = 0, n = 0时, P(n) = 1即可。代码

2016-10-13 14:24:48 1026

原创 HDU-1021-Fibonacci Again

ACM模版描述题解很水的一道题,只要你英语能及格,就能过,然而,/(ㄒoㄒ)/~~,像我这种英语36分的渣渣,着实看了半天,最后才明白,F(n)可以三分的话输出yes,否则no……这不就是初等数论嘛?对F(x) mod 3打表找规律不就行了?如果a = b(mod m),且c = d(mod m),则(a + c)(mod m) = (b + d)(mod m), so, F(n)(mod m)

2016-10-12 03:10:13 366

原创 51Nod-1201-整数划分

ACM模版描述题解相关讨论区给的思路解决了我的疑惑,十分好的一道题,dp[i][j]表示由i个数字组成j的种类,状态转移方程为: dp[i][j] = dp[i - 1][j - i] + dp[i][j - i]因为N最大为5w,所以可以求出i的上限在320左右,定义一个int dp[350][50000]大小的还是可以的,但是我想玩得花一些,于是用的滚动数组,然而却忽略了将dp[i][0]

2016-10-12 02:39:08 682

原创 51Nod-1052-最大M子段和

ACM模版描述题解不得不说,这是一道十分有趣的dp,同时也刷新了我对dp的认知,我原来的思维过于局限了。以下为某大牛思路:用两个数组,pre[MAXN]和dp[MAXN], 首先m次循环,第x次循环代表的是把整个序列分成x个子段所能得到的最大x子段和。 pre[i]数组记录的是,从第1个数到第i个数被分成x个子段所能得到的最大子段和。 假设当前已分成了x个子段(即最外层循环执行了x次),然后需

2016-10-12 00:35:01 1081

原创 HDU-1005-Number Sequence

ACM模版描述题解一看公式就知道这道题在51Nod上做过一次,于是按照老思路准备水过,可是却意外发现了自己曾经的写法实在是想当然了,如果不是这道题51Nod数据比较水,我一定过不去~~~以前在做这道题时,感觉循环一定是从第一项开始的,也就是循环节的前两项一定是1、1,然而事实并非如此,当我依然用这种思路写时,HDU给我的结果是WA,于是我改掉了这个可能存在的问题,结果顺利AC了……看来有一句话说的真

2016-10-11 03:43:31 1161 3

原创 HDU-1008-Elevator

ACM模版描述题解不要问我为啥现在还在刷这么水的题,其实我是在做阅读理解……一直以来,因为英语不好,都不敢做英语题和打英语的比赛,但是一直畏首畏尾的总该是不行的,所以,从简单的英语题入手,慢慢提高对英语题的亲和度吧~~~题目大意是,上一层6秒,下一层4秒,停在某一层,要5秒,初始是0层开始……简直不能再水了。代码#include <iostream>using namespace std;int m

2016-10-11 02:12:57 319

原创 HDU-1004-Let the Balloon Rise

ACM模版描述题解水题一道,处理方法多了去,我用的map躺过。代码#include <iostream>#include <map>#include <string>using namespace std;string balloon;map<string, int>::iterator it;int main(int argc, const char * argv[]){ int

2016-10-11 01:51:17 329

EMACS 编辑器入门

EMACS 编辑器入门 pdf

2018-05-26

ACM 国际大学生程序设计竞赛-算法与实现

ACM 国际大学生程序设计竞赛-算法与实现 pdf

2018-05-26

一站式学习 C 编程

一站式学习 C 编程 pdf

2018-05-26

算法设计与分析(第2版)

算法设计与分析(第2版)pdf

2018-05-26

设计模式:可复用面向对象的基础

设计模式:可复用面向对象软件的基础.pdf

2018-05-26

移动机器人调研报告

移动机器人调研报告.doc

2018-05-26

软件工程调研报告

近期对软件工程进行了一次小小的调研,写了这份软件工程调研报告,也许存在一些问题,欢迎大佬们指点。欢迎━(*`∀´*)ノ亻!

2018-05-26

软件工程讲义-软件工程电子书 PPT

软件工程讲义-软件工程电子书 PPT

2018-05-26

NOI 知识点

某中学 NOI 教练总结的,发给我学习,分享给大家,总结的还算是可以的。

2018-05-26

尼姆博弈 PPT

感觉挺不错的一个 PPT,适合入门看看,高手绕行。

2018-05-26

动态规划 PPT

姜太公钓鱼愿者上钩,我也不知道这个资源如何,所以酌情下载。

2018-05-26

C语言趣味程序设计编程百例精解

姜太公钓鱼愿者上钩,我也不知道这个资源如何,所以酌情下载。

2018-05-26

九种排序算法

九种排序算法!!!C 语言版的~~~希望对您有所帮助。(#^.^#)

2018-05-26

OI国家集训队论文集1999~2016

1999 年到 2016 年的一些 OI 国家集训队论文,比较多,慢慢啃吧!!!

2018-05-20

佐理慧学姐的数论总结

佐学姐分享的资源总结,挺不错的,可以好好看看。强势推荐~~~

2017-11-02

ACM模板-f_zyj 更新(内含 v 1.1 和 v 2.1 的 .pages 格式和 .pdf 格式)

总是有朋友问我啥时候更新一下自己的模板,我一直拖着没有更新,因为一次更新的时间花费太高了,我一直都想再等等,再等等就更新,可是现在大概是等不了了,快要退役了,这大概是最后一次更新了吧?希望对大家有用。

2017-09-21

十五个经典算法

十五个经典算法的深度剖析。

2016-12-05

经典算法大全

经典的算法问题。

2016-12-05

完全图匹配

完全图匹配数目。

2016-12-05

STL基础教程

一个全面的STL基础教程~~~

2016-12-05

ACM模板-f_zyj

事有烦而不可省,费而不得已,盖此为也!!!

2016-12-05

博弈论之巴什游戏

一个很好地博弈论讲义,希望对大家有所帮助。

2016-07-28

博弈论之威佐夫游戏

一个很好地博弈论讲义,希望对大家有所帮助。

2016-07-28

空空如也

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

TA关注的人

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