蓝桥杯 游园安排
    
            
摘要:性质1:每个名字长度不超过10 性质2:名字总数不超过十万个 性质3:排序后名字必须按预约顺序排序 性质4:排序后名字必须单调递增(严格) 性质5:不存在重名(性质4,去除重复名字) 性质6:总是优先选择名字最小的游客 性质7:排序后游客数量尽量多 性质8:支持O(n)(性质2、性质1) 解法1:考
        
阅读全文
 
        
            
    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没有那
        
阅读全文
 
        
            
    AW297 赤壁之战(数据结构优化DP)
    
            
摘要:题目地址 基本思路: 权值树状数组. 状态设计: f[子序列长度][当前位数](严格递增子序列数量). 易错点: 初始化时需要设置f[0][0]=1. 每个独立的数字都只会影响到比它更大的数字. 预处理时的sort保证了整个算法的正确性.
        
阅读全文
 
        
            
    二维偏序——常见问题解答
    
            
摘要:一、定义 对于每个点i,都可能有另外一些点的x、y坐标均小于等于点i的x、y坐标,这些点的数量即为点i的二维偏序值. 在图1中,点A的二维偏序值为1,B的二维偏序值为2,点C的二维偏序值为0. 在图2中,点A与点B的二维偏序值均为0. 二、具体过程 为什么要按照第一维排序:对于每个点,显然只有它前面
        
阅读全文
 
        
            
    关于树状数组的几点总结
    
            
摘要:零、树状数组的基本概念 1.概念: 树状数组是一种支持对数列进行快速的区间操作(如:区间编号为1~10的值统一增加某个数)的数据结构。 2.实现原理: 二进制加法 位运算 补码和原码 (第一个决定了这个数据结构的理论有效性,第二和第三个决定了具体实现) 3.特性: 如果观察树状数组的结构,可以发现:
        
阅读全文
 
        
            
    【模板】树状数组
    
            
摘要:树状数组1(单点修改,区间查询): 题目地址 #include<cstdio> #include<iostream> using namespace std; int n,c[500010]; int lowbit(int x){ return x&-x; } void add(int x,int 
        
阅读全文