自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Crazy_Bear

持之以恒,永不言弃

  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 uva140 Bandwidth(排列树+剪枝)

题目描述:给定一张图,问如何顺序排列结点,能使排列中任意有边相连的两个节点之间的距离最大的值最小,如果有两个排列最大值相等,请输出字典序小的分析:排列树+剪枝在构造排列树的同时检查当前已经构成的序列中最大值是否小于最优质,如果大于剪掉即可#include #include #include using namespace std;int g[27][27];

2015-07-31 09:03:23 710

转载 计数问题(二)

计数问题(二)  在上一讲中,我们一起研究“枚举法”、“乘法原理”、“加法原理”在计数问题中的应用。但是,在实际的问题中,这些方法并不是单独使用的。往往需要同时应用这几种方法,这就需要我们搞清题意,根据已知条件,分别使用正确的方法,得到准确的结果。(一)阅读思考例1. 求720这个数约数的个数。    分析与解:从1开始,用实验的方法一对一对地找720的约数,这种方法太麻烦。如果把

2015-07-29 17:53:31 483

转载 计数问题(一)

计数问题是我们在学习和生活中经常遇到的一类问题,如果能够学会和掌握计数问题的思考方法,就可以使我们快捷、准确无误的解决一些实际问题,使我们考虑问题更全面、更细致。(一)阅读思考    在解决“计数问题”时,我们采用的方法通常有三种:枚举法、加法原理和乘法原理,下面向大家一一做个介绍。1. 枚举法    枚举法就是要将计数的对象一一列举出来,做到不重复、不遗漏,最后数出或计算出所列举

2015-07-29 17:52:11 2645

原创 最小支配集、最小覆盖点、最大独立集

概念:1、最小支配集:在图中用尽量少的点去覆盖所有的点(规则:当一个点被覆盖后,在图中与其相邻的点也将被覆盖);2、最小点覆盖:在图中用尽量少的点去覆盖所有的边(规则:当一个点被覆盖后,在图中与其相邻的边将被覆盖);3、最大独立集:在图中选择尽量多的点(规则:保证被选则的点在图中没有边相连);对于任意图上述三个问题不存在多项式时间内的算法但对于树,上述三个问题可

2015-07-29 17:10:22 4722

原创 hdu2412 Party at Hali-Bula

题目描述:n个人形成一个关系树,每个节点代表一个人,节点的根表示这个人的唯一的直接上司,只有根没有上司。要求选取一部分人出来,使得每2个人之间不能有直接的上下级的关系,求最多能选多少个人出来,并且求出获得最大人数的选人方案是否唯一。解题思路:模型:树上的最大独立集方法:树形dp分析:dp[u][0]和dup[u][0]表示以u为根的子树中,不选u点得到的最大人数

2015-07-29 16:42:29 533

原创 hdu1627 Krypton Factor(回溯法)

题目描述:给定A-Z中的前L个字符进行任意组合;对于组合得到的字符串中不含有相邻的重复串的为hard串按字典序求解第n个hard串解题思路:回溯法即可#include #include using namespace std;int n,l;char ans[82];bool check(int len){ int flag=false;

2015-07-29 16:17:41 963

原创 uva11059 Maximum Product

题目描述:求连续子序列,使乘积最大解题思路:暴力枚举,枚举所有可能的序列#include #define MAXN 20using namespace std;int d[MAXN];int main(){ int t=0; int n; while(scanf("%d",&n)==1) { t++;

2015-07-28 10:10:44 555

原创 uva725 Division

题目描述:abcde / fghij =Na,b···j 为0~9任意一个数,且互相不同任意给一个n(2思路1:10!只有不到400w,直接暴力枚举即可#include #include #include #include using namespace std;int a[]= {1,0,2,3,4,5,6,7,8,9};int ansx[40000

2015-07-27 21:31:17 539

原创 uva12563 Jin Ge Jin Qu hao

题目描述:从n首歌中选取一定数量的歌,每首歌需要一定的时间演唱:1、要求在不超过时间st-1的条件下,选取的数量最多;2、其次在数量相同的情况下,要求歌曲时间总和最大。解题思路:本质0、1背包问题,将每个歌曲的时间视为物品体积,价值赋值为1,背包容量为st-1如何在数量最多的基础上求解歌曲时间总和最大?在动规的过程中记录更新即可:1、当前状态比已求的的数量还

2015-07-27 20:00:07 778

原创 Help Bob (141 - ZOJ Monthly, July 2015 )

题意:现在有1~n个数,每次从中取出一个数,同时把这个数的所有因子取出。最后一个不能取数的人输分析:1是所有数的因子,所有第一次任取一个数1都会被取走;下面分两种情况:我们先把1拿出来,对于其他的数1、如果先手必败,那么先手第一次取1,然后把这种必败的状态留给对手,则先手必胜2、如果先手必胜,则按照必胜的策越即可(1作为附带的被取出)#include

2015-07-26 21:39:53 882

原创 hdu5313 Bipartite Graph(二分图染色+dp+位运算)

题意描述:有一个n个点m条边的二分图,通过加边使得这张图变成一个边数最多的完全二分图. 最多能够新加多少条边. 注意重边是不允许的.解题思路:1、先对二分图染色(dfs),统计二分图中每个连通块(注意:这个二分图并不一定连通)中黑色和白色的数量(黑、白是相对的,不同连通块之间的黑、白没有联系);2、从每个连通块中选出黑或白的数量作为整个二分图中白色的那组,根据题目描述我们只

2015-07-26 17:08:47 887

转载 博弈

来源:http://blog.csdn.net/acm_cxlove/article/details/7854530以下是我从网上收集的关于组合博弈的资料汇总:有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理

2015-07-24 09:29:07 458

原创 hdu5258 wyh2000 and pupil(二分图染色)

题目意思:给出n个人和m个边,每条边表示这两个顶点的人不认识。问能否把所有人分为两组,要求组内人员相互认识(注意不同组的人可能认识,也可能不认识),并且每组不少于1个人。解题思路:二分图染色(ps:注意边界情况)#include #include #include #define MAXN 100010using namespace std;vector g[MAXN];i

2015-07-24 09:06:15 425

原创 hdu5249 Tricks Device(网络流最大匹配)

分析题意可知:1、最少需要切断多少边使吴不能找到张(题意吴只能走最短路径上面的边),对从起点到终点的最短路径重新建图,每条边的权值为1,求最大流即可2、在吴可以找到张的前提下,最多可以切断边的数量:只需要在所有最短路径中寻找一条经过边数量最少的最短路径,用边的总数减去它即可(逆向思维)代码如下:#include #include #include #include #def

2015-07-23 10:10:59 614

原创 hdu4883/BestCoder#2_1001

题意:(模拟)在一个餐厅里每天会有好几波客人,给出他们来的时间和走的时间,询问餐厅最少需要多少把椅子才能使来的客人都有椅子坐。正确思路:客人来的时候餐厅总人数增加(v),客人走的时候餐厅总人数增加(-v),v代表每一波来的人数开辟一个2*n的数组(node类型),node.t保存来的时刻或走的时刻,node.v保存应该增加的人数,对于 “来“ 的时刻node.v=v,对于“

2015-07-10 00:19:00 630

原创 hdu4858/BestCoderRound#1_1002

题意此处不再叙述直接模拟#include #include #include #define MAX 100010using namespace std;int n,m;int v[MAX];vector g[MAX];int main(){ int T; scanf("%d",&T); while(T--){ scanf("%d%

2015-07-07 21:05:54 454

原创 hdu 4857/BestCoder Round#1 1001(拓扑排序+逆向建图)

此题需仔细分析题目,否则题意容易理解错误,应注意下面这种情况本题意思尽可能让最小的排的靠前,然后次小的尽量靠前,依次下去如input:13 13 1output:3 1 2解析:我们应让1尽可能的排在前面,然后尽可能的让2排的靠前。。。所以 2 3 1的结果是错误的思路:拓扑排序(逆向建图+队列)//为解决上述列子,如果我们正向建图,每次

2015-07-06 10:39:18 708

转载 C++ STL中哈希表 hash_map介绍

C++ STL中哈希表 hash_map介绍0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复

2015-07-05 23:19:38 326

编译原理习题答案(胡元义)

编译原理教程习题解析胡元义,很不错的复习资料,大家可以入手哈

2015-05-23

acm模板(涵盖大多数)

吉林大学acm模板,里面几乎设计了大部分常用模板,总之很全,很好的资源

2015-05-23

空空如也

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

TA关注的人

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