• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Object_S

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | | 管理

随笔分类 -  数据结构 -- 树状数组

 
蓝桥杯 游园安排
摘要:性质1:每个名字长度不超过10 性质2:名字总数不超过十万个 性质3:排序后名字必须按预约顺序排序 性质4:排序后名字必须单调递增(严格) 性质5:不存在重名(性质4,去除重复名字) 性质6:总是优先选择名字最小的游客 性质7:排序后游客数量尽量多 性质8:支持O(n)(性质2、性质1) 解法1:考 阅读全文
posted @ 2022-05-07 12:00 Object_S 阅读(50) 评论(0) 推荐(0)
Panasonic Programming Contest 2021(AtCoder Beginner Contest 231) F Jealous Two
摘要:已知问题 1.第一次看题的时候以为可以给任意一人送任意个礼物,且礼物可以重复送,想不出解法。 2.没有注意到N*A[i]=10^14,那么必须开long long才能统计下来。 题解 题目要求对于A的每一个喜欢的礼物,对于B来说都有一些比这些礼物更好的礼物,但是这些B喜欢的礼物里,只能给B送A没有那 阅读全文
posted @ 2021-12-15 21:51 Object_S 阅读(64) 评论(0) 推荐(0)
AW297 赤壁之战(数据结构优化DP)
摘要:题目地址 基本思路: 权值树状数组. 状态设计: f[子序列长度][当前位数](严格递增子序列数量). 易错点: 初始化时需要设置f[0][0]=1. 每个独立的数字都只会影响到比它更大的数字. 预处理时的sort保证了整个算法的正确性. 阅读全文
posted @ 2019-09-19 12:44 Object_S 阅读(175) 评论(0) 推荐(0)
二维偏序——常见问题解答
摘要:一、定义 对于每个点i,都可能有另外一些点的x、y坐标均小于等于点i的x、y坐标,这些点的数量即为点i的二维偏序值. 在图1中,点A的二维偏序值为1,B的二维偏序值为2,点C的二维偏序值为0. 在图2中,点A与点B的二维偏序值均为0. 二、具体过程 为什么要按照第一维排序:对于每个点,显然只有它前面 阅读全文
posted @ 2019-06-06 21:24 Object_S 阅读(459) 评论(0) 推荐(2)
关于树状数组的几点总结
摘要:零、树状数组的基本概念 1.概念: 树状数组是一种支持对数列进行快速的区间操作(如:区间编号为1~10的值统一增加某个数)的数据结构。 2.实现原理: 二进制加法 位运算 补码和原码 (第一个决定了这个数据结构的理论有效性,第二和第三个决定了具体实现) 3.特性: 如果观察树状数组的结构,可以发现: 阅读全文
posted @ 2018-11-25 22:06 Object_S 阅读(157) 评论(0) 推荐(0)
【模板】树状数组
摘要:树状数组1(单点修改,区间查询): 题目地址 #include<cstdio> #include<iostream> using namespace std; int n,c[500010]; int lowbit(int x){ return x&-x; } void add(int x,int 阅读全文
posted @ 2018-11-20 21:39 Object_S 阅读(87) 评论(0) 推荐(0)