自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我的博客简介

这个博客主要是给我自己查阅资料的。 从今天开始,希望我能够一直坚持写下去。

2015-10-08 16:53:19 322

原创 离线查询区间颜色种数 bzoj1878 HH的项链 bzoj1293

对于每一种颜色记录下次出现该颜色的位置next 将区间按照左界升序排序 先将每种颜色的第一次出现点权值赋值为1(其余为0) 扫过1-n 若i为区间左界ans=sum(l,r)             若i权值为1 next【i】=1     i=0 区间和用树状数组(我不会就用的线段树) 此题相当于我们维护了从 i 开始每种颜色的第一次出现位置 bzoj1293 求包

2015-10-23 19:39:11 342

原创 BZOJ1150 数据备份

首先一定取的每一段都连接着相邻的楼 我们可以每次取最小的一段用堆维护 但是这样发现过不了样例,因为一栋楼只能被连接一次 考虑样例 转化为2 1 2 6中取俩个但不能相邻 在取1的时候可以加入2+2-1=3 以后取3表示不取1取两边 重点是边境 边界同样要考虑 比如1 2 3 4 取完1以后加入1显然是有问题的(少加了个数)

2015-10-22 14:40:19 358

原创 NOI2008 志愿者招募

Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 布布通过了解得知,一共有M 类志愿者可以招募。其中第i 类可以从第Si 天工作到第Ti 天,招募费用是每人Ci 元。新官上任三把火,为了出色地完成自己的工作

2015-10-19 20:43:11 549

原创 bzoj1096 仓库建设

Description L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。由于地形的不同,在不同工厂建立仓库的费用可能是不同的。第i个工厂目前已

2015-10-19 18:11:14 291

原创 关于DP的单调队列优化和斜率优化区别

单调队列优化:         dp[i]=dp[j]+f[i]      i-j有范围     队列一维维护i 的位置(i-j有范围) 另一维维护dp【i】(最值)     注意有范围啊 i-j 有范围 斜率优化:         dp[i]=dp[j]+f[i]*f[j]         说白了  k 可以更新 i   但不一定能更新 j   因为与i j 本身有关 遇到O

2015-10-16 19:02:51 257

转载 NIM 博弈游戏

桌面上有三行硬币,每一行中分别有a1、a2、a3个硬币,其中a1、a2、a3是可以任意指定的正整数。两个人轮流拿走硬币,每一次只能从某一行中拿走任意多个硬币,谁拿走最后一枚硬币谁就赢了。 比如说a1=1,a2=2,a3=3的情况吧,这时如果轮到我拿了,我可以从第三行拿走2枚硬币,或者可以把第三行的三枚硬币全都拿走,等等;但是我不能同时从第一行和第三行里各拿走1枚硬币。这个简单的情况,可以枚举

2015-10-14 19:33:21 283

原创 superoj925 hello

题意 30分 强行枚举每一位给A或B  O(2^(2n)) 100分 dp 因为分配每一位,在记录下前几位给A,前几位给B时的最优解,是不受后面元素影响的       所以可以DP      dp【i】【j】表示i位给A  j位给B   (总位数i+j)的最优解 dp[i][j]=max(dp[i-1][j]+a[i+j]*js[i],dp[i][j-1]+a[i+j]*js[j]);

2015-10-14 17:23:08 225

转载 BZOJ水题

RunID User Problem Result Memory Time Code_Length 695765 Eolv 1000 Accepted 804 kb 0 ms 118 B 739478 Eolv 2463 Accepted 804 kb 0 ms 134 B 696662 Eolv 1968 Accepted

2015-10-13 21:58:25 460

转载 bzoj1003 物流运输trans

题目大意:给定一个无向图,运输n天,其中有些天有些点不能走,更换路线代价为k,求代价总和 首先令cost[i][j]为第i天到第j天都走同一路线的最小花销 这个用SPFA处理 然后就是动规的问题了 令f[i]为1~i天的最小花销 则f[i]=min{ f[j]+cost[j+1][i]+k } ( 0 注意m和n别写反 乘天数之前要特判是不是正无穷 我自己的代码

2015-10-13 20:48:48 367

转载 BZOJ1045 糖果传递

转载~~ 环形纸牌分配问题 前段时间TYVJ的某场模拟赛好似有这个题、、模型就是环形的均分纸牌、、 这个题目其实主要是数学分析啦、、 从线性的均分纸牌出发、令a[i]为纸牌树,k为每堆的目标牌数、 记p[i]=k-a[i]+p[i-1] 含义就是第i堆需要从后一堆拿的纸牌、 那么对p数组求和就是答案了、 对这个环形的、我们这样考虑、 记sum[i]=

2015-10-13 17:36:45 257

原创 NOI2014 动物园

KMP补充:   next【i】表示 1--i 的最长后缀等于前缀   next【next【i】】 表示 1--i 的次长后缀等于前缀 题解:每个i 枚举所有next【i】 next【next【i】】。。。。。求小于长度 i/2 的个数 强行枚举next  50分 因为next【i】一定小于 i 所以建next【i】为 i 的爸爸 ,形成一个有根树,求每个节点的祖先有多少个小于

2015-10-13 17:27:05 357

原创 superoj725 工作分配

DP斜率优化 一行代码一行泪啊 不等式正负。。。 /* WA N次原因: 1 不等式移向是没注意正负(!!!!!负数变号啊) 2 除法除数不能为0。。。 */ /* WA N次原因: 1 不等式移向是没注意正负(!!!!!负数变号啊) 2 除法除数不能为0。。。 */ #include #include #include #include #

2015-10-13 17:23:54 444

转载 DP斜率优化

转载~~ 我们知道,有些DP方程可以转化成DP[i]=f[j]+x[i]的形式,其中f[j]中保存了只与j相关的量。这样的DP方程我们可以用单调队列进行优化,从而使得O(n^2)的复杂度降到O(n)。   可是并不是所有的方程都可以转化成上面的形式,举个例子:dp[i]=dp[j]+(x[i]-x[j])*(x[i]-x[j])。如果把右边的乘法化开的话,会得到x[i]*x[

2015-10-12 19:49:28 310

原创 superoj922 树形图计数

给边,点 求所有(包含所有点)的树的方案数 n 分析:     直接混dfs,bfs不好实现,因为是树,所以只要找每个节点的爸爸就行了。     枚举root,然后枚举每个节点的爸爸。     因为是树,所有爸爸不能有环,要维护。 我的错误方法:     直接模拟维护,记录一个点的所有儿子,连爸爸时把儿子传个爸爸。     错因:传给爸爸时我只传了一层,俩层的祖先没有收到,仍会成

2015-10-12 17:30:37 761

原创 superoj921 编译优化

分析:         此题为一个环,告诉你环上的权值,求最大选择和; 选择要求:选了A,与A相邻的俩个元素就不能选。 数据 60% n=5000        100% n=200000 我65分dp 60% dp        dp[i][j]=max(dp[i-1][j],dp[i-2][j-1]+a[i]);        再多旋转几圈防止1和n冲突           复

2015-10-12 16:46:46 302

原创 noi oj7627 鸡蛋的硬度

dp题 因为每次扔鸡蛋都有俩中情况:碎 不碎 碎了 就要搜索更矮的高度和少一个鸡蛋 不碎 搜索更高的高度,鸡蛋数不变 dp方程  dp[j][i]=min(dp[j][i],max(dp[k-1][i-1],dp[j-k][i])+1); 错误方程:dp[j][i]=min(dp[j][i],max(dp[k][i-1],dp[j-k][i]+1)); 因为k点已经搜过了 要从

2015-10-09 14:52:44 1166

原创 中国剩余定理

x=a1 (mod m1) 模数m互质 M=m1*m2*……*m(n) Mi=M/mi ti为Mi在模mi下的逆元(Mi*ti=1 mod mi) x=sum(ai * ti *Mi) i=1--n x=x mod M       此情况M内解数唯一 模数m不互质 合并方程 以i=1,2为例 m1*k1=a2-a1  (mod m2)     解出k1的最小非负整数解 d=g

2015-10-09 10:39:27 286

原创 逆元简析

定义    A*B=1 (MOD P)    B^(-1)为逆元 用处 模意义下的除法    模意义下的加减乘法都可以先模(减法注意是否为负 为负加P)    除法:A=(C/B)mod p 即 A=C*(B^-1) MOD P       求法 扩展欧几里得(p随意)ax+by=c 即BA+kP=1 求B             快速幂(p为质数 因为费马小定理:a^(p

2015-10-09 10:10:53 347

原创 superoj495 不要62(未完成)

题目背景 HDU2089 题目描述 杭州人称那些傻乎乎粘嗒嗒的人为 62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有 4 或 62 的号码。例如:62315 73418 88914 都属于不吉利号码。但是,6

2015-10-08 22:56:00 282

原创 noi2014 起床困难综合症(未完成)

分析: 对于每个2进制位的数字经过处理得到的ans都是确定的 于是我们可以从高位开始,优先ans max和选0 进行数位DP 代码暂无。。。

2015-10-08 22:48:48 355

原创 superoj779 柠檬的密码

题目描述 Lemon 觉得他需要一个复杂的密码来保证他的帐号的安全。他经过多日思考,决定使用一个长度为奇数的回文串来作为他的密码。 但是这个回文串太长了,Lemon 记不住,于是 Lemon 决定把它记在本子上。当然直接把密码明文记录实在太愚蠢了,于是 Lemon 决定在记录时加入一些无意义的字符以保证密码的安全。 具体来说,假设 Lemon 的密码串是 S ,Lemon 选择了一个不超

2015-10-08 22:11:42 479

原创 superoj800 食物链

同类例题:关押罪犯

2015-10-08 22:03:25 381

原创 superoj755 魔棒

题目描述 有一个英雄,初始生命值是 hp(生命值无上限),在接下来的 n 秒内,每秒会受到一次伤害,第 i 秒受到的伤害值为 a[i]。 这个英雄有一个道具“魔杖”,魔杖的初始能量为 0 ,每受到一次伤害,积攒一点能量。在英雄受到伤害后,可以立即释放魔棒中的能量,回复 15*[能量点数] 的生命值,且魔棒的点数清零。释放能量有施法间隔 cd(cd是正整数),即相邻的两次释放的时间间隔至少有

2015-10-08 20:56:25 408

原创 superoj754 游戏

概率DP

2015-10-08 20:44:08 204

原创 superoj738 诸葛亮

题目: xpp 每天研究天文学研究哲学,对于人生又有一些我们完全无法理解的思考。 在某天无聊学术之后,xpp 打开了http://web.sanguosha.com,准备用他心爱的诸葛亮虐人。进入了八人身份局,作为一位主公,xpp 果断选了诸葛亮,用诸葛亮挑7人。 xpp 为什么喜欢诸葛亮这个武将呢?因为观星是个很牛逼的技能。 观星——回合开始阶段,你可以观看牌堆顶的X张牌(X为存活角色的

2015-10-08 20:27:05 425

原创 superoj732 砝码称重

折半搜索:另一例题 superoj753 统计方案

2015-10-08 20:15:54 301

原创 superoj520 圆排列

题目描述 有 N 个人顺时针围在一圆桌上开会,他们对身高很敏感。 因此决定想使得任意相邻的两人的身高差距最大值最小。如果答案不唯一,输出字典序最小的排列,指的是身高的排列。 输入格式 多组数据。 第一行:一个整数 T(1 每组测试数据格式如下: 第一行: 一个整数 N(3 第二行, 有个 N 整数,  第 i 个整数表示第i个人的身高 hi(1 输出格式

2015-10-08 20:09:30 398

原创 superoj441 餐巾计划

题目描述 一个餐厅在相继的 N 天里,每天需用的餐巾数不尽相同。假设第 i 天需要 ri 块餐巾(i=1,2,…,N) 。餐厅可以购买新的餐巾,每块餐巾的费用为 p 分;或者把旧餐巾送到快洗部,洗一块需 m 天,其费用为 f 分;或者送到慢洗部,洗一块需 n 天(n>m) ,其费用为s(s 每天结束时,餐厅必须决定将多少块脏的餐巾送到快洗部,多少块餐巾送到慢洗部,以及多少块保存起来延期送洗

2015-10-08 19:48:31 279

原创 noip提高组2014 飞扬的小鸟

DP 用可重复背包优化 代码较长 注意细节 #include #include #include #include #include #include #include #include #include using namespace std; int shang[10010]; int xia[10010]; int up[10010]; int down[10010]; int f[10

2015-10-08 19:39:37 357

原创 NOIP提高组2006 金明的预算方案

背包升级版 附带从属关系 因为从属关系很少 所以强行把儿子绑在爸爸上dp 故必须dp俩维 dp[局数][代价] 把儿子方案们放在同一局,由上一局转移,使其不能相互影响 #include #include #include #include #include #include #include #include using namespace std; int i,j,k,ans,s,n,

2015-10-08 19:22:20 494

原创 最小生成树prim

prim

2015-10-08 19:15:36 251

原创 superoj913 mst

picks

2015-10-08 19:06:34 232

原创 superoj912 resistance

picks

2015-10-08 18:54:23 516

原创 superoj909 bbj

picks

2015-10-08 18:49:06 271

原创 superoj907 walk

picks

2015-10-08 18:42:39 228

原创 superoj906 flood

picks

2015-10-08 18:30:07 219

原创 superoj887 set

picks

2015-10-08 17:26:28 239

原创 bzoj1001 【beijing2006】狼抓兔子

平面图最小割问题

2015-10-08 16:50:26 452

空空如也

空空如也

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

TA关注的人

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