L_0_Forever_LF的专栏

曾是一个OIer

BZOJ3863: The Revenge of the Princess’ Knight

一个环,把他分割成恰好k段,使字典序最大的段最小 可以旋转 这题和code festival 2017 qual B 的F挺像的 不过那题是给你字符,让你随便拼,这题倒着理解是把环上相邻的字符拼在一起直到剩下k段 但是贪心的思想是类似的 把一开始的所有字符视作一个串Si,把这n个串和他们...

2018-01-13 10:18:05

阅读数:114

评论数:0

BZOJ3850: ZCC Loves Codefires

考虑最优的顺序满足什么性质 设两个部件A,B顺序为A在B前面,费用分别是a,b,耗时ta,tb,中间部分费用和S,耗时和T 如果最优顺序中A在B前面(A,B前后的部件显然不需要考虑),则有 ata+Sta+b(ta+T+tb)<btb+Stb+a(tb+T+ta)at_a+St_a...

2018-01-03 14:15:47

阅读数:114

评论数:0

BZOJ3725: PA2014 Final Matryca

一开始看错题了qaq因为对每个位置都要刷一遍,对于不同颜色的位置i,j(i< j),长度要保证刷到i的格子不会刷到j,即j-i>n-L,显然只要用相邻的不同颜色限制长度,得出若干个关于L的不等式,可以解得L的最小值code:#include<set> #include<...

2017-12-19 09:43:50

阅读数:97

评论数:0

BZOJ3721: PA2014 Final Bazarek

要求和为奇数,就是选奇数个奇数,任意个偶数 将n个数按奇偶分类,f[i],g[i]表示取i个数和最大,取了f[i]个奇数,g[i]个偶数,显然都是各自最大的f[i],g[i]个 转移的时候枚举取出的是奇数还是偶数,从i-2,i-1转移到icode:#include<set> #in...

2017-12-17 20:55:51

阅读数:124

评论数:0

BZOJ3718: [PA2014]Parking

因为停车场无限长,贪心的想,肯定是先把堆在一起的车拆开,全部分散开,然后移到对应的位置再组合起来….(匮乏的语文表达能力,泥萌意会一下?所以求出初始状态和目标状态的排列顺序线段树找一下区间最大值判一下是否超过宽度就行了code:#include<set> #include<map...

2017-12-15 09:51:13

阅读数:124

评论数:0

BZOJ3716: [PA2014]Muzeum

首先把给出的视线范围转成向量,建立以这两个向量为基底的平面直角坐标系,每个点得到新的坐标后取反横坐标,变成每个守卫可以看见横坐标比自己小,纵坐标比自己大的手办这个东西似乎对应一个最小割模型,加上所有手办的价值,源连守卫权为贿赂守卫的花费,守卫连他能看见的手办权为inf,手办连汇权为手办的代价,减去...

2017-12-15 09:41:11

阅读数:156

评论数:0

BZOJ1117: [POI2009]救火站Gas

考虑贪心的去放消防站,让每个消防站的层数尽量浅,从而覆盖子树里的点的同时能对子树外产生贡献那么x要放消防站的时候,一定是x的子树里还未被覆盖的最远的点距离x的距离为k,如果这样的点有c个,我们要放⌈cs⌉\lceil \dfrac{c}{s} \rceil个消防站,这些消防站覆盖完了这c个点后,再...

2017-12-11 15:44:47

阅读数:145

评论数:0

BZOJ1124: [POI2008]枪战Maf

发现这是若干个基环内向树和若干个环 最坏情况下: 一个单独的环死剩1个 一个基环内向树死剩入度为0的点 最优情况下,显然按照拓扑序开枪死的人最少,模拟一下就行了注意特判一个单独的自环qwqcode:#include<set> #include<map> #inclu...

2017-12-08 09:39:51

阅读数:113

评论数:0

BZOJ1122: [POI2008]账本BBB

每次取反序列的和改变2,旋转和不变 根据原始序列的和,q-p可以算出至少要取反的次数,如果额外的次数记作花费,产生花费只可能是因为某个前缀和<0 预处理1~i,i~n前缀和的最小值,因为至多旋转n-1次,枚举旋转次数,算粗前缀和最小的位置,保证这个位置>=0就可以保证序列合法,算一...

2017-12-08 09:36:14

阅读数:150

评论数:0

BZOJ2525: [Poi2011]Dynamite

我想O(n)但是好像不太行? 于是二分一下答案 贪心的取标记点,每个标记点让他的层数尽量浅以对其他子树产生贡献 f[i]表示i的子树一定要多少个标记点,g[i]表示i的子树内最浅的标记点的层数,d[i]表示i的子树内未被覆盖的最深的点的层数 贪贪贪,dp一下 有一些细节qwqcode:#...

2017-12-06 21:22:08

阅读数:95

评论数:0

BZOJ4071: [Apio2015]巴邻旁之桥

在河同一边的可以不理他问题就是有若干个人在A侧l位置,要通过桥到B侧r位置 l< r 当K=1时发现答案就是所有l,r的中位数 因为ans=|p−l|+|p−r|ans=|p-l|+|p-r|(好有道理我怎么没发现qwq) 同时这启示我们(观察易得??qwq)当有两个桥时,每个人会选...

2017-12-06 20:55:34

阅读数:155

评论数:0

BZOJ2811: [Apio2012]Guard

先将序列中不可能有忍者的位置标出来 如果剩下的位置恰好有K个,要特判直接全部输出然后将每个区间缩掉两端的0 如果存在某两个区间A,B,A包含B,那么A是不必要的 处理完后剩下的区间两两互不包含,按右端点排序后,从左到右左右端点递增 易知只有每个区间的右端点有可能一定有忍者,因为贪心的放肯定...

2017-12-05 11:14:04

阅读数:106

评论数:0

BZOJ1025: [SCOI2009]游戏

求和不超过n的若干个数,lcm有多少种将lcm分解质因数 lcm=p1^k1*p2^k2…..pm^km 不同质因子显然互不影响 要使lcm含pi^ki这个因子,至少要有一个数含pi^ki这个因子 因为这些数都>1,所以a*b>=a+b 所以贪心的想肯定单独一个pi^ki比较...

2017-12-04 19:48:58

阅读数:128

评论数:0

BZOJ3829: [Poi2014]FarmCraft

贪贪贪的题我都不是很会会啊qwqf[i]代表从i开始走i的子树,最晚装完机的妹子什么时候装完,g[i]代表走完i的子树需要多少时间 对于转移,因为每条边只能走2次,走了一棵子树就一定要走完,对于一棵子树j,f[j]-g[j]是走完这棵子树,装机多出来的空闲时间,肯定要尽量利用这些空闲时间,所以按...

2017-11-25 07:47:59

阅读数:163

评论数:0

BZOJ3728: PA2014Final Zarowki

贪贪贪将一开始的灯泡和房间从小到大排个序 房间倒着处理,每个房间找>=他的功率的还未匹配的最小的灯泡,将他们匹配上 找不到匹配的灯泡一定要花费一次替换,打个标记在上面,先不管他 匹配完房间如果已经不够替换就gg 否则将每个房间匹配的灯泡-他的要求塞进一个大根堆 去掉堆顶的剩余替换次...

2017-11-17 19:54:23

阅读数:165

评论数:0

BZOJ4378: [POI2015]Logistyka

题意看错以为有坐标的限制….赋值0的情况没处理好对于一个询问,每次选c个,拿s次 如果序列中某个元素>=s,每次一定要拿它,设这样的有k个,对于剩下的< s的元素,易证当序列中剩余的数之和>=(c-k)*s时有解,就是个二维偏序问题,离散化+树状数组code:#include&...

2017-09-29 11:23:35

阅读数:98

评论数:0

BZOJ4724: [POI2017]Podzielno

定理:若一个数被B-1整除,则它在B进制下各个位置的和一定能被B-1整除 这里证的挺清楚的 因为要求最大,肯定位数越多越大,注意到每个数的数量>=1,所以若这些数的和不是B-1的倍数,就去掉1个余数,然后弄个前缀和,每个询问二分一下就行了code:#include<set> ...

2017-09-26 16:38:06

阅读数:131

评论数:0

BZOJ1106: [POI2007]立方体大作战tet

转化了个带颜色的括号序列模型….然后不会….题解是贪心…emmmmmmmmmm 好有道理a(不想证了…很对就是了….加入每个颜色时,如果它已经出现过,就让他和上次出现的合并 用树状数组维护距离code:#include<set> #include<map> #inclu...

2017-09-25 16:14:06

阅读数:99

评论数:0

BZOJ3293: [Cqoi2011]分金币

经典贪心设第x人给他右边的人xi个金币,因为最后每个人的金币数ave易知,所以可以得到n个方程: a1+xn-x1=ave a2+x1-x2=ave ….. 设bi=ai-ave 得 x1=xn+b1 x2=x1+b2=xn+b1+b2 …. 设ci=∑ii=1bici=\sum...

2017-03-07 12:58:59

阅读数:198

评论数:0

BZOJ1029: [JSOI2007]建筑抢修

和poi某题题意化简后一样经典贪心:维护一个大根堆,按T2从小到大,对于每个建筑,若能修好就将它塞进堆里,若不行,和堆顶比一下大小,比堆顶小就把堆顶pop出去把它塞进去code:#include<set> #include<map> #include<deque>...

2017-03-06 21:44:42

阅读数:414

评论数:0

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