关闭

codeforces 870c 大数分裂

将一个数尽可能多的分解成若干个合数的和,很显然,要尽可能多,自然是越小的越多越好,首先对于一个奇数来说,拆出一个9就能变成一个偶数,而且只有一个9 的时候一定是最优的情况,对于一个偶数来说,4一定越多越好,如果不能完全被4整除,那么就将4替换成6就行了,这样我们就能将一个数分裂成若干个合数的和#include using namespace std; int maxsp...
阅读(2) 评论(0)

区间求差 hihocoder 1305

题目大意:给定 A B两个区间,求在A区间不在B区间的线段长度 这个题一开始的时候想用线段树做,但是耗内存太多了,后来发现 我们对一个区间标记他的左右端点,遇到左端点+1,遇到右端点-1,这就可以判断某个点是否在区间内,同样这道题也用这样的方法,把所有的端点排序,当某一个端点在A内不在B内的时候,它到下一个断定建的距离,一定是要求的距离#include usin...
阅读(7) 评论(0)

图论练习-有向图的强连通分量【tarjan】

这周刚刚看了图论的一些东西,感觉自己理解比较费劲,所以这里小小总结一下,如果有误,欢迎指出好了,现在我们来看一下图论的一些基础的概念: 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量。那么在这个有向...
阅读(12) 评论(0)

lightoj 1030 - Discovering Gold[期望]

题目大意: 起始位置是1,从1走到n,给你一个骰子(6个面),按点数走,收集每一点上的金子,如果你将要走到的位置在n之内,就继续扔,往前走,如果在n之外,就一直扔到合适的位置为止,求到达n点时的期望 分析: 这个题是一个求期望的题,那么值得注意的是,当扔在n之外的情况是无效的,所以我们在位置i #include using namespace std; i...
阅读(35) 评论(0)

二分图匹配Hopcroft-Carp算法介绍

我们在做二分图匹配的时候,最喜欢选择的就是匈牙利算法,但是我们可以知道匈牙利算法的复杂度是O(n*e),那么如果对于一个点和边比较多的图,匈牙利算法很容易超时,所以我们采用Hopcroft-Carp算法来解决这个问题,这个算法能够在 O(sqrt(n)*e)的复杂度内实现二分图匹配。 下面我就来讲一讲这个算法的操作过程。 简单来说,这个算法就是在匈牙利算法的基础上,先通过BFS找到多条不相交最短增广...
阅读(37) 评论(0)

hdu 2819 Swap [二分图匹配]

这道题其实是一道比较简单的题,但是我之前WA了一个晚上,简直不敢相信,当然也是我太想当然了,其实之前的写法有很大的问题,小数据就测不出来问题,所以反思一下,还是要谦虚,仔细啊。。这个题就是给你一个N*N的一个由0和1组成的图,然后让你通过交换行和列把他编程斜右下对角线上的元素都是1的情况,问你能不能实现,如果能,输出交换路径。根据题意我们发现,如果我们要满足斜对角线都是1的情况,至少要满足每一行都有...
阅读(20) 评论(1)

二分图匹配

最近做了一套匹配的题,然后就想简单的写一下 关于二分图匹配的问题。 首先二分图匹配是给N个人 分配P个任务,每个人对应一个任务,问能够匹配到的个数,而当个数最多是,这就是我们说的二分图的最大匹配,当每个人都有任务时,就是我们说的完美匹配。 那么这种问题应该如何求解呢? (当然,我们可以增加一个源点和汇点变成最大流问题)当然我们也可以通过另外一种方法现在我们假设我们通过dfs 不断寻找增广路来实...
阅读(52) 评论(0)

区间DP入门-poj 1651

区间DP ,顾名思义,就是在区间上的DP,这种dp,常常是针对一些 序列长度比较小,并且操作都是有一定的次序,往往是对其中的一段进行操作,并且可以通过分治的思想,将大的一段,由小的一段结合起来的题目。如果碰到这样的题目,我们可以首先考虑区间dppoj 1651 题目大意是:给你一个序列 ,你要在其中选择n-2个数,每个数取出来的时候,结果 要加上 它乘以它左边的再乘以它右边的,也就是 a[i]...
阅读(35) 评论(0)

CodeForces 347C Alice and Bob

在一个有n个不同数的集合里面,Alice 和Bob分别任选两个数,x,y 要求|x-y|不在集合中,如果有一个人不能选,则输了,Alice 先选择 求最后的胜利者分析,对于给定的一个序列,最后要满足的条件的序列一定为 d,2d ,3d…… 所以 只要求出整个序列的GCD 再用最大值/gcd 得到的个数-N 再看奇偶就可以了虽然这道题这样看是一个水题,但是非常巧妙,不容易想到。#include...
阅读(40) 评论(0)

codeforces 812b Sagheer, the Hausmeister

题目大意: 从左下角开始出发,把每一行的灯都关闭了,最左和最右是楼梯,向上只能通过楼梯,并且每一层都关完才能上一层,上楼和走过房间的时间都是一分钟,问最短时间这道题就是一个线性的DP 考虑从左和从右两种情况就好了一开始的时候看错题目了,把note 看成是限制条件,就做错了 另外一个就是需要仔细考虑全零行的情况#include #define inf 0x3f3f3f...
阅读(37) 评论(0)

Karen and Game codeforces 816c

题目大意:给一个n*m的零矩阵 要通过整行或者整列+1 变成给定矩阵,求最小的次数和操作步骤其实很简单,就是找出每行 或者每列中最小的,然后加上去,行列各处理一遍就好了 这道题的陷阱在于 对于一个nm的矩阵就先处理列#include #include #include #include...
阅读(57) 评论(0)

Karen and Coffee codeforces 816B

题目大意: 给你n种咖啡的烹调方法,每种都包含了该种方法的咖啡的适宜温度,从l 到r,现在需要的咖啡至少满足k种烹调方法, 在q个询问中,每个区间[a,b]中有多少个适宜的咖啡这道题目,n q给的是200000 显然不可能用n²的方法过,因此这道题应该用前缀和相减来做思路:我们要知道有多少个适宜的咖啡,我们可以想到对应每种温度之前所有满足的咖啡的个数,那么只要相减,就能得到区间内的符合条件的个数...
阅读(84) 评论(0)

An impassioned circulation of affection(codefoces 814c)

题目大意 :给你一串字符,修改其中M个为字符C 输出c最长的个数这个题首先按照字符串,进行预处理,在某段内某字符的个数,因此就能知道在该段内修改m个输出的最多字符个数 最后记得进行dp 如果修改更少的情况能够有更长的字串,就直接加上去#include using namespace std; typedef long long ll; int dp[30][2000...
阅读(46) 评论(0)

已经没办法再简单的状压dp入门练习

题目: 有一个N*M(N<=5,M<=1000)的棋盘,现在有1*2及2*1的小木块无数个,要盖满整个棋盘,有多少种方式?答案只需要mod1,000,000,007即可。例如:对于一个2*2的棋盘,有两种方法,一种是使用2个1*2的,一种是使用2个2*1的。 分析:此题由于N比较小,所以可以通过状态压缩,去搜索每一个状态,然后根据前一列对后一列的影响,这样我们只要求出第m+1列状态为0的情况的个...
阅读(117) 评论(0)

从今以往 勿复相思

第一次在技术博客里写这个东西,虽然感觉有点奇怪,但是以此来告诫所有的Acmer,有些事情比起acm而言,更重要。 今天和男朋友正式分手了,和男朋友在一起的时候还没有入圈,当时和男朋友一起最多的活动是学习,之后加入ACM ,不仅自己学习的时间变少了,和男朋友在一起的时间也变得很少,他不满在日渐的累积中变得越来越强烈,大概就是因为这样,最终走向分手。 其实和男朋友分手的原因有很多,我也是第一次才知道,两...
阅读(209) 评论(4)
31条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:2431次
    • 积分:330
    • 等级:
    • 排名:千里之外
    • 原创:31篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条
    最新评论