- 博客(39)
- 收藏
- 关注
原创 离线查询区间颜色种数 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 368
原创 BZOJ1150 数据备份
首先一定取的每一段都连接着相邻的楼我们可以每次取最小的一段用堆维护但是这样发现过不了样例,因为一栋楼只能被连接一次考虑样例转化为2 1 2 6中取俩个但不能相邻在取1的时候可以加入2+2-1=3以后取3表示不取1取两边重点是边境边界同样要考虑比如1 2 3 4取完1以后加入1显然是有问题的(少加了个数)
2015-10-22 14:40:19 383
原创 NOI2008 志愿者招募
Description申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 布布通过了解得知,一共有M 类志愿者可以招募。其中第i 类可以从第Si 天工作到第Ti 天,招募费用是每人Ci 元。新官上任三把火,为了出色地完成自己的工作
2015-10-19 20:43:11 576
原创 bzoj1096 仓库建设
DescriptionL公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。由于地形的不同,在不同工厂建立仓库的费用可能是不同的。第i个工厂目前已
2015-10-19 18:11:14 312
原创 关于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 276
转载 NIM 博弈游戏
桌面上有三行硬币,每一行中分别有a1、a2、a3个硬币,其中a1、a2、a3是可以任意指定的正整数。两个人轮流拿走硬币,每一次只能从某一行中拿走任意多个硬币,谁拿走最后一枚硬币谁就赢了。比如说a1=1,a2=2,a3=3的情况吧,这时如果轮到我拿了,我可以从第三行拿走2枚硬币,或者可以把第三行的三枚硬币全都拿走,等等;但是我不能同时从第一行和第三行里各拿走1枚硬币。这个简单的情况,可以枚举
2015-10-14 19:33:21 320
原创 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 251
转载 BZOJ水题
RunIDUserProblemResultMemoryTimeCode_Length695765Eolv1000Accepted804 kb0 ms118 B739478Eolv2463Accepted804 kb0 ms134 B696662Eolv1968Accepted
2015-10-13 21:58:25 481
转载 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 389
转载 BZOJ1045 糖果传递
转载~~环形纸牌分配问题前段时间TYVJ的某场模拟赛好似有这个题、、模型就是环形的均分纸牌、、这个题目其实主要是数学分析啦、、从线性的均分纸牌出发、令a[i]为纸牌树,k为每堆的目标牌数、记p[i]=k-a[i]+p[i-1] 含义就是第i堆需要从后一堆拿的纸牌、那么对p数组求和就是答案了、对这个环形的、我们这样考虑、记sum[i]=
2015-10-13 17:36:45 279
原创 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 376
原创 superoj725 工作分配
DP斜率优化一行代码一行泪啊不等式正负。。。/* WA N次原因: 1 不等式移向是没注意正负(!!!!!负数变号啊) 2 除法除数不能为0。。。*//* WA N次原因: 1 不等式移向是没注意正负(!!!!!负数变号啊) 2 除法除数不能为0。。。*/#include#include#include#include#
2015-10-13 17:23:54 459
转载 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 352
原创 superoj922 树形图计数
给边,点求所有(包含所有点)的树的方案数n分析: 直接混dfs,bfs不好实现,因为是树,所以只要找每个节点的爸爸就行了。 枚举root,然后枚举每个节点的爸爸。 因为是树,所有爸爸不能有环,要维护。我的错误方法: 直接模拟维护,记录一个点的所有儿子,连爸爸时把儿子传个爸爸。 错因:传给爸爸时我只传了一层,俩层的祖先没有收到,仍会成
2015-10-12 17:30:37 782
原创 superoj921 编译优化
分析: 此题为一个环,告诉你环上的权值,求最大选择和;选择要求:选了A,与A相邻的俩个元素就不能选。数据 60% n=5000 100% n=200000我65分dp60% dp dp[i][j]=max(dp[i-1][j],dp[i-2][j-1]+a[i]); 再多旋转几圈防止1和n冲突 复
2015-10-12 16:46:46 329
原创 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 1204
原创 中国剩余定理
x=a1 (mod m1)模数m互质M=m1*m2*……*m(n)Mi=M/miti为Mi在模mi下的逆元(Mi*ti=1 mod mi)x=sum(ai * ti *Mi) i=1--nx=x mod M 此情况M内解数唯一模数m不互质合并方程以i=1,2为例m1*k1=a2-a1 (mod m2) 解出k1的最小非负整数解d=g
2015-10-09 10:39:27 313
原创 逆元简析
定义 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 391
原创 superoj495 不要62(未完成)
题目背景HDU2089题目描述杭州人称那些傻乎乎粘嗒嗒的人为 62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有 4 或 62 的号码。例如:62315 73418 88914 都属于不吉利号码。但是,6
2015-10-08 22:56:00 302
原创 noi2014 起床困难综合症(未完成)
分析:对于每个2进制位的数字经过处理得到的ans都是确定的于是我们可以从高位开始,优先ans max和选0进行数位DP代码暂无。。。
2015-10-08 22:48:48 374
原创 superoj779 柠檬的密码
题目描述Lemon 觉得他需要一个复杂的密码来保证他的帐号的安全。他经过多日思考,决定使用一个长度为奇数的回文串来作为他的密码。但是这个回文串太长了,Lemon 记不住,于是 Lemon 决定把它记在本子上。当然直接把密码明文记录实在太愚蠢了,于是 Lemon 决定在记录时加入一些无意义的字符以保证密码的安全。具体来说,假设 Lemon 的密码串是 S ,Lemon 选择了一个不超
2015-10-08 22:11:42 500
原创 superoj755 魔棒
题目描述有一个英雄,初始生命值是 hp(生命值无上限),在接下来的 n 秒内,每秒会受到一次伤害,第 i 秒受到的伤害值为 a[i]。这个英雄有一个道具“魔杖”,魔杖的初始能量为 0 ,每受到一次伤害,积攒一点能量。在英雄受到伤害后,可以立即释放魔棒中的能量,回复 15*[能量点数] 的生命值,且魔棒的点数清零。释放能量有施法间隔 cd(cd是正整数),即相邻的两次释放的时间间隔至少有
2015-10-08 20:56:25 425
原创 superoj738 诸葛亮
题目:xpp 每天研究天文学研究哲学,对于人生又有一些我们完全无法理解的思考。在某天无聊学术之后,xpp 打开了http://web.sanguosha.com,准备用他心爱的诸葛亮虐人。进入了八人身份局,作为一位主公,xpp 果断选了诸葛亮,用诸葛亮挑7人。xpp 为什么喜欢诸葛亮这个武将呢?因为观星是个很牛逼的技能。观星——回合开始阶段,你可以观看牌堆顶的X张牌(X为存活角色的
2015-10-08 20:27:05 443
原创 superoj520 圆排列
题目描述有 N 个人顺时针围在一圆桌上开会,他们对身高很敏感。 因此决定想使得任意相邻的两人的身高差距最大值最小。如果答案不唯一,输出字典序最小的排列,指的是身高的排列。输入格式多组数据。第一行:一个整数 T(1每组测试数据格式如下:第一行: 一个整数 N(3第二行, 有个 N 整数, 第 i 个整数表示第i个人的身高 hi(1输出格式
2015-10-08 20:09:30 410
原创 superoj441 餐巾计划
题目描述一个餐厅在相继的 N 天里,每天需用的餐巾数不尽相同。假设第 i 天需要 ri 块餐巾(i=1,2,…,N) 。餐厅可以购买新的餐巾,每块餐巾的费用为 p 分;或者把旧餐巾送到快洗部,洗一块需 m 天,其费用为 f 分;或者送到慢洗部,洗一块需 n 天(n>m) ,其费用为s(s每天结束时,餐厅必须决定将多少块脏的餐巾送到快洗部,多少块餐巾送到慢洗部,以及多少块保存起来延期送洗
2015-10-08 19:48:31 287
原创 noip提高组2014 飞扬的小鸟
DP 用可重复背包优化代码较长 注意细节#include#include#include#include#include#include#include#include#includeusing namespace std;int shang[10010];int xia[10010];int up[10010];int down[10010];int f[10
2015-10-08 19:39:37 374
原创 NOIP提高组2006 金明的预算方案
背包升级版附带从属关系因为从属关系很少 所以强行把儿子绑在爸爸上dp故必须dp俩维 dp[局数][代价] 把儿子方案们放在同一局,由上一局转移,使其不能相互影响#include#include#include#include#include#include#include#includeusing namespace std;int i,j,k,ans,s,n,
2015-10-08 19:22:20 515
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人