自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

a novice

只有永远不停的长路 走着一代代不肯绝望的人

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 HDU 4313 Matrix(贪心+并查集)

HDU 4313题意:有n个节点,n-1条边,其中k个节点为危险节点,有大规模杀伤性武器,切断哪些路能使得这些大规模杀伤性武器的危险节点之间彼此不连通,且切断的边权值之和最小。思路:初始化每个节点为一个集合,并记录每个集合中危险节点的数目(0或1)。要实现权值之和尽可能的小,则要权值尽可能小,故先将n-1条边按权值先升序排序。排序后枚举这些边:若边的两端节点所在集合

2015-07-31 22:41:40 834

原创 HDU 4311&4312 Meeting point-1&2 (曼哈顿距离&&切比雪夫距离)

HDU 4311题意:平面上有n个点,一个点(x,y)只能到达(x-1,y), (x+1,y), (x, y-1), (x, y+1)4个点。从n个点中找到一点,使其他点到此点的距离之和最小。思路:可以发现,两个点间距离为 |x1-x2| + |y1-y2| ,这便是两点间的曼哈顿距离。朴素的做法是遍历所有点,枚举该点与其他点间的曼哈顿距离之和,但是会TLE;取巧的做法是将所有

2015-07-31 21:58:20 1095

原创 POJ 2965 The Pilots Brothers' refrigerator (想法题)

POJ 2965题意:输入一个形如:-+-----------+--4*4图案,+表示close,-表示open,定义一种操作为:改变某个单元格符号(+变-,-变+),同时单元格所在行与所在列的所有单元格符号都会发生改变。求最少操作次数能使所有单元格内都是‘-’。并输出要操作的单元格。思路:正常的做法和POJ 1573类似,dfs枚举即可,见code1

2015-07-29 19:48:26 688

原创 POJ 1753 Flip Game(dfs+枚举)

POJ 1753题意:输入一个4*4的图像,由黑白两色组成,定义一种操作为:改变某个格子内小球的颜色(黑变白,白变黑),同时其上下左右的格子内小球也将变色。求最少多少次操作能使之成为纯色图案。思路:对一个格子操作偶数次等于没有操作,操作奇数次等于操作一次,所以答案在0~16以及impossible之间。从n=0开始枚举n次操作可能的组成情况,即操作哪几个格子,若某种组合能变

2015-07-29 19:30:10 761

原创 HDU 4293 Groups(区间dp)

HDU 4293题意:有 n 个人,可任意分成若干组,然后每个人各提供一个信息,表示他们组前面有多少个人,后面有多少个人。问最多有多少个信息是真实的的。思路:这道题一开始给我的印象是什么乱七八糟的东西,后来也没想通到底该怎么做,好在赛后百度在手天下我有:)我们可以把 这n个人看成一段区间 [1,n]。设每个人的信息是a、b,则这个信息代表了他们组所在的区间 [a+1,n-b]。

2015-07-27 22:05:36 754

原创 HDU 4288 Coder(模拟) 附:upper_bound与lower_bound的比较

HDU 4288题意:太长。。点进去自己看吧思路:一道模拟题,但直接模拟会卡TLE,所以进行些许优化,将复杂度/5.简而言之就是用一个有序数组来模拟set。优化是利用lower_bound函数,这里简介下lower_bound 与 upper_bound 的区别:摘自:http://blog.csdn.net/weiguang_123/article/details/7

2015-07-27 21:50:51 604

原创 HDU 4283 You Are the One (区间dp)

HDU 4283题意:有n个男屌丝依次排队要登台,如果某个男屌丝前面排有k个人,则该屌丝很生气,生气程度 = (k-1)*D(D代表屌丝程度)。现在有一个小黑屋,小黑屋先进后出,如果把某屌丝放进去,那么他后面的人就能先登台。给出每个人的屌丝程度与原定上台顺序,求怎样利用小黑屋,能够使众屌丝生气程度之和最小,求出最小值。思路:#define 愤怒值 生气程度 dp[i][j]表示

2015-07-27 21:35:57 553

原创 HDU 4175 Class Schedule (暴力+一点dp)

HDU 4175题意:有C座楼,每座楼有T个教室,一个人需要访问C个教室,每座楼只能访问一个教室。访问教室需要消耗能量,从x点走到y点需要消耗abs(x-y)的能量,最后要走到目的点L,问最后走到目的点L需要消耗的最少能量。思路:读清题意,用getchar()的方式去读。。此外英文阅读水平比较拙计,亟待提升,以后不能再直接用有道翻译来做题了!直接暴力枚举。用dp[i][j]表示clas

2015-07-26 23:32:02 774

原创 HDU 4193 Non-negative Partial Sums(想法题,单调队列)

HDU 4193题意:给n个数字组成的序列(n 思路:这题看到数据规模觉得只能用最多O(nlogn)的算法,然后想到了之前刚做过的有关最小表示法的题,但还没证明出一个做这题有效的算法出来。后来看过题解,发现用的最多的方法是单调队列,然而我对这个知识点知之甚少orz/*科普君:from单调队列单调队列是指:队列中元素之间的关系具有单调性,而且,队首和队尾都可以进行出队操作,只

2015-07-26 23:18:52 767

原创 HDU 4268 Alice and Bob(贪心+multiset)

HDU 4268题意:Alice与Bob在玩卡片游戏,他们每人有n张卡片,若Alice的一张卡片长与宽都不小于Bob的一张卡片,则Bob的卡片就会被盖住,一张卡片只可以使用一次,且不可旋转求Alice最多可以盖住多少张Bob的卡片。思路:记录两人卡片情况,并按照长度将两人卡片分别降序排序。遍历两人的卡片,将长度小于Alice的卡片长度的Bob卡片的宽度插入multiset中,在multis

2015-07-26 21:55:48 704

原创 UVALive 3971 Assemble(模拟 + 二分)

UVALive 3971题意:有b块钱,想要组装一台电脑,给出n个配件的种类,名字,价格,品质因子。若各种类配件各买一个,总价格思路:求最大的最小值一般用二分法。在(0,maxq)内进行二分,判定q作为最差品质因子是否可行。大白书原题,比较考验代码功底。code:/** @author Novicer* language : C++/C*/#in

2015-07-26 00:01:05 853

原创 HDU 4173 Party Location(计算几何,枚举)

HDU 4173题意:已知n(n思路:不妨先考虑party可能的位置,要尽可能多的邀请到选手参加,则只需考虑party所在位置在某两位住所连线的中点上或某选手住所所在位置,因为这是最大参加party选手数很有可能在的位置。若其他位置能得到最大参加选手数,那么中点或选手住所也一定可得到。//反证法可得,试着画画就ok~那么,只要我们枚举所有中点与选手住所的位置,所能得到的可参加p

2015-07-25 22:15:08 760

原创 HDU 4162 Shape Number(字符串,最小表示法)

HDU 4162题意:给一个数字串(length 思路:第一步是将差分码求出:s[i] = (s[i] - s[i+1] + 8) % 8;第二步是求出最小字典序的循环同构差分码,我之前没注意到字符串规模。。直接用set做,MLE+TLE。。。正确的方式应该是一种O(n)的解法,即最小表示法。//关于最小表示法的证明与详述请参考最小表示法:)最小表示法算法:   初

2015-07-25 21:08:23 551

原创 POJ 1050 To the Max(DP,最大子矩阵和)

POJ 1050题意:给一个矩阵,求出元素和最大的子矩阵。思路:之前曾写过最大子串和的一篇文章,这次由一维上升到了二维。我们可以通过累加每行相同列或每列相同行的值,将其储存在一个数组中,便可以将二维降至一维。时间复杂度为O(n^3)。参考:累加每一行相同列的做法(java实现)累加每一列相同行的做法(C++实现)code:/**Author : F

2015-07-23 16:23:31 853

原创 CodeForces 558C Amr and Chemistry (位运算,数论,规律,枚举)

Codeforces 558C题意:给n个数字,对每个数字可以进行两种操作:num*2与num/2(向下取整),求:让n个数相等最少需要操作多少次。分析:计算每个数的二进制公共前缀.枚举法亦可。/**Author : Flint_x *Created Time : 2015-07-22 12:33:11 *File name : whust2_L.cpp */#

2015-07-23 00:51:50 1115

原创 POJ 2479 Maximum sum & POJ 2573 Max Sequence (DP,最大连续子串和)

POJ 2479题意:给一个数列,求任意两个子序列的包含元素的和的最大值,两个子序列无公共部分。思路:dp1[i]表示第一个元素a[1]到a[i]的最大子段和,状态转移方程是dp1[i] = max(dp1[i-1]+a[i],a[i]);//不理解最大子段和方程的可以参考最大子段和问题dp2[i]表示末一个元素a[n]到a[i]的最大子段和,状态转移方程是dp2[i] = max

2015-07-21 23:33:28 973

原创 HDU 4135 Co-prime (容斥原理)

题目戳这里题意:求一个区间[a,b]中有多少个与n互素的数。思路:这道题是容斥原理的模板题之一,容斥原理请参考容斥原理详述,很好的一篇文章。[a,b]中与n互素的数目可转化为[1,b]-[1,a-1]的数目。给出整数n和r。求区间[1;r]中与n互素的数的个数的方法:解决它的逆问题,求不与n互素的数的个数。   考虑n的所有素因子pi(i=1…k)在[1

2015-07-20 19:43:21 691

原创 HDU4149 Magic Potion(位运算)

题目请戳这里题意:给出x1,x2,x3,x4,x5,x6,x7,x8与某值m进行异或运算后的结果,再给出x1~x8之和与m进行异或运算后的结果sum,求m.思路:根据位运算特性来做,由于m最大为32位,我们可以从最低位依次来推理得到,用x>>i&1来取右数第i-1位的值。假设二进制右起第一位是1,算出所有xi的右起第一位二进制结果,累加得到tmp,比较tmp与sum的最右位,符合则

2015-07-20 18:59:18 1088 1

原创 CodeForces 399C Cards (数论)

题目请戳这里题意简单不予赘述,说做法。有一个容易证明的结论,x1+x2+...+xn为定值,当任意xi等于x1~xn的均值时,x1^2+x2^2+...+xn^2等于最小值。所以我们要尽可能使‘x'不连续。附上官方题解公式:1. Maximize the value of x12 + x22 + ... + xp2 where x1 + x2 + ... + xp 

2015-07-19 22:02:43 656

二分查找教程

二分查找ppt教学演示,内附代码,来自武汉大学

2014-10-11

空空如也

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

TA关注的人

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