自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 2006 飞行员配对(二分图最大匹配)

2006 飞行员配对(二分图最大匹配)题目来源: 网络流24题基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2名飞行员,其中1名是英国飞行员,另1名是外籍

2017-08-31 20:56:17 259

原创 多重背包模板

多重背包模板:1.多重背包(优化)例题:有N种物品,每种物品的数量为C1,C2......Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数)。求背包能够容纳的最大价值。Input第1行,2个整数,N和W中

2017-08-17 17:59:54 288

原创 动态规划—完全背包

完全背包就是不限物品个数,相当于有无限个;举个栗子有N种物品和一个容量为m的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。核心代码:dp[i][j]=max(dp[i][j],dp[i-1][j-k*c[i]]+k*w[i]);0模板:#include using nam

2017-08-17 17:28:15 342

原创 nyoj 311完全背包

完全背包时间限制:3000 ms  |  内存限制:65535 KB难度:4描述直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO

2017-08-17 17:13:41 262

原创 289 苹果(01背包)

苹果时间限制:3000 ms  |  内存限制:65535 KB难度:3描述ctest有n个苹果,要将它放入容量为v的背包。给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值。输入有多组测试数据,每组测试数据第一行为2个正整数,分别代表苹果的个数n和背包的容量v,n、v同时为0时结束测试,此时不输出。接下来的n行,每行2个正整数,用空格隔开,分别代表苹果的大小c和价钱w。所有输入数字的...

2017-08-17 17:10:51 323

原创 hud 2546饭卡(动态规划)

饭卡Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 32491    Accepted Submission(s): 11232Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,

2017-08-17 12:52:17 328

原创 动态规划—01背包入门

01背包问题:一个背包总容量为V,现在有N个物品,第i个 物品体积为weight[i],价值为value[i],现在往背包里面装东西,怎么装能使背包的内物品价值最大?看到这个问题,可能会想到贪心算法,但是贪心其实是不对的。例如最少硬币找零问题,要用动态规划。动态规划思想就是解决子问题并记录子问题的解,这样就不用重复解决子问题了。动态规划先找出子问题,我们可以这样考虑:在物品比较少,

2017-08-17 09:57:06 484

转载 最长公共子序列,最长公共子串,最长单调子序列等问题入门

首先来说子串和字符串的区别:子串!=子序列例如:一个字符串   awbcdewgh他的子串:  awbc.   awbcd   awbcde   ....很多个子串  但是都是连续在一起  他的子序列: abc  .  abcd    abcde  ...  很多个子序列  但是子序列中的字符在字符串中不一定是连在一起的, 但是  子序列一定是单调的, (即字符之间

2017-08-16 20:17:44 337

原创 nyoj 36 最长公共子序列

最长公共子序列时间限制:3000 ms  |  内存限制:65535 KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合

2017-08-16 19:58:02 279

原创 拓扑排序入门

对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。一个有向无环图的拓扑序列不是唯一的:注意:   1)只有有向无环图才存在拓扑序列;   2)对于一个DAG,可能存在多个拓扑序列;进行拓扑排序的算法并不复杂:(思想)1)在有向图中...

2017-08-15 20:42:42 301

转载 并查集详解

并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连...

2017-08-14 21:28:08 168

转载 最短路径—Dijkstra算法和Floyd算法

注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述...

2017-08-14 20:56:48 268

转载 最小生成树的两种算法图解(Kruskal与prim)

Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。 Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的...

2017-08-14 20:24:38 3022

原创 hdu 1285 确定比赛名次 (拓扑排序)

确定比赛名次Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 28480    Accepted Submission(s): 11343Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,...

2017-08-14 20:08:27 313

原创 hdu 1232 畅通工程(并查集)

畅通工程Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 56859    Accepted Submission(s): 30385Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连...

2017-08-14 20:05:40 251

原创 hdu 1233 还是畅通工程(并查集)

某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,...

2017-08-14 20:04:07 345

原创 hdu 1863 畅通工程 (prim与并查集)

畅通工程Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 31920    Accepted Submission(s): 14093Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不...

2017-08-14 19:57:00 400

原创 hdu 1874 畅通工程续 (Floyd和Dijkstra)

畅通工程续Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 56898    Accepted Submission(s): 21361Problem Description某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也...

2017-08-14 19:44:23 357

原创 hdu 2066 一个人的旅行(Dijkstra)

一个人的旅行Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 40170    Accepted Submission(s): 13642Problem Description虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,...

2017-08-14 19:36:28 331

转载 快速幂运算(入门完整版)

快速幂运算除数学问题之外,也有许多地方用到了幂运算。在此给大家介绍一种能够非常高效的计算幂运算的快速幂运算算法——反复平方法。Carmichael Number我们把对任意的1限制条件:2输入 17             输出  No(17是素数)输入 561           输出  Yes在这里mod,也可用%代替:mod运算,即求余运算,是在整

2017-08-13 08:28:25 2074

原创 nyoj128 前缀式计算 栈

前缀式计算时间限制:1000 ms  |  内存限制:65535 KB难度:3描述先说明一下什么是中缀式:如2+(3+4)*5这种我们最常见的式子就是中缀式。而把中缀式按运算顺序加上括号就是:(2+((3+4)*5))然后把运算符写到括号前面就是+(2 *( +(3 4) 5) )把括号去掉就是:+ 2 * + 3 4 5

2017-08-10 20:20:21 302

原创 nyoj756 重建二叉树

重建二叉树时间限制:1000 ms  |  内存限制:65535 KB难度:3描述题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So easy!)。输入输入有多组数据(少于100组),以文件结尾结束。每组数据仅一行,包括两个字符串,中间用空格隔开,分别表示二叉树的后序和中序序列(字符串长度小于26,输入数据保证合法)。输出每组输出

2017-08-10 10:47:24 271

原创 RMQ算法(ST表)

RMQRMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。 当然还有别的方法可以选择,例如线段树(此算法比线段树更快)。RMQ算法是一种比较高效的在线算法(ST算法)。所谓在线算法,是指用户每输入一个查询便马上处理...

2017-08-09 19:38:03 352

原创 树状数组学习总结(动态求取区间和、单点元素值)

树状数组树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)。求和操作   (1)树状数组中的每个元素是原数组中一个或者多个连续元素的和。 (2)在进行连续求和操作a[1]+...+a[...

2017-08-09 15:51:41 411

原创 nyoj119 士兵杀敌(三)RMQ算法

士兵杀敌(三)时间限制:2000 ms  |  内存限制:65535 KB难度:5描述南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。所以,南将军经常问军师小工第i号士兵到第j号

2017-08-09 08:03:48 361

原创 nyoj117 求逆序数 归并排序

求逆序数时间限制:2000 ms  |  内存限制:65535 KB难度:5描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆序数就是1。输入第一行输入一个

2017-08-08 19:22:26 393

原创 nyoj116 士兵杀敌(二)树状数组与线段树

士兵杀敌(二)时间限制:1000 ms  |  内存限制:65535 KB难度:5描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。

2017-08-08 19:12:51 363

原创 nyoj 题目1036 非洲小孩 贪心算法

非洲小孩时间限制:1000 ms  |  内存限制:65535 KB难度:2描述家住非洲的小孩,都很黑。为什么呢?第一,他们地处热带,太阳辐射严重。第二,他们不经常洗澡。(常年缺水,怎么洗澡。)现在,在一个非洲部落里,他们只有一个地方洗澡,并且,洗澡时间很短,瞬间有木有!!(这也是没有的办法,缺水啊!!)每个小孩有一个时间段能够洗澡。并且,他们是可以

2017-08-01 20:14:31 481

原创 nyoj 题目287 Radar 贪心算法

Radar时间限制:1000 ms  |  内存限制:65535 KB难度:3描述Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in

2017-08-01 19:41:57 399

原创 nyoj 题目 BUYING FEED 贪心算法

BUYING FEED时间限制:3000 ms  |  内存限制:65535 KB难度:4描述Farmer John needs to travel to town to pick up K (1 D*K cents.The county feed lot has N (1 location X_i (0 John as much as F_i (1 Amazing

2017-08-01 16:26:52 408

原创 nyoj 题目 心急的c小加 贪心算法

心急的C小加时间限制:1000 ms  |  内存限制:65535 KB难度:4描述C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗? ...

2017-08-01 16:00:10 358

空空如也

空空如也

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

TA关注的人

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