L_0_Forever_LF的专栏

曾是一个OIer

BZOJ4369: [IOI2015]teams分组

将一个人(A,B)视作一个二维平面上的点,则一个小组k可以看作是[0,k]x[k,+∞]的一个矩形 对于每个询问,我们从小到大处理k,每次将当前的可行区域内最低的那些点分配给k,对于不可行或之前取过的点的矩形区域,我们维护他们的拐点,这些拐点从左到右高度递减,用一个单调栈维护,查询矩形内点数可以...

2018-06-18 21:48:36

阅读数:69

评论数:0

BZOJ3585: mex

实际这题只需要考虑<=n的值 区间mex有两个经典做法,一个是莫队+对权值分块,另一个就是主席树 我们对1~i建立主席树,位置j维护1~i中,j最后一次出现的位置 查询l rl rl~r时,在第rrr棵主席树上找到第一...

2018-05-07 11:01:40

阅读数:39

评论数:0

Codeforces 765F. Souvenirs

每次询问一个区间内任意两个数差值绝对值的最小值 不妨考虑一个位置iii,他和哪些位置j(j<i)j(j<i)j(j< i)匹配可能更新区间的答案 这里只考虑a[i]>a[j]a[i]...

2018-04-17 21:25:45

阅读数:61

评论数:0

BZOJ3946: 无聊的游戏

将初始字符串和添加的字符串按照添加顺序 逆序 拼成一个大串S,那么一个串可以被表示成S[l1~r1]+S[l2~r2]… 我们维护height[i]=LCP(s[i-1],s[i]),L~R的LCP=min{ height[L+1~R] } 每次在L~R前面添加一个串T时,L+1~R的heig...

2018-03-18 19:44:37

阅读数:113

评论数:0

Codeforces 911G. Mass Change Queries

填坑计划 1/∞

2018-03-12 10:51:41

阅读数:124

评论数:0

Codeforces 815D. Karen and Cards

给出n张卡片,每张卡片有三个属性值ai,bi,ci,求对于n张卡片里的每张卡片都有至少2项属性值严格大于他的卡片有多少种 官方题解写的非常吼呀qaq,图文并茂,非常建议直接去看官方题解Link 我简单的说一下吧 我们先考虑只有一张卡片的情况 枚举c,那么对于一个确定的c,我们可以画出一个函...

2018-03-05 20:43:43

阅读数:78

评论数:0

BZOJ2434: [Noi2011]阿狸的打字机

阿狸的打字过程实际上是在建一个trie树,对这棵trie建立ac自动机的fail树后,问第x个串在第y个串中出现了多少次,相当于问y串有多少个前缀,在fail树中位于x的子树里 到这里其实好像离线一下就可以了?但还有另一种资瓷在线询问的做法 我们不可能对y串的每个前缀处理,因为这个trie树的...

2018-02-21 15:50:25

阅读数:67

评论数:0

BZOJ4017: 小Q的无敌异或

对于第一问求所有区间异或和的和,将二进制位拆位考虑,对于每一位,就是求有多少个区间这一位有奇数个1,这个东西可以dp[i][0/1]表示i为右端点的区间,有偶数/奇数个1的左端点个数 对于第二问求区间和的异或和 先拆位,二进制第k位为1相当于和在Mod 2k+1Mod\ 2^{k+1}下>...

2018-01-24 13:32:55

阅读数:258

评论数:0

BZOJ3867: Nice boat

每次区间改成一个数,或者所有>=x的数和一个数x取gcd 和一个数取gcd大概log次就取成1了 又有区间覆盖 线段树维护一下这个区间是不是全部相同,全部相同就一起改否则递归下去暴力改 复杂度大概是nlog^2的? code: #include #include #inclu...

2018-01-15 21:45:22

阅读数:86

评论数:0

BZOJ3862: Little Devil I

肯定是树剖做分析一下3种操作 1:翻转一条链,直接翻 2:翻转与一条链相邻的边 可以发现,与一条链相邻的边中,是与父亲相连的边只有顶端的那一条,这一条可以直接暴力翻转,然后我们重新定义与链相连的边是链上每个点和儿子相邻的边中不在链上的边 考虑链上每个点和儿子的边,按轻重分类,对于轻边,我们...

2018-01-13 09:54:42

阅读数:117

评论数:0

BZOJ3718: [PA2014]Parking

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

2017-12-15 09:51:13

阅读数:124

评论数:0

BZOJ3711: [PA2014]Druzyny

orz考虑dp,f[i]表示1~i至多分成几段,g[i]表示1~i分成f[i]段的方案数 转移的时候将c[i],d[i]的限制分开考虑 对于d[i]的限制,不难发现他有单调性,可以预处理L[i]表示L[i]~i-1的j满足d[i]的限制可以由j转移到i 然后考虑c[i]的限制,他没有单调性,...

2017-12-15 09:26:52

阅读数:299

评论数:0

BZOJ1135: [POI2009]Lyz

似乎是hall定理的经典模型贪心的想,对于人的任意一个集合,肯定编号是连续的l~r一段更容易使匹配不合法 写成柿子就是∑ri=lsi>(d+r−l+1)k\sum_{i=l}^rsi>(d+r-l+1)k 把l,r移项,令ci=si−kci=si-k 柿子可以化为∑ri=lci&...

2017-12-11 16:28:19

阅读数:114

评论数:0

BZOJ4059: [Cerc2012]Non-boring sequences

右端点扫过去,用线段树每个左端点,区间内只出现一次的数的数目code:#include<set> #include<map> #include<deque> #include<queue> #include<stack> #include...

2017-12-06 21:18:34

阅读数:102

评论数: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

BZOJ4539: [Hnoi2016]树

WA到哭qwq 插入的点本身就在模板树上时不用找子树内第k大qwq我们将每次插入的一棵子树看作一个块,那么在模板树上插入块,最后的大树会有n+m块 插入时如果接上去的父亲不在模板树上,二分找到接在哪一个块p上,再用主席树找p对应模板树的子树内第k大,从而找到接在块p对应模板树里的哪个节点fa上...

2017-12-04 21:04:49

阅读数:134

评论数:0

BZOJ4408: [Fjoi 2016]神秘数

考虑处理单组询问 一开始ans=1,每次统计<=ans的数的和sum,若sum>=ans,就用sum+1更新ans 最坏情况下,ans的更新是1,2,3,5,8….是斐波拉契数列 所以ans最多更新log次 用主席树资瓷统计区间<=ans数的和 每次询问log^2 总...

2017-12-04 10:11:06

阅读数:269

评论数:0

BZOJ4515: [Sdoi2016]游戏

传送门(这篇写得比我好qwq s到t的链可以拆成两条纵链 令dis[x]表示x到根的距离 对于一条纵链上的一个点x,添加的数就可以看成 (dis[x]-dis[t])* k+b =dis[x]*k-dis[t]*k+b =k*dis[x]+B 很像直线的表达式y=kx+b 树剖,问...

2017-12-01 20:59:41

阅读数:204

评论数:0

BZOJ3526: [Poi2014]Card

一开始没读懂题意以为操作之间互不影响….然后写了个长长的st表WA了..用a[i][0/1]代表第i个卡片的正反面,线段树上每个点维护一个v[0/1][0/1]表示这个区间左右卡片的状态,在这个状态下这个区间是否能合法code:#include<set> #include<map...

2017-11-23 18:28:54

阅读数:94

评论数:0

ARC080 E - Young Maids

要求串q的字典序最小,那我们倒着,考虑最后插入q开头的字符在p串中的位置x,y(x< y),发现x一定是奇数下标的最小值,y一定是x之后,偶数下标最小值 同时这次操作后,会将区间分为(l,x-1),(x+1,y-1),(y+1,r) 维护个堆,每次取出第一位最小的,将它分裂,找分裂区间的...

2017-10-08 11:30:22

阅读数:247

评论数:0

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