自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 ightoj 1011 状态压缩dp

题目大意:n个男的,n个女的,mat(i, j)表示第i个男的和第j个女的婚配的满意度?,求最大的满意度,一夫一妻………………思路:题目可以转化为给定一个矩阵,求每行各取一个元素列不能冲突的和最大是多少。因为要每行一个元素列不能冲突,所以暴力显然不行,理所当然想到状态压缩dp,事实上买这算是自己第一次独立做状态压缩dp的题目。因为n最大为16,所以可以用一个16位的二进制表示哪一列的数被取了。

2016-01-31 12:19:37 302

原创 runtime error 扩栈

有时递归太多会re,然而你并不能找到错误,此时手动扩栈就好了,在代码中加一句话:#pragma comment(linker, "/STACK:102400000,102400000")

2016-01-30 13:44:14 278

原创 lightOJ1005 组合数学

题目大意:给你一个n*n象棋棋盘,k个车,问有多少种方法使他们不相互攻击。思路:看代码。#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace s

2016-01-29 15:49:04 264

原创 51nod1109 01组成的倍数 数据结构

题目:给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示,是由0和1组成的。求最小的M。例如:N = 4,M = 100。Input输入1个数N。(1 Output输出符合条件的最小的M。Input示例4Output示例100思路:因为n比较大,

2016-01-25 13:20:13 865 1

原创 51nod 1640 天气晴朗的魔法 prime队列+最小生成树+最大生成树+邻接表

题目:51nod魔法学校近日开展了主题为“天气晴朗”的魔法交流活动。N名魔法师按阵法站好,之后选取N - 1条魔法链将所有魔法师的魔力连接起来,形成一个魔法阵。魔法链是做法成功与否的关键。每一条魔法链都有一个魔力值V,魔法最终的效果取决于阵中所有魔法链的魔力值的和。由于逆天改命的魔法过于暴力,所以我们要求阵中的魔法链的魔力值最大值尽可能的小,与此

2016-01-24 20:27:52 885

原创 51nod 1050 循环数组最大子段和

题目:N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的序列)。当所给的整数均为负数时和为0。例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。

2016-01-24 11:39:31 1109

原创 51nod1393 01串相等 思维

题目:给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。Input一个字符串,只包含01,长度不超过1000000。Output一行一个整数,最长的0与1的个数相等的子串的长度。Input示例1011Output示例2思路:dp[i][0]记录前i个字符中0的个数,dp[i][1]

2016-01-24 10:58:01 423

原创 输入输出外挂

输入输出特别大师用一下。#include #include #include #include #include using namespace std; //适用于正负整形数 template inline bool scan_d(T &ret) { char c; int sgn; if (

2016-01-21 19:38:52 446

原创 51nod1441 士兵的数字游戏 分解质因子

题目大意:两个士兵正在玩一个游戏,游戏开始的时候,第一个士兵为第二个士兵选一个正整数n。然后第二个士兵要玩尽可能多的轮数。每一轮要选择一个正整数x>1,且n要是x的倍数,然后用n/x去代替n。当n变成1的时候,游戏就结束了,第二个士兵所得的分数就是他玩游戏的轮数。为了使游戏更加有趣,第一个士兵用 a! / b! 来表示n。k!表示把所有1到k的数字乘起来。那么第

2016-01-21 19:36:47 338

原创 51nod1670 打怪兽 期望,数学

题目大意:lyk在玩一个叫做“打怪兽”的游戏。游戏的规则是这样的。lyk一开始会有一个初始的能量值。每次遇到一个怪兽,若lyk的能量值>=怪兽的能量值,那么怪兽将会被打败,lyk的能量值增加1,否则lyk死亡,游戏结束。若怪兽全部打完,游戏也将会结束。共有n个怪兽,由于lyk比较弱,它一开始只有0点能量值。n个怪兽排列随机,也就是说共有n!种可能,lyk想知道结

2016-01-21 15:54:35 429

原创 51nod1495 中国好区间 思维

题目大意:阿尔法在玩一个游戏,阿尔法给出了一个长度为n的序列,他认为,一段好的区间,它的长度是>=k的,且该区间的第k大的那个数,一定大于等于T。那么问题来了,阿尔法想知道有多少好的区间。由于阿尔法的序列长度实在是太大了,无法在规定时间内读入。他想了一个绝妙的方法。读入a[0],b,c,p,则a[i]=(a[i-1]*b+c)mod p。

2016-01-21 13:12:22 521

原创 51nod 1631 线段树

题目大意:鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学。并依靠算法方面的特长,在班里担任了许多职务。每一个职务都有一个起始时间A和结束时间B,意为小鲨鱼在[A, B]时间内,担任了某职务(inclusively)。现在给定小鲨鱼的职务履历表,你可以高效的给出小鲨鱼在某天担任了哪些职务吗?p.s. 由于小鲨鱼担任的职

2016-01-20 20:19:52 454

原创 whuoj1574 第K小数

题目大意:给定一个长度为n的数,随意去掉其中的一个数,共有n个数,求其中第k小的数思路:因为只去其中的一个数,所以比较相邻的两个数,就可以确定大小,若左边大于右边,则去掉右边的数肯定比去掉左边的数小,所以给定up=n,down=1.若遇到右边一位大与左边,去掉此位所得的数字的顺序是的up--大,相反,若小于,则是第down++大。若左边等于右边,则一直找下去,找到第一位和他不相等的数进行比较,

2016-01-20 14:06:26 347

原创 lightOj 1004 数塔

题目大意:类似于数塔,求在一个菱形里每行选一个数的最大值。。。。选的数据必须相邻,,具体看题目思路:每个状态都有上一行的状态决定,当前位置在上一行的位置的基础上选一个最大值即可。。#include #include #include #include #include #include #include #include #include #include #i

2016-01-17 16:46:35 260

原创 hdu5493 线段树

题目大意:n个人,知道每个人的身高,还有他前面或者后面比他高的人数。问原队列最小字典序的身高,不可能输出impossible。思路:重点是想到线段树,找他前面或者后面的空位能不能有那么多,若不能则直接不可能。每次更新时找arr[i].num和n-i-arr[i].num的最小值去更新,保证字典序最小。#include #include #include #include #

2016-01-11 15:05:36 214

原创 oracle Net manger配置网络服务

配置数据库服务,然后连接1、打开netmanger

2016-01-08 21:33:19 1295

原创 hdu5501 背包+贪心

题目大意:给你n到题目,t分钟时间,没到题目初始分数为a,每分钟减小分数为b,做出来需要c分钟。问最多能得多少分。思路:刚开始以为是01背包,背了半天发现背不动……还应该加个贪心的策略才可以。怎样贪心呢?就是说如果先做A题,那么B题总被扣分数C1可以算出来。同理,先做B,那么A题的总被扣分数C2也可以算出来。如果C2 > C1,那么就先做A,因为这样在得分才能最大化。即做题顺序必定有个最优的。

2016-01-06 19:52:07 318

原创 hdu3449 依赖背包

题目大意:给定n个盒子以及每个盒子可以装的物品,买物品必须先买其对应的盒子。现在已知盒子的价格、所有物品的价格和价值,给你w元,问能够得到的最大价值。思路:01背包,但是有依赖,所以是依赖背包。用两次01背包即可。每个盒子可以装的物品用一次01背包,将盒子当成一个大物品,在进行01背包即可,具体看代码,不难懂#include #include #include #includ

2016-01-05 20:07:41 347

原创 cf 484B 二分+贪心

题目大意: 给定序列a , 求a[i] % a[j] 得最大值(a[i] > a[j])思路:最接近a[j]倍数的a[i]肯定更靠近最大答案,所以枚举所有a[j]倍数,二分找到最靠近倍数的数,然后比较即可。刚开始只找了2a[j],,显然单纯了。。#include #include #include #include #include #include #include

2016-01-05 15:32:52 352

原创 hdu5410 完全背包+01背包

题目大意:给定背包容量m,物品种类n,每种物品的重量w[i],还有卖的数量x对应的价值a[i]*x+b[i],求最大的价值。思路:01背包选好第一个物品,即确定价值量a[i]+b[i],然后完全背包走一遍,每次价值加a[i]。。。注意数组开的大小,dp[m]而不是dp[n].#include #include #include #include #include #inc

2016-01-05 11:23:07 566

原创 poj2229

题目大意:给你一个数n,只能用2的幂次求和组成,问总共有多少种方案,答案保留九位数。n思路1:递推。因为每个数n的答案ans[n]都是由ans[n-(1思路2:dp。每个状态dp[i]可有两种状态得来,一种是dp[i] = dp[i-1] , 另一种是(dp[i-1) + dp[i>>1])得来。前者是i为奇数时的状态转移,后者是偶数时。对于奇数i来说,是(i-1)增加了1,而且除

2016-01-05 10:40:25 744

原创 hdu1677 转换LIS

题目大意:将小的布娃娃套进大的布娃娃总共需要多少个布娃娃。思路:按宽度作为第一关键字升序排列,高度作为第二关键字降序排列,则高度的LIS就是所求的解。因为宽度是高到低,所以前面的必定能被LIS序列里面的某个数套进去,还有因为20 10不能套进20 10.所以在求LIS是不能用lower_bound(),因为lower_bound()求得是他所处位置但是在等于他本身那个数字的前面。所以要用upp

2016-01-04 21:29:59 404

原创 hdu 5489 LIS变形(删掉连续区间)

题目大意:给定一个序列长度为n,从中去掉长度为l的连续的序列,求剩余序列中的LIS,去掉的序列起始位置随意思路:LIS变形,只要枚举去掉的所有区间就可以了,最大长度等于以区间右边第一个元素开始的LIS+区间左边的小于右边第一个元素的LIS-1.右边的直接逆序求LIS即可。左边的常规LIS。左边的需要计算arr[i+l]在a[1……i]中的最大LIS就是我说的那个加法的后半部分。

2016-01-04 17:17:15 395

cug2015ACM集训数学进阶部分题解

ACM数学进阶题解 ,思路很好。保存起来,方便以后使用

2015-07-17

空空如也

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

TA关注的人

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