博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: "题目链接" 无优化版本(170行): cpp / 首先树剖可以维护树上的链Sum、Max 可以对每个宗教建一棵线段树,那这题就很好做了 不过10^5需要动态开点 (不明白为什么nlogn不需要回收就可以 不是每个Insert加log个节点?) 操作修改完更改原数列!盲人。。 / include i 阅读全文
posted @ 2018-02-10 21:45 SovietPower 阅读(163) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 异或只有两种情况,可以将序列放到01Tire树上做 在不异或的情况下在Tire上查找序列的mex很容易,从高位到低位 如果0位置上数没有满,则向0递归;否则向1 (0位置上的数都满了 即 其子树叶子节点都有值) 异或情况下 若x在当前位有1,则反转0/1继续走 由于异或具有 阅读全文
posted @ 2018-02-10 16:10 SovietPower 阅读(261) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 有一片n亩的土地,要在这上面种草。 在每一亩土地上都种植了一种独一无二的草,其中,第$i$亩土地的草每天会长高$a[i]$厘米。 一共会进行$m$次收割,其中第$i$次收割在第$d[i]$天,并把所有高度大于等于$b[i]$的部分全部割去。求每次收割得到的草 阅读全文
posted @ 2018-02-10 13:46 SovietPower 阅读(268) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 或者 "这" 吧。。 被数据坑了 cpp / 操作按左端点排个序 依次进行即可 不是很懂 为什么不写Build 而在Add时改mp[rt]=p 会WA(too short on line 251..) 找到Reason了。。Modify下界写错 那么为什么单点修改正确性会被下界影响。。 阅读全文
posted @ 2018-02-10 08:47 SovietPower 阅读(355) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 首先考虑询问[1,n]怎么做 设 f[i][0/1]表示[1,i]以0/1结尾的不同子序列个数 则 $if(A[i]) f[i][1] = f[i 1][0] + f[i 1][1] + 1 , f[i][0] = f[i 1][0]$ $\ \ if(!A[i]) f[i][0] = 阅读全文
posted @ 2018-02-10 08:05 SovietPower 阅读(196) 评论(0) 推荐(0) 编辑